项目背景:

House Prices – Advanced Regression Techniques:这是 Kaggle 上颇受欢迎的经典回归竞赛,挑战你使用高级回归技术(如随机森林、梯度提升树等)来预测房价和练习特征工程。你可以访问该竞赛的概览页面(https://www.kaggle.com/competitions/house-prices-advanced-regression-techniques/overview)了解任务说明、数据集详情与竞赛规则。


目录:

  1. 读入数据 → 读取train/test。

  2. 观察数据 → 可视化数据(分布性质、缺失情况等)及可视化结果分析。

  3. 数据处理 → 对数正态化处理。

  4. 特征工程 → 缺失值处理、构造新特征、构建预处理器(数值和分类分开处理)。

  5. 定义评估指标函数 → RMSE、MAE、R²、MAPE、Accuracy(±10%)。

  6. 构建 Pipeline → 预处理+ LightGBM + log1p 转换。

  7. KFold CV→ 输出每折RMSE、MAE、R²、MAPE、Accuracy(±10%),并计算平均值。

  8. 解释模型 → SHAP可视化特征影响过程并做解释及分析。


具体实现:

1.导入需要的工具包并读入数据


import numpy as np
import pandas as pd
import shap
from pathlib import Path
import lightgbm as lgb
import xgboost as xgb
from scipy import stats
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.pipeline import Pipeline
from sklearn.impute import SimpleImputer
from sklearn.linear_model import Ridge, Lasso
from sklearn.ensemble import RandomForestRegressor
from sklearn.compose import ColumnTransformer, TransformedTargetRegressor
from sklearn.model_selection import KFold, cross_val_score, GridSearchCV
from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score
from sklearn.preprocessing import StandardScaler, RobustScaler, OneHotEncoder
DATA = Path(r'E:\book\8.1预测model\回归预测模型')  # 改成你本地路径
train = pd.read_csv(DATA / 'train.csv')
test = pd.read_csv(DATA / 'test.csv')
submission = pd.read_csv(DATA / 'sample_submission.csv')


数据存放位置如下:

模型解释性的部分结果:

接下来的具体代码及结果可视化和模型解释性都放在了文章中(包含所有代码及示例数据)

Python回归预测建模(可复现,附全部代码、注释及示例数据集,House Prices+LightGBM+模型可解释性)

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐