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 在套