数据挖掘-二手车价格预测 Task04:建模调参
数据挖掘-二手车价格预测 Task04:建模调参
模型调参部分
利用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))
定义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
参考链接:https://blog.csdn.net/ExcaliburUlimited/article/details/105260194
https://blog.csdn.net/hinker/article/details/105243306
数据挖掘-二手车价格预测 Task04:建模调参相关推荐
- 【算法竞赛学习】二手车交易价格预测-Task4建模调参
二手车交易价格预测-Task4 建模调参 四.建模与调参 Tip:此部分为零基础入门数据挖掘的 Task4 建模调参 部分,带你来了解各种模型以及模型的评价和调参策略,欢迎大家后续多多交流. 赛题:零 ...
- #数据挖掘--第3章:建模调参之支持向量机SVM初体验
#数据挖掘--第3章:建模调参之支持向量机SVM初体验 序言:本系列博客面向初学者,只讲浅显易懂易操作的知识. 基础知识准备: 一.我们在进行训练之前,常常要对样本进行归一化.标准化或正则 ...
- 【数据挖掘】心跳信号分类预测 之 建模调参 —— 学习笔记(四)
目录 四.建模调参 4.1 内容简介 4.2 模型原理与性质概述 4.2.1 分类模型 4.2.2 时间序列模型 4.2.3 推荐教材 4.3 模型对比与性能评估 4.3.1 逻辑回归 4.3.2 决 ...
- 数据挖掘二手车价格预测 Task05:模型融合
模型融合是kaggle等比赛中经常使用到的一个利器,它通常可以在各种不同的机器学习任务中使结果获得提升.顾名思义,模型融合就是综合考虑不同模型的情况,并将它们的结果融合到一起.模型融合主要通过几部分来 ...
- 数据挖掘-二手车价格预测 Task03:特征工程
一.特征工程理论: 常见的特征工程包括: 一.导入数据 import warnings warnings.filterwarnings('ignore') import pandas as pd im ...
- 数据挖掘-二手车价格预测 Task02:数据分析
Task02:数据分析 1.EDA数据探索性分析 读取文件 import warnings warnings.filterwarnings('ignore') import pandas as pd ...
- 二手车价格预测-模型stacking融合
模型融合是比赛后期一个重要的环节,大体来说有如下的类型方式. 1简单加权融合: 回归(分类概率):算术平均融合(Arithmetic mean),几何平均融合(Geometric mean): 分类: ...
- 「建模调参」之零基础入门数据挖掘
Datawhale 作者:徐韬 ,Datawhale优秀学习者 摘要:对于数据挖掘项目,本文将学习如何建模调参?从简单的模型开始,如何去建立一个模型:如何进行交叉验证:如何调节参数优化等. 建模调参: ...
- 【零基础入门数据挖掘】-建模调参
Datawhale 作者:徐韬 ,Datawhale优秀学习者 摘要:对于数据挖掘项目,本文将学习如何建模调参?从简单的模型开始,如何去建立一个模型:如何进行交叉验证:如何调节参数优化等. 建模调参: ...
最新文章
- getname java_关于java:只获取类Class.getName()的名称
- Android Camera设置setPreviewCallback实现onPreviewFrame接口实时截取每一帧视频流数据
- dedecms 如何调用多个不同栏目的文章_SEO排名,同一篇文章,在多个栏目,如何处理?...
- 如何学习开源系统有感(一)
- Git远程和分支管理
- android-async-http 源码分析
- delphi 调用dll 整形返回值_VS2015 编写C++ DLL库及C++、 C#、python 调用
- Android 向右滑返回,退出当前activity
- string类的erase函数属于stl吗_探索STL容器:vector
- 闭式系统蒸汽管径推荐速度_空调水系统设计、空调风系统设计要点
- 【图像处理基础知识】python+opencv显示中文
- j2ee中的2什么意思
- flex弹性布局教程-02-容器display设置为flex
- discuz手机端默forum.php,discuz手机wap版模板开发方式简述
- Winform开发框架之通用Windows摄像头调用拍照--SNF快速开发平台3.3-Spring.Net.Framework...
- GTD时间管理学习day01---基本原理
- 设计模式六大原则之--依赖倒置原则(DIP)
- R语言|散点图 ———R语言数据可视化系列(一)
- 移动硬盘,U盘出现USBC病毒乱码恢复的可能性分析
- 汇编:assembly (intel x86/x86_64)