数据挖掘-二手车价格预测 Task04:建模调参

简介: 利用xgb进行五折交叉验证查看模型的参数效果

数据挖掘-二手车价格预测 Task04:建模调参


d91d16b33d367f52305d0812d0f2854e_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0V4Y2FsaWJ1clVsaW1pdGVk,size_16,color_FFFFFF,t_70#pic_center.png


模型调参部分


利用xgb进行五折交叉验证查看模型的参数效果

## xgb-Model
xgr = xgb.XGBRegressor(n_estimators=120, learning_rate=0.1, gamma=0, subsample=0.8,\
        colsample_bytree=0.9, max_depth=7) #,objective ='reg:squarederror'
scores_train = []
scores = []
## 5折交叉验证方式
sk=StratifiedKFold(n_splits=5,shuffle=True,random_state=0)
for train_ind,val_ind in sk.split(X_data,Y_data):
    train_x=X_data.iloc[train_ind].values
    train_y=Y_data.iloc[train_ind]
    val_x=X_data.iloc[val_ind].values
    val_y=Y_data.iloc[val_ind]
    xgr.fit(train_x,train_y)
    pred_train_xgb=xgr.predict(train_x)
    pred_xgb=xgr.predict(val_x)
    score_train = mean_absolute_error(train_y,pred_train_xgb)
    scores_train.append(score_train)
    score = mean_absolute_error(val_y,pred_xgb)
    scores.append(score)
print('Train mae:',np.mean(score_train))
print('Val mae',np.mean(scores))

image.png


定义xgb和lgb模型函数


def build_model_xgb(x_train,y_train):
    model = xgb.XGBRegressor(n_estimators=150, learning_rate=0.1, gamma=0, subsample=0.8,\
        colsample_bytree=0.9, max_depth=7) #, objective ='reg:squarederror'
    model.fit(x_train, y_train)
    return model
def build_model_lgb(x_train,y_train):
    estimator = lgb.LGBMRegressor(num_leaves=127,n_estimators = 150)
    param_grid = {
        'learning_rate': [0.01, 0.05, 0.1, 0.2],
    }
    gbm = GridSearchCV(estimator, param_grid)
    gbm.fit(x_train, y_train)
    return gbm
切分数据集(Train,Val)进行模型训练,评价和预测
## Split data with val
x_train,x_val,y_train,y_val = train_test_split(X_data,Y_data,test_size=0.3)
print('Train lgb...')
model_lgb = build_model_lgb(x_train,y_train)
val_lgb = model_lgb.predict(x_val)
MAE_lgb = mean_absolute_error(y_val,val_lgb)
print('MAE of val with lgb:',MAE_lgb)
print('Predict lgb...')
model_lgb_pre = build_model_lgb(X_data,Y_data)
subA_lgb = model_lgb_pre.predict(X_test)
print('Sta of Predict lgb:')
Sta_inf(subA_lgb)
print('Train xgb...')
model_xgb = build_model_xgb(x_train,y_train)
val_xgb = model_xgb.predict(x_val)
MAE_xgb = mean_absolute_error(y_val,val_xgb)
print('MAE of val with xgb:',MAE_xgb)
print('Predict xgb...')
model_xgb_pre = build_model_xgb(X_data,Y_data)
subA_xgb = model_xgb_pre.predict(X_test)
print('Sta of Predict xgb:')
Sta_inf(subA_xgb)


模型总结


1.线性回归模型

https://zhuanlan.zhihu.com/p/49480391


2.决策树模型

https://zhuanlan.zhihu.com/p/65304798


3.GBDT模型

https://zhuanlan.zhihu.com/p/45145899


4.XGBoost模型

https://zhuanlan.zhihu.com/p/86816771


5.LightGBM模型

https://zhuanlan.zhihu.com/p/89360721


目录
相关文章
|
机器学习/深度学习 数据可视化 算法
【机器学习入门与实践】数据挖掘-二手车价格交易预测(含EDA探索、特征工程、特征优化、模型融合等)
【机器学习入门与实践】数据挖掘-二手车价格交易预测(含EDA探索、特征工程、特征优化、模型融合等)
|
机器学习/深度学习 数据挖掘 算法框架/工具
数据挖掘-二手车价格预测 Task01:赛题理解
赛题以预测二手车的交易价格为任务,数据集来自某交易平台的二手车交易记录,总数据量超过40w,包含31列变量信息,其中15列为匿名变量。为了保证比赛的公平性,将会从中抽取15万条作为训练集,5万条作为测试集A,5万条作为测试集B,同时会对name、model、brand和regionCode等信息进行脱敏。
385 0
数据挖掘-二手车价格预测 Task01:赛题理解
|
数据采集 机器学习/深度学习 数据可视化
数据挖掘导论——分类与预测(三)
数据挖掘导论——分类与预测
262 0
数据挖掘导论——分类与预测(三)
|
数据挖掘
数据挖掘导论——分类与预测(二)
数据挖掘导论——分类与预测
265 0
数据挖掘导论——分类与预测(二)
|
数据挖掘
数据挖掘导论——分类与预测(一)
数据挖掘导论——分类与预测
278 0
数据挖掘导论——分类与预测(一)
|
机器学习/深度学习 数据挖掘 存储
数据挖掘二手车价格预测 Task05:模型融合
模型融合是kaggle等比赛中经常使用到的一个利器,它通常可以在各种不同的机器学习任务中使结果获得提升。顾名思义,模型融合就是综合考虑不同模型的情况,并将它们的结果融合到一起。模型融合主要通过几部分来实现:从提交结果文件中融合、stacking和blending。
193 0
数据挖掘二手车价格预测 Task05:模型融合
|
机器学习/深度学习 存储 数据可视化
数据挖掘-二手车价格预测 Task03:特征工程
数据挖掘-二手车价格预测 Task03:特征工程
164 0
数据挖掘-二手车价格预测 Task03:特征工程
|
数据可视化 数据挖掘
数据挖掘-二手车价格预测 Task02:数据分析
数据挖掘-二手车价格预测 Task02:数据分析
190 0
数据挖掘-二手车价格预测 Task02:数据分析

热门文章

最新文章