Thư viện | Lệnh cài đặt | Mô tả |
---|---|---|
bs4 |
pip install bs4 |
Beautiful Soup |
sklearn |
pip install -U scikit-learn |
scikit-learn |
xgboost |
pip install xgboost |
XGBoost |
Crawl dữ liệu từ 4 trang web
crawl.ipynb
Folder lưu trữ các file dữ liệu thô
raw_data/
Làm sạch đúng kiểu dữ liệu và xử lý dữ liệu trống
clean.ipynb
Folder lưu trữ dữ liệu được làm sạch
clean_data/
Chia bộ dữ liệu thành tập train và test, xử lý ngoại lệ, chuẩn hóa dữ liệu, lựa chọn đặc trưng
feature_engineering.ipynb
Folder lưu trữ các file dữ liệu huấn luyện và kiểm thử
train_test_data/
Xây dựng mô hình dự đoán giá điện thoại
modeling.ipynb
Bộ dữ liệu bao gồm các thông số kỹ thuật, giá bán của điện thoại di động, được thu thập từ:
- Thay thế dữ liệu trống bằng giá trị mean cho dữ liệu dạng số
- Thay thế dữ liệu trống bằng giá trị random cho dữ liệu phân loại
- Chuyển dữ liệu phân loại thành dữ liệu dạng số sử dụng LabelEncoder của sklearn
- Xử lý ngoại lệ sử dụng IQR để tìm biên trên và biên dưới của dữ liệu
- Chuẩn hóa dữ liệu sử dụng StandardScaler của sklearn
- Sử dụng LinearRegression của sklearn
- Cải tiến dùng XGBRegressor của xgboost
- R2
- RMSE
- MAE
Mô hình | R2 | RMSE | MAE |
---|---|---|---|
LinearRegression | 73.17% | 5241.0791 | 3947.1287 |
XGBRegressor | 94.45% | 2383.5217 | 1057.4660 |