Autogluon集成算法

由于本人都在colab上跑程序,

就不展示具体如何安装这个Autogluon包啦,

网上有文档教

Autogluon厉害在于会自己特征提取

省去了人工预处理的很多时间

本人亲测,将int类型的归一化,str类型的哑变量处理后

跑的效果和没处理的一样

本教程仅是分类任务,其他类型的还得去官网文档好好看看

import pandas as pd
from autogluon.tabular import TabularDataset,TabularPredictor   #把这个包导入进来

 #以kaggle为例子,kaggle的数据一般会给出这两个train,test.csv
train_data = TabularDataset('train.csv') 
test_data = TabularDataset('test.csv')
#如上,这其实就是个pandas的DataFrame

#简单定义一下
#这里按具体数据集来,这里的label指的是要预测的标签,即是y
#在探索数据阶段,找出一些无效的数据,drop掉的数据,也先用列表存起来,
id,label = 'user_id', 'Label'  

#这里就开始run了,antogluon算法用多个分类区训练,输出每个模型的分数
predictor = TabularPredictor(label=label).fit(train_data.drop(columns=[id]))

#这里是预测test的数据,会默认使用最高分的模型去预测
#最后输出‘id’,'label'两列,生成csv文件。当然可按个人需求改输出
preds = predictor.predict(test_data.drop(columns=[id]))
submission = pd.DataFrame({
    
    id:test_data[id],label:preds})
submission.to_csv('submission.csv',index=False)

要想获得更好的效果

可以在源数据上适当预处理一下。

例如有些有些数值型比较大的,可以log一下

import numpy as np
large_val_col = ['A','C','S','G','K']
for i in large_val_col:
train[c] = np.log(train[c] + 1)

就先写这么多,后续有新知识就继续更

猜你喜欢

转载自blog.csdn.net/weixin_44820355/article/details/124710545
今日推荐