首页 > 其他分享 >汽车交易情况分析及价格预测4_模型融合

汽车交易情况分析及价格预测4_模型融合

时间:2023-05-13 10:47:45浏览次数:35  
标签:val Stacking 模型 融合 汽车交易 train Strak subA test

一、加权融合

def Weighted_method(test_pre1,test_pre2,test_pre3,w=[1/3,1/3,1/3]):
Weighted_result = w[0]*pd.Series(test_pre1)+w[1]*pd.Series(test_pre2)+w[2]*pd.Series(test_pre3)
return Weighted_result

## Init the Weight
w = [0.3,0.4,0.3]

## 测试验证集准确度
val_pre = Weighted_method(val_lgb,val_xgb,val_gbdt,w)
MAE_Weighted = mean_absolute_error(y_val,val_pre)
print('MAE of Weighted of val:',MAE_Weighted)

## 预测数据部分
subA = Weighted_method(subA_lgb,subA_xgb,subA_gbdt,w)
print('Sta inf:')
Sta_inf(subA)

## 生成提交文件
sub = pd.DataFrame()
sub['SaleID'] = X_test.index
sub['price'] = subA
sub.to_csv('./sub_Weighted.csv',index=False)

 

## 与简单的LR(线性回归)进行对比
val_lr_pred = model_lr.predict(x_val)
MAE_lr = mean_absolute_error(y_val,val_lr_pred)
print('MAE of lr:',MAE_lr)

 

Starking融合

 第一层

train_lgb_pred = model_lgb.predict(x_train)
train_xgb_pred = model_xgb.predict(x_train)
train_gbdt_pred = model_gbdt.predict(x_train)

Strak_X_train = pd.DataFrame()
Strak_X_train['Method_1'] = train_lgb_pred
Strak_X_train['Method_2'] = train_xgb_pred
Strak_X_train['Method_3'] = train_gbdt_pred

Strak_X_val = pd.DataFrame()
Strak_X_val['Method_1'] = val_lgb
Strak_X_val['Method_2'] = val_xgb
Strak_X_val['Method_3'] = val_gbdt

Strak_X_test = pd.DataFrame()
Strak_X_test['Method_1'] = subA_lgb
Strak_X_test['Method_2'] = subA_xgb
Strak_X_test['Method_3'] = subA_gbdt

Strak_X_test.head()

 

第二层

model_lr_Stacking = build_model_lr(Strak_X_train,y_train)
## 训练集
train_pre_Stacking = model_lr_Stacking.predict(Strak_X_train)
print('MAE of Stacking-LR:',mean_absolute_error(y_train,train_pre_Stacking))

## 验证集
val_pre_Stacking = model_lr_Stacking.predict(Strak_X_val)
print('MAE of Stacking-LR:',mean_absolute_error(y_val,val_pre_Stacking))

## 预测集
print('Predict Stacking-LR...')
subA_Stacking = model_lr_Stacking.predict(Strak_X_test)

 

 

subA_Stacking[subA_Stacking<10]=10 ## 去除过小的预测值

sub = pd.DataFrame()
sub['SaleID'] = X_test.index
sub['price'] = subA_Stacking
sub.to_csv('./sub_Stacking.csv',index=False)

print('Sta inf:')
Sta_inf(subA_Stacking)

 

标签:val,Stacking,模型,融合,汽车交易,train,Strak,subA,test
From: https://www.cnblogs.com/0chenxian0/p/17396870.html

相关文章

  • 汽车交易情况分析及价格预测3_搭建模型
    一、线性回归sample_feature=sample_feature.dropna().replace('-',0).reset_index(drop=True)sample_feature['notRepairedDamage']=sample_feature['notRepairedDamage'].astype(np.float32)train=sample_feature[continuous_feature_names......
  • 汽车交易情况分析及价格预测2_特征工程
    一、特征构造#训练集和测试集放在一起,方便构造特征train['train']=1test_data['train']=0data=pd.concat([train,test_data],ignore_index=True,sort=False)增加新特征:使用时间data['used_time']=(pd.to_datetime(data['creatDate'],format='%Y%m%......
  • 汽车交易情况分析及价格预测1_EDA
    一、数据简介二手车交易记录,训练集数据15万条,测试集数据5万条。包括交易ID、汽车交易名称、汽车注册日期、车型编码、汽车品牌、车身类型、汽车已行驶公里、报价类型、二手车交易价格等信息。同时会对name、model、brand和regionCode等信息进行脱敏。name-汽车编码regDate......
  • 《花雕学AI》34:用13种Prompt玩转AI聊天机器人—揭秘ChatGPT模型
    引言:聊天机器人是一种能够通过自然语言进行交流的智能系统,它可以模仿人类的对话方式,提供各种信息、服务或娱乐。随着人工智能技术的发展,聊天机器人的应用越来越广泛,从电商、教育、医疗、旅游等领域,到社交、游戏、文学等领域,都可以看到聊天机器人的身影。聊天机器人不仅可以给用户......
  • 视觉大模型DINOv2:自我监督学习的新领域
    如果你对自监督学习感兴趣,可能听说过Facebook人工智能的DINO(无标签知识蒸馏)。我们在以前的文章中也介绍过它。DINOv2不仅是一个新版本而且带来了新的改进,并为判别性自监督学习设定了更高的标准。当然公司的名字也从Facebook变为了Meta。本文将介绍DINOv2是如何改进的,以及这些进......
  • 使用讯飞模型学习Excel VLOOKUP的一次体验
    提问1:EXCELVLOOKUP回答1:VLOOKUP是Excel中的一种查找函数,用于在一个表格中查找某个值,并返回该值所在行的指定列的值。其语法如下:```VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup])```其中:-lookup_value:要查找的值。-table_array:要在其中进行查找的......
  • FPGA读写IIC驱动源码,源码包含iic驱动,testbench以及eeprom模型。
    FPGA读写IIC驱动源码,源码包含iic驱动,testbench以及eeprom模型。该代码已经下板验证通过。ID:17100653395566310......
  • 03 加载模型
    一、AssimpAssimp可以将模型导成如下的格式:首先,该模型被打包成一个scene对象,是aiScene类型的,一般是导出为指向常量的指针。在scene中保存着三个对象:第一个是一个aiNode类型的指针,即根节点scene->mRootNode。第二个是一个aiMesh*类型的数组,即scene->mMeshes。保存着所有mesh......
  • 钢管订购和运输模型——Python实现
    要铺设一条\(A_1→A_2→…→A_{15}\)的输送天然气的主管道,如图所示。经筛选后可以生产这种主管道钢管的钢厂有\(S_1,S_2,…,S_7\)。图中粗线表示铁路,单细线表示公路,双细线表示要铺设的管道(假设沿管道或者原有公路,或者建有施工公路),圆圈表示火车站,每段铁路、公路和管道旁的......
  • 什么是人工智能领域模型的 temperature 参数?
    在人工智能领域中,温度参数(temperatureparameter)是指在生成式模型中使用的一种技术,可以用于控制生成结果的多样性和随机性。温度参数通常用于一种叫做“softmax”概率分布的算法中,该算法被广泛应用于生成式模型中,包括机器翻译、自然语言处理和图像生成等领域。在softmax算法中,温......