今天首先学习了监督学习中的分类问题,跑了两个代码。现在学起来感觉机器学习有很多不同的定理建立了不同的分类器,也就是所谓不同的方法。具体的数学原理我不太清楚。然后不同的应用场景有一个最优的分类器。
值得一提的应该就是终于清晰的明白了精度,召回率和F1得分是什么意思。
现在摘抄如下:
假设数据集有100个样本,其中有82个样本是我们感兴趣的,现在想用分类器选出这82个样本。最终,分类器选出了73个样本,它认为都是我们感兴趣的。在这73个样本中,其实只有65个样本是我们感兴趣的,剩下的8个样本我们不感兴趣,是分类器分错了。
可以如下方法计算分类器的精度:
分类正确的样本数量=65
总分类样本数量=73
精度=65/73=89.04%
召回率的计算过程如下:
数据集中我们感兴趣的样本数量=82
分类正确的样本数量=65
召回率=65/82 = 79.26%
一个给力的机器学习模型需要同时具备良好的精度和召回率。这两个指标是二律背反的,一个指标达到100%,那么另一个指标就会非常差!我们需要保持两个指标能够同时处于合理高度。为了量化两个指标的均衡性,引入了F1得分指标,是精度和召回率的合成指标,实际上是精度和召回率的调和均值(harmonic mean):
F1 得分=2×精度×召回率/(精度+召回率)
上面示例中F1得分的计算过程如下:
F1 得分=2×0.89×0.79/(0.89+0.79)=0.8370
还遇到了使用with open时对于子文件夹中的文件相对和绝对路径都无法访问到的问题。但是如果放到第一层文件夹中就可以。问题未知,后续继续学习。
今天学完了第二章,也不算学完了。感觉对于机器学习的认知已经稍微多了那么一点点,过去非得强调机器学习和深度学习的区别就是把它们当成了两个单独的个体。实际上,深度学习是机器学习的一个方向。而机器学习本身是根据不同的应用场景有多种不同的算法的。继续学习,继续深入。