机器学习,如何使用MLPClassifier神经网络分类器做预测?
发布于 作者:苏南大叔 来源:程序如此灵动~

目前接触到的机器学习任务都比较简单,基本套路都是处理获取数据,然后一部分作为训练集,一部分作为测试数据。然后应用到不同的机器学习的分类器,先训练然后做识别。如果从宏观上来说的话,套路都比较类似。只是数据分类器不同罢了。那么,本文中说的新的分类器,叫做神经网络分类器MLPClassifier
。

大家好,这里是苏南大叔的程序如此灵动博客,这里介绍苏南大叔和计算机代码的故事。本文描述机器学习中的神经网络分类器MLPClassifier
的简单使用方式。测试环境:win10
,python@3.6.8
,sklearn@0.24.2
。
基本思路
在前面的文章里面,已经学习了两个机器学习的数据分类器。分别是:
这些分类器处理过的模型,可以保存为文件,下次使用的时候,直接加载即可。参考文章:
分类器预测的结果,也可以保存为csv
文件或者xls
文件。参考文章:
准备数据
需求本身准备了两个excel
文件,其中一个data_train.xlsx
用于训练,另外一个data_predict.xlsx
用于预测。
字段有四个,分别是:注册天数,学习时长,金币数量,是否会员。除了“是否会员”外,数据类型上都是整数,否则在使用分类器的时候,会报错。

神经网络分类器(调试参数)
鉴于MLPClassifier
有几个参数,可以先利用已知数据,调整一下参数看看准确度情况。

如果对准确度满意的话,就可以使用对应参数,获得下面的语句:
当然,可以把这个model_MLPClassifier
保存为训练结果文件,以便下次直接使用。
预测结果
如果大家做过多次这种类似的训练的话,就会知道,最终的预测结果实际上也是个概率的问题,只是某种结果的可能性更大而已。如果看预测结果,那么可以使用:

如果想看到预测结果的倾向性,可以使用:
至于这里的两列为啥前面是“非会员”,后面是“会员”。苏南大叔是这么理解的,因为false
和true
,两者还可以用0
和1
来描述。那么,零所代表的false
排序在前面,所以... 如果理解的不对,欢迎留言指正。
相关文章
- https://newsn.net/say/sklearn-multinomialnb.html
- https://newsn.net/say/sklearn-gaussiannb.html
- https://newsn.net/say/python-joblib.html
综述
机器学习的这些分类器框架还是比较成熟简单的,目前来看,这些分类器之间也就是参数的不同,使用方式都是非常雷同的。苏南大叔个人觉得这个预测的过程,就有些像是根据一堆数据盲猜的过程,其实分类器对于某个数字代表什么意思,是大一些比较好,还是小一些比较好,都是无感的。
至于这些分类器的背后,包含着什么样的逻辑,请参考苏南大叔的后续文章。


