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 得到该数据集的统计特征,

  • 4
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值