python机器学习day'3

来源:互联网 发布:linux 环境变量path 编辑:程序博客网 时间:2024/05/29 18:01

突然觉得标题的day计算方式有问题…


对于性能评测,一共有三个指标:准确性和召回率和精确率。

书上用的是有点像…卡诺图…的感觉来列的公式。【数电后遗症。

 实际是1类实际是2类分类结果为1类1类被分类为1类
(分类正确)2类被分类为1类
(弃真错误)分类结果为2类1类被分类为2类
(纳伪错误)2类被分类为2类
(分类正确)

啊有点绕啊…但是还是挺容易理解,纳伪和求真就是刚刚概率论学习的内容。

我自己的理解就是:

准确性:分类正确的样本数量/参与分类的样本数量。

精确率:某一类正确分类的样本数量/某一类参与分类的样本数量。

召回率书上的公式是“1类被分类为1类(分类正确)”/“1类被分类为1类(分类正确)+1类被分类为2类(纳伪错误)”,看起来似乎就是

召回率:某一类正确被分为某一类的样本数量/实际上是某一类的样本数量【和召回racall这个词的意思的理解不通。

然后综合考量精确率和召回率,就求了二者的调和平均数。称为F1指标。

调和平均数的特征是更易受极大极小值的影响,但是书上说选择的原因是,当两个值接近的时候,分会高一些。唔…

得到一个小结论:在选择线性分类器的时候,选择模型上:LogisticRegression计算时间长模型性能略高,SGDClassifier计算时间短模型性能略低,在数据规模10W量级以上,用后者更好。


学习支持向量机模型的速度比昨天快多了呀!

这个里面提到了一个能够处理手写体数字的加载器。好6哇。

然后感觉体会到流程了:

读取代码→分割代码→训练集标准化→用模型的fit来训练→预测测试集的y→用模型的score计算准确性→进一步分析结果。

里面如分割模块:train_test_split,标准化模块StandardScarler,分析结果的classification_report模块都是套路一样的存在哈哈哈。

然后提到了对于召回率、准确率和F1指标最先适用于二分类任务。唔…不知道为啥没有精确率。

对于多分类任务(n),就把他们分成n个二分类任务。

然后支持向量机模型的特点就是能够在海量、高维数据中筛选最有效的少量训练样本,但是相应的,会付出更多的CPU资源和计算时间(并成为计算代价)。