Skip to content

DIYEPH/Beijing_House_Price_Prediction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

  1. Import các thư viện cần thiết:

    • Sử dụng TensorFlow, Pandas, NumPy, sklearn, và matplotlib để hỗ trợ việc xử lý dữ liệu và xây dựng mô hình.
  2. Chuẩn bị dữ liệu:

    • Đọc dữ liệu: Đọc các tệp CSV X_train.csvX_test.csv vào các DataFrame X_trainX_predict.
    • Xử lý cột floor:
      • Tách cột floor thành hai cột floor_type (loại tầng) và floor_number (số tầng).
      • Sử dụng LabelEncoder để mã hóa cột floor_type và điền giá trị trung bình cho floor_number nếu có giá trị thiếu.
    • Xử lý cột livingRoom, drawingRoom, kitchen, bathRoom:
      • Chuyển đổi các cột này sang kiểu số và điền giá trị trung bình nếu có giá trị thiếu.
    • Xử lý cột buildingType:
      • Đổi kiểu cột buildingType thành số nguyên hoặc NaN nếu giá trị không hợp lệ.
    • Xử lý cột constructionTime:
      • Giữ lại các năm hợp lệ trong khoảng từ 1800 đến 2024; các giá trị ngoài khoảng này sẽ được đặt là NaN.
    • Xử lý cột ladderRatio:
      • Kiểm tra điều kiện tỷ lệ thang máy, đặt NaN nếu giá trị vượt quá 1.
    • Xử lý cột tradeTime:
      • Chuyển đổi cột ngày tháng tradeTime thành tradeYear, tradeMonth, và tradeDay.
  3. Chuẩn hóa dữ liệu:

    • Sử dụng StandardScaler cho các cột số (numeric_features) như Lng, Lat, square, followers,...
    • Nếu có cột minmax_features cần chuẩn hóa, sử dụng MinMaxScaler để chuẩn hóa riêng.
  4. Xử lý dữ liệu X_predict:

    • Áp dụng mã hóa và xử lý các cột floor_type, livingRoom, drawingRoom, kitchen, bathRoom, buildingType, constructionTime, ladderRatio, và tradeTime tương tự như với X_train.
    • Chuẩn hóa các cột numeric_featuresminmax_features của X_predict.
  5. Chuẩn bị dữ liệu huấn luyện và kiểm thử:

    • Kết hợp X_trainY_train để tạo thành XY_train_clean.
    • Tách X_trainY_train thành X_learn, X_test, Y_learn, Y_test để huấn luyện và kiểm thử.
  6. Huấn luyện với mô hình Random Forest:

    • Khởi tạo RandomForestRegressor và huấn luyện trên dữ liệu X_learn để tạo ra các dự đoán trung gian y_rf_pred.
  7. Xây dựng và huấn luyện mô hình MLP:

    • Khởi tạo mô hình Sequential với các lớp Dense.
    • Biên dịch mô hình với hàm tối ưu Adam, thiết lập các callback như EarlyStopping và ReduceLROnPlateau.
    • Huấn luyện mô hình trên X_learny_rf_pred, chia tập dữ liệu để đánh giá hiệu quả mô hình.
  8. Đánh giá mô hình:

    • Dự đoán trên X_test và tính các chỉ số MSE, MAE, RMSE, và R² để đánh giá chất lượng mô hình.
  9. Dự đoán và xuất kết quả:

    • Dự đoán trên X_predict, lưu kết quả thành DataFrame, thêm cột ID để xuất ra thành file CSV.
  10. Vẽ biểu đồ phân bố:

    • Sử dụng matplotlib để vẽ biểu đồ phân bố của giá trị dự đoán Y_predict2 nhằm trực quan hóa kết quả.

About

Predicting Beijing housing prices based on raw data.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors