# 监督学习

  • 分类:预测数据标签(类别)。

    二分类 / 二值分类:例如一张图片,不是猫就是狗。<img src="https://s3.ax1x.com/2021/02/08/yai4I0.jpg" width="250px">

    多分类:例如鸢尾花种类。

  • 回归:预测数据真实值。例如股票价格。

流程:

  • 初始化
  • 设置参数
  • 训练模型
  • 预测新标签
  • 给模型评分

# 度量模型性能

# 分类 - 准确率・精度・召回率

二分类,有标准数组 yTrue 与预测数组 yPred ,以下计算预估准确率:

In [1]: import numpy as np
In [2]: np.random.seed(233) #设置种子
In [3]: yTrue = np.random.randint(0, 2, size = 5) #[0, 2) 随机整数 5 个
In [4]: yTrue
Out[4]: array([1, 1, 1, 1, 0])
In [5]: yPred = np.ones(5, dtype = np.int32) #假设全猜 1
In [6]: yPred
Out[6]: array([1, 1, 1, 1, 1])
In [7]: from sklearn import metrics as mts
In [8]: mts.accuracy_score(yTrue, yPred) #计算准确率
Out[8]: 0.8
#另一种姿势计算准确率
In [10]: setSize = len(yTrue)
In [11]: correctSum = np.sum(yTrue == yPred)
In [12]: accuracyScore = correectSum / setSize
...		 accuracyScore
Out[12]: 0.8

一些概念

记标签为 1 的数据为正样例,标签为 0/-1 的数据点为负样例。

实际正样例实际负样例
预测正样例真阳性假阳性 (I 型错误)
预测负样例假阴性 (II 型错误)真阴性

计算:

In [1]: import numpy as np
In [2]: np.random.seed(233)
In [4]: yTrue = np.random.randint(0, 2, size = 20)
In [5]: yTrue
Out[5]: array([1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0])
In [6]: yPred = np.ones(20, dtype = np.int32)
In [7]: yPred
Out[7]: array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])
In [8]: true_positive = np.sum(yTrue * yPred) #真阳性
In [9]: true_positive
Out[9]: 14
In [10]: false_positive = np.sum((yTrue == 0) * yPred) #假阳性
In [11]: false_positive
Out[11]: 6
    
In [12]: false_negative = true_negative = 0 #由于全猜测 1,真假阴性都是 0
In [13]: set_size = len(yTrue)

另一些概念:

# from sklearn import metrics as mts
In [16]: accuracy = (true_positive + true_negative) / set_size #准确率
    ...: accuracy
Out[16]: 0.7
# mts.accuracy_score(yTrue, yPred)
In [8]: mts.accuracy_score(yTrue, yPred) #计算准确率
In [17]: precision = true_positive / (true_positive + false_positive) #精度
    ...: precision
Out[17]: 0.7
# mts.precision_score(yTrue, yPred)
In [20]: recall = true_positive / (true_positive + false_negative) #召回率
    ...: recall
Out[20]: 1.0
#mts.recall_score(yTrue, yPred)

# 回归 - 均方差・可释方差・R 平方

留坑,跑路~

更新于