Auto_ML自动机器学习之TPOT——学习笔记(1)

Auto_ML自动机器学习之TPOT——学习笔记(1)

前言

没有python的基础,也不是程序员,而自动机器学习也号称要让我们这些小白会用,遂学之。

TPOT简介

截止目前GitHub上TPOT.项目的星星是最多的(6150),遂用之。

使用环境Windows10 Pycharm Python3.6.8。
安装过程参照手册
遇到特殊情况度娘解决。

入门练习

利用示例可检查安装是否成功,顺便看一下运行思路:导入库——装载数据——将数据划分为训练集与测试集——开始分类训练——拟合——输出得分——输出至py文件。
用起来…好像不是太难…吧

练习

找了一个没有预处理过的例子瞅瞅,TPOT tutorial on the Titanic dataset
额…
容我先研究一下~


训练集是由892行13列组成的,题目要求是根据训练数据,它包括乘客ID、是否存活、几等舱、姓名、性别、年龄、配偶\姐妹在不在、父母\小孩在不在、票号、交通费、房间号、在哪上的船这些数据,在测试集中去预测乘客是否存活,测试集中的类别除了是否生存都包含。将预测的结果保存成文件上传。

  • 教程的数据处理思路是:

先瞅瞅男的活的多还是女的活的多,再瞅瞅1等舱2等舱3等舱中男女的存活数,然后列了个存活率的表,比如说1等舱男的有2%挂了,98%活着呢…

(我觉得就是去分析这个表格,看看哪个与存活率的相关性大)

为了在TPOT中使用,必须将‘Survived’这个名称换成‘class’。

再往下,就找了找那些个没有用纯数字表示的变量,像名字(891类)、性别(2类)、票号(681类)、房间号(148类)、搁哪上的船(4类)这几个object。又看了看这些object中有几类值,比如性别,有男女之分,搁哪上的船有三个地方,其中还有一些不知道搁哪上的船的不知道房间号的等等的缺失值,就用占位符来代替掉。为了都用数字来表示,把男的定为0,女的定为1,三个上船的地方用0、1、2表示。房间号的用 MultiLabelBinarizer处理了一遍,剩下的姓名、票号、房间号(没错就是刚才的房间号)、‘class’(原‘Survived’)都被去掉了,去掉后的矩阵与处理后的房间号用np.hstack添加到了一起。

(我寻思着,应该是将与存活率有关的数据进行了数字化处理与保留,把姓名啊、票号啊这些无关的值扔掉来简化过程,提高以后的运行效率与准确度,至于对房间号的处理方式,一会还要再研究一下什么原因)

好了,到这儿的训练数据已经处理完了,接下来就是使用TPOT了。
将结果保存在py文件中,方便以后调整参数。

  • 开始预测:

读取测试集,首先一定得瞅瞅,这个测试集里的类别有没有新蹦出来的,如果有我们就用占位符来取代它。然后进行与之前的训练集一样的数据处理过程(一顿操作*&……%¥#@¥#!%@#……)期间最好检验数据是否处理正确。将处理后的测试集带入进行预测,输出结果至CSV文件。

还有个地方还不太明白,它在处理训练数据的时候是否存活的数据与其他数据是怎么关联到一起的?它不是把class给扔掉了么。

第二天

对于房间号的处理,应该是认为房间号对存活与否有关系,但是数量较多,于是用了类似独热编码的方式进行处理,将处理结果加到了新训练集之后。
对于存活与否与其他数据的关联,在training_indices, validation_indices = training_indices, testing_indices = train_test_split(titanic.index, stratify = titanic_class, train_size=0.75, test_size=0.25)这句话中,小括号中第一个数是被划分的样本集,但是划分的是样本的索引,第二个数是样本的结果,也就是存活与否。他俩一起划分,结果是样本集的索引被划分,值返回给等号之前的两个数。下面这句tpot.fit(titanic_new[training_indices], titanic_class[training_indices])就是利用划分的样本索引,对应到样本中去,进行拟合。小括号中第一个数是数字化的样本集,第二个数是存活与否。

银行定期存款这个Portuguese Bank Marketing Stratergy- TPOT Tutorial,数据处理过程跟上边一样。望远镜的这个MAGIC Gamma Telescope - TPOT Classification Study大概看了一眼,也是一样。

想找一个与时间序列相关的例子,有没有大神做过?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值