转载原自:
目录
机器学习任务:
classification(分类)(有监督):KNN,SVM,决策树,朴素贝叶斯,逻辑回归,深度神经网络
regression(回归)(有监督):SGD,Lasso,SVR
clustering(聚类)(无监督):KMeans,MiniBatch
dimensionality reduction(降维)(无监督)
Reinforcement(强化学习):给予机器奖惩制度
鸢尾花数据集:
1.使用决策树进行分类,决策树也就是在每一步都做出决策,往左走还是往右走。
2.聚类:将同一类型的数据放到一起
评估分类模型:
分类模型(监督学习)
- 标签是离散值为分类问题(如猫狗图像分类/手写数字识别)
- 标签是连续值是回归问题(如股价/房价/用电量预测)
训练集/测试集
- 将特征和标签输入到分类模型,模型根据每个数据的特征,猜测每个数据的标签,模型自我更新,使猜测的标签和真实标签的差别最小化
- 常用的分类模型:决策树,朴素贝叶斯,支持向量机,KNN,神经网络,逻辑回归,线性判别分析,随机森林,隐马尔可夫,贝叶斯网络
二分类问题(Binary classification)
标签只有两类:是或者不是
| 真实/预测 | 预测为肺炎 | 预测为健康 |
|---|---|---|
| 肺炎 | True Positive √ | False Negative X |
| 健康 | False Positive X | True Negaive √ |
假如TP = 45,FN = 5, FP = 15, TN = 35
TP + FN :真实肺炎数据个数总和
FP + TN:真实健康数据个数总和
TP + TN:所有分类正确数据个数总和
那么Precision(查准率) = 45/(45+15) = 0.75 (TP / (TP + FP))就是被判定生病的有多少是真的生病
Recall(召回率)= 45 / (45 + 5)= 0.9 (TP / (TP + FN))就是生病的有多少被预测出来
查准率和召回率是相爱相杀的,所以需要一个函数来调和两者,因此F1-Score出来了
F1-Score = 2 * 1/(1/Pression + 1/Recall)
FI-Score (调和平均)= 2 x 0.75 x 0.9 / (0.75 + 0.9) =0.82
Accurary (准确率)= (45 + 35) / 100 = 0.8 (正确分类的个数/总数)
Specificity(特异性) = 35 / (15 + 35) = 0.7
有了这些可以绘制ROC(受试者工作特性曲线)曲线

ROC曲线是由TPR和FPR构成的,完美曲线是左上三角曲线,曲线越接近左上角,分的越好,数据分开的越开,分类效果越好。



结论:
- 对数损失不适用于样本不均衡时的分类评估指标
- ROC-AUC可作为样本正负不均衡时的分类评估指标
- 如果我们想让少数情况被正确猜测,就用ROC-AUC作为评估指标
- F1-Score和PR曲线在正样本极少时适用于作为分类评估指标
- F1-Score和PR曲线在FP比FN更重要时,适用于作为分类评估指标
谷歌可视化降维:
Embedding projector - visualization of high-dimensional data (tensorflow.org)
这个网站谷歌将经典数据集可视化到网站上,可以降维调节参数看到数据的聚簇。
子豪兄还玩转MNIST数据集,其中有降维实现可视化聚类方法。链接:
Pytorch多层感知机分类MNIST数据集_哔哩哔哩_bilibili
14万+

被折叠的 条评论
为什么被折叠?



