机器学习作业(第十八次课堂作业)

机器学习作业(第十八次课堂作业)

机器学习作业(第十八次课堂作业)_第1张图片

猜想

对于上述问题, 我首先认为是数据特殊导致。

编程证明

反复更改数据集。减少数据偶然性。

结果

事实是,无论如何更改数据集, sklearn都只显示数据 f1-score。

再猜想

如果恒有上述等式, 意味着FP=FN。

数学证明

结果

FP=FN恒成立。

结论

第一种结论正确。

问题到这里并没有结束

但是 第一种结论正确就意味着第二种不正确吗,第二种也可以对结果进行完美解释。如果想要理解清楚sklearn为何只显示一个, 最好办法就是看sklearn是如何定义classification_report。
sklearn源码链接
sklearn对于classification_report实现

sklearn官方解释

机器学习作业(第十八次课堂作业)_第2张图片

sklearn官方举例

机器学习作业(第十八次课堂作业)_第3张图片
‘micro’: 设置average='micro’时,Precision = Recall = F1_score = Accuracy。
注意:这是正确的, 微查准率、微查全率、微F1都等于Accuracy。
下例中为什么不等于?因为预测中有几个0,出现错误了(举一个通俗一点的例子, 已知所有物品分为1,2,3类, 你所预测的除1, 2,3类之外具有其他类, 就会出现Precision与Recall,F1_score ,Accuracy不等的现象)。

结论

周志华老师机器学习所阐述的原因也可以对结果进行完美解释,但结果的产生并不完全如周志华老师所说——求平均后结果一致。而是设置average='micro’时,Precision = Recall = F1_score = Accuracy恒成立。

心得

对待权威,不可一味相信,要敢于质疑权威。
要善于用数学去推导猜想,对学问应该持严谨态度。
原创不易
转载请标明出处
如果对你有所帮助 别忘啦点赞支持哈
机器学习作业(第十八次课堂作业)_第4张图片

你可能感兴趣的:(机器学习作业,机器学习,sklearn,python)