강의

멘토링

로드맵

[Làm gì sau giờ làm] Chứng chỉ Phân tích Dữ liệu lớn - Kỳ thi thực hành (Dạng bài tập 1, 2, 3)

Chúng tôi sẽ hướng dẫn cách để những người không chuyên hoặc người mới bắt đầu có thể nhanh chóng lấy được chứng chỉ thực hành Phân tích Dữ liệu lớn (Big Data Analysis)! Lý thuyết nhẹ nhàng, thực hành chắc chắn – không cần kiến thức nền tảng phức tạp, chúng ta sẽ tập trung học những điểm mấu chốt chắc chắn xuất hiện trong kỳ thi thông qua các câu hỏi đã từng ra.

(4.9) 871 đánh giá

5,671 học viên

Độ khó Nhập môn

Thời gian 12 tháng

Engineer Big Data Analysis
Engineer Big Data Analysis
Big Data
Big Data
Python
Python
Pandas
Pandas
Machine Learning(ML)
Machine Learning(ML)
Engineer Big Data Analysis
Engineer Big Data Analysis
Big Data
Big Data
Python
Python
Pandas
Pandas
Machine Learning(ML)
Machine Learning(ML)
roadmap님의 프로필 이미지

Đã chỉnh sửa

Tổng hợp mã nguồn Loại 2 (Học toàn bộ, khuyến nghị sử dụng tham số mặc định)

Phần bạn cần chú ý kỹ trong dữ liệu lần này là

  1. Đây là phần huấn luyện trên toàn bộ dữ liệu (chú thích số 5). Tôi đã thêm mã huấn luyện toàn bộ sau khi so sánh. Hãy cùng so sánh kết quả nhé!

  2. Các tham số (class_weight, siêu tham số, v.v.) không phải cứ thêm vào hoặc thay đổi là sẽ tốt lên. Bạn phải trực tiếp dùng tập kiểm chứng (validation set) để

    Bạn phải so sánh để quyết định có áp dụng hay không.
    Trong tình huống đi thi, nếu cảm thấy mơ hồ khi quyết định các tham số thì hãy cứ để giá trị mặc định (trạng thái không thiết lập). Sự ổn định có vẻ sẽ quan trọng hơn!
    Việc nhất thiết phải huấn luyện toàn bộ dữ liệu cũng rất tốt!



  1. Tôi đã cập nhật các câu hỏi thực hành loại 2 trên Coding Pang (https://code.sideonai.com/).

  2. Tôi đã thêm lightgbm vào tất cả mã nguồn trong phần bài giảng Big Data Analysis Engineer. (

image.png




Tôi xin hướng dẫn dòng cơ sở (baseline) cho bài tập thực hành loại 2 trên Coding Pang. Phần EDA đã được lược bỏ.


Câu số 1

import pandas as pd

# 1) Tải dữ liệu
train = pd.read_csv('data/car_train.csv')
test = pd.read_csv('data/car_test.csv')


# 2) One-hot encoding cho các biến phân loại 
target = train.pop('target')

print(train.shape, test.shape)
train = pd.get_dummies(train)
test = pd.get_dummies(test)
print(train.shape, test.shape)

# 3) Chia dữ liệu kiểm chứng (So sánh hiệu suất trước khi nộp)
from sklearn.model_selection import train_test_split
X_tr, X_val, y_tr, y_val = train_test_split(train, target, test_size=0.2, random_state=0, stratify=target)


# 4) Huấn luyện ba mô hình 
from sklearn.ensemble import RandomForestClassifier
rf = RandomForestClassifier(random_state=0)
rf.fit(X_tr, y_tr)
pred = rf.predict(X_val)

from sklearn.metrics import f1_score
print(f1_score(y_val, pred, average='macro'))

from lightgbm import LGBMClassifier
lgb = LGBMClassifier(random_state=0, verbose=-1)
lgb.fit(X_tr, y_tr)
pred = lgb.predict(X_val)
print(f1_score(y_val, pred, average='macro'))

from xgboost import XGBClassifier
xgb = XGBClassifier(random_state=0, verbosity=0)
xgb.fit(X_tr, y_tr)
pred = xgb.predict(X_val)
print(f1_score(y_val, pred, average='macro'))

# 5) Huấn luyện lại mô hình đã chọn trên toàn bộ train và dự đoán test (Tùy chọn)
# lgb.fit(train, target)
# pred = lgb.predict(test)

# 6) Lưu tệp nộp bài (Chỉ 1 cột pred, loại bỏ index)
result = pd.DataFrame({'pred': pred})
result.to_csv('result.csv', index=False)


# Kiểm tra tệp nộp bài
print("\n ===== Tệp nộp bài (Mẫu) =====")
print(pd.read_csv("result.csv").head())

print("\n ===== Tệp nộp bài (Kiểm tra kích thước) =====")
print(pd.read_csv("result.csv").shape)


Câu số 2


import pandas as pd

# 1) Tải dữ liệu
train = pd.read_csv('data/bike_train.csv')
test = pd.read_csv('data/bike_test.csv')

# 2) One-hot encoding cho các biến phân loại 
target = train.pop('count')

print(train.shape, test.shape)
train = pd.get_dummies(train)
test = pd.get_dummies(test)
print(train.shape, test.shape)

# 3) Chia dữ liệu kiểm chứng (so sánh hiệu suất trước khi nộp)
from sklearn.model_selection import train_test_split
X_tr, X_val, y_tr, y_val = train_test_split(train, target, test_size=0.2, random_state=0)

# 4) Huấn luyện ba mô hình
from sklearn.ensemble import RandomForestRegressor
rf = RandomForestRegressor(random_state=0)
rf.fit(X_tr, y_tr)
pred = rf.predict(X_val)

from sklearn.metrics import root_mean_squared_error
print(root_mean_squared_error(y_val, pred))

from lightgbm import LGBMRegressor
lgb = LGBMRegressor(random_state=0, verbose=-1)
lgb.fit(X_tr, y_tr)
pred = lgb.predict(X_val)
print(root_mean_squared_error(y_val, pred))

from xgboost import XGBRegressor
xgb = XGBRegressor(random_state=0, verbosity=0)
xgb.fit(X_tr, y_tr)
pred = xgb.predict(X_val)
print(root_mean_squared_error(y_val, pred))

# 5) Huấn luyện lại mô hình đã chọn trên toàn bộ train và dự đoán test (tùy chọn)
# lgb.fit(train, target) 
# pred = lgb.predict(test)

# 6) Lưu tệp nộp bài (chỉ 1 cột pred, loại bỏ index)
result = pd.DataFrame({'pred': pred})
result.to_csv('result.csv', index=False)

# Kiểm tra tệp nộp bài
print("\n ===== Tệp nộp bài (mẫu) =====")
print(pd.read_csv("result.csv").head())

print("\n ===== Tệp nộp bài (kiểm tra kích thước) =====")
print(pd.read_csv("result.csv").shape)
Bình luận