PyTorch图像分类全流程实战--在测试集上评估图像分类算法精度05
教程
同济子豪兄 https://space.bilibili.com/1900783
https://www.bilibili.com/video/BV1qe4y1D7zD
环境配置
数据处理:numpy pandas
机器学习库:scikit-learn
画图的:matplotlib seaborn
HTTP请求:requests
进度条:tqdm
图像处理:opencv-python pillow kaleido
Kaleido是一个跨平台的库,用于为基于Web的可视化库生成静态图像(例如png,svg,pdf等),尤其着重于消除外部依赖性。
pytorch工具:torch torchvision torchaudio
混淆矩阵
from sklearn.metrics import confusion_matrix
混淆矩阵(Confusion Matrix),是一种在深度学习中常用的辅助工具,可以让你直观地了解你的模型在哪一类样本里面表现得不是很好。
TP(True Positive):将正类预测为正类数,真实为0,预测也为0
FN(False Negative):将正类预测为负类数,真实为0,预测为1
FP(False Positive):将负类预测为正类数, 真实为1,预测为0
TN(True Negative):将负类预测为负类数,真实为1,预测也为1
二分类:
Recall = TP/(TP+FN)
precision = TP/(TP+FP)
多分类:
Recall:真实值为正例子(类别1)中预测正确的比例
precision = 预测值为正例子(类别1)中预测正确的比例
实际上:
Recall = TPR,即召回率(召回了多少正样本比例);
Precision就是当前划分到正样本类别中,被正确分类的比例(即正式正样本所占比例),就是我们一般理解意义上所关心的正样本的分类准确率;
PR曲线
from sklearn.metrics import precision_recall_curve
from sklearn.metrics import average_precision_score
Precision-Recall的平衡,PR图是y轴为Precison,x轴为Recall
ROC 曲线
该曲线的纵坐标为真阳性率(True Positive Rate, TPR),横坐标为假阳性率(False Positive Rate, FPR),曲线和X轴围城的面积是AUC。
TPR = TP/(TP + FN)
FPR = FP/(FP + TN)
acc = (TP + FP)/(TP+FP+FN+TN)
扩展阅读mark
机器学习分类评估指标
公众号 人工智能小技巧 回复 混淆矩阵
手绘笔记讲解:https://www.bilibili.com/video/BV1iJ41127wr?p=3
混淆矩阵: https://www.bilibili.com/video/BV1iJ41127wr?p=4
https://www.bilibili.com/video/BV1iJ41127wr?p=5
ROC曲线: https://www.bilibili.com/video/BV1iJ41127wr?p=6
https://www.bilibili.com/video/BV1iJ41127wr?p=7
https://www.bilibili.com/video/BV1iJ41127wr?p=8
F1-score:https://www.bilibili.com/video/BV1iJ41127wr?p=9
F-beta-score:https://www.bilibili.com/video/BV1iJ41127wr?p=10
语义特征降维可视化
【斯坦福CS231N】可视化卷积神经网络:https://www.bilibili.com/video/BV1K7411W7So
五万张ImageNet 验证集图像的语义特征降维可视化:https://cs.stanford.edu/people/karpathy/cnnembed/
谷歌可视化降维工具Embedding Projector https://www.bilibili.com/video/BV1iJ41127wr?p=11