1、最后进行独热编码即可。
2、选出所有非object类型的特征值名称,正态化处理,取对数,标准化处理。避免数据炸了,消除量纲差异。
3、筛选出数值型列,null值用平均值填充筛。选出非数值型列,null值用众数填充。
4、建立Xgboost模型,首先使用DMatirx构造出xgboost专属的train和test数据集,用xgb_cv交叉验证来训练xgboost模型求出最佳迭代参数,然后传入xgb.XGBRegressor模型。同理求出预测结果,然后输出模型的mean和std。
5、建立Lasso模型,这里直接传入一些参数lasso会自行选择最佳alpha。同理求出预测结果,然后输出模型的mean和std。
6、模型融合,分别求出ridge、lasso、xgb、xgb_r_l,的预测结果,分别分配权重然后求出融合结果。
7、从all_data中分离出模型训练的train数据和test数据,以及Y标签。
8、建立Ridge模型,先预处理设置alphas通过训练求出最佳的alphas,打出表格查看最佳参数。给Ridge模型传入数据进行训练,求出测试集的答案,并且求expm这是因为前面我们训练的时候把Y标签的数据已经取了log,所以这里要expm回来。然后输出答案为csv文件,然后print看一下Ridge这个模型对本数据的均值mean和标准差std。
9、建立以Xgboost为主ridge、lasso为辅的模型。使用StackingCVRegressor融合xgboost、ridge、lasso,同理求出预测结果,然后输出模型的mean和std。
10、用plt查看散点图,选择对价格影响高的特征值:YearBuilt,YearRemodAdd,GarageYrBlt。但是不能直接用时间,更好的是用房子的售卖时间减去这些初始时间,这样更有参考度。
11、定义均方根误差函数,使用5折交叉验证,去评估模型。