Python机器学习预测算法 - Go语言中文社区

Python机器学习预测算法


Python机器学习核心预测算法

关于本书的学习及上机实现的笔记。

第2章 通过理解数据来了解问题

2.1 解剖一个新问题

note: 机器学习数据集通常对应列一个属性,行对应一个观察,但也有例外。例如,有些文本挖掘问题的数据矩阵就是另外的形式:列对应一个观察,行对应一个属性。
属性(预测因子、特征、独立变量、输入)
标签(结果、目标、依赖变量、响应)

2.1.1 属性和标签的不同类型决定模型的选择

a、数值变量;
b、类别(因子、因素)变量
例如惩罚回归算法只能处理数值变量,SVM、核方法、K最近邻也是同样。第4章将介绍将类别变量转换成数值变量的方法。
当标签是数值的,就叫做回归问题。当标签是类别的,就叫做分类问题。如果分类结果只取2个值,就叫作二元分类问题。如果取多个值,就是多类别分类问题。
可以吧一个回归问题变成二元分类问题。

2.1.2 新数据集的注意事项

需要检查的事项:
1、行数、列数
2、类别变了的数目、类别的取值范围
3、缺失的值:当数据规模较大时,可以直接丢失;当数据规模小特别是生物数据且有多种属性时,需要找到方法把丢失的值填上(遗失值插补),或者使用能够处理丢失数据的算法。
4、属性和标签的统计特性

2.2 分类问题:用声呐发现未爆炸的水雷

2.2.1 “岩石 vs. 水雷”数据集的物理特性

 运行时出现问题
  row = line.strip(' ').split(",")
  TypeError: a bytes-like object is required, not 'str'
  原因:Python3和Python2 在套接字返回值解码上有区别,需要decode(‘utf8’)
  具体解释参考链接:https://blog.csdn.net/NockinOnHeavensDoor/article/details/78765781
  https://www.fujieace.com/python/str-bytes.html 

由程序 rockVmineSummaries.py 得到
sonar 数据集规模
另外一个重要的观察,如果数据集的列数远远大于行数,那么采用惩罚线性回归的方法则有很大可能获得最佳预测,反之亦然。
由程序 rockVmineContents.py 可以确定哪些列是数值型的,哪些列是类别型的。分析结果:前60列是数值型,最后一列都是字符串。这些字符串值是标签。
在这里插入图片描述确定每个属性的特征
try…except…else…是Python中异常处理的方法,
详见(https://www.runoob.com/python/python-exceptions.html)

2.2.1 “岩石 vs. 水雷”数据集的统计特征

由程序 rVMSummaryStats.py 得到该数据集的统计特征,

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_32795481/article/details/96151053
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢