在本文中,我们将讨论机器学习中回归和分类的各种指标。我们总是想到建模一个好的机器学习算法所涉及的步骤。第一步是评估模型优劣的指标。当我们拟合模型并做出预测时,我们总是尝试了解误差和准确性。本文将尝试提供并解释回归和分类中的各种错误度量方法。
有一些标准可以评估模型的预测质量,如下所示:
- 度量函数:我们将在本文中进行研究。
- 估计器评分方法:此方法具有评估解决问题的评分方法。
- 评分参数:该评分参数告诉估算人员选择度量与模型的评估grid_search.GridSearchCV和cross_validation.cross_val_score
基本定义
估计器:它是一个函数或方程式,用于预测实际数据点上的更准确的建模点。
要知道的技巧
评估方法中有两点需要注意,如下所示:
- 首先,某些方法以score单词结尾,这意味着价值来自于此,它决定了基本事实。在这种情况下,如果数字较高,则更好。
- 第二个,如果单词以error或结尾loss。在这种情况下,数量越少越好。
回归指标
评估回归性能的指标如下:
- 解释方差得分:此指标评估数据点的变化或离散度。
- 该指标的公式如下所示:
python中的示例:
- #从sklearn导入差异分数
- from sklearn.metrics import explained_variance_score
- true_values = [5, 2.5, 3, 6]
- predicted_values = [4.5, 2.9, 3, 7]
- explained_variance_score(true_values, predicted_values)
- #output:
- 0.8525190839694656
2.最大误差:此度量标准将计算真实值和预测值之间的最差值。
- 最大误差的公式如下所示:
python中的示例
- from sklearn.metrics import max_error
- true_values = [5, 2.5, 3, 6]
- predicted_values = [4.5, 2.9, 3, 8]
- max_error(true_values, predicted_values)
- #output:
- 2
3.平均绝对误差:此度量标准计算真实值和预测值之差的平均误差。该度量对应于l1-范数损失。
- 该指标的公式如下所示:
python中的示例
- from sklearn.metrics import mean_absolute_error
- true_values = [5, 2.5, 3, 6]
- predicted_values = [4.5, 2.9, 3, 7]
- mean_absolute_error(true_values, predicted_values)
- #output:
- 0.475
3.均方误差:此度量标准计算二次误差或损失。
- 公式如下所示:
python中的示例
- from sklearn.metrics import mean_squared_error
- true_values = [5, 2.5, 3, 6]
- predicted_values = [4.5, 2.9, 3, 7]
- mean_squared_error(true_values, predicted_values)
- #output:
- 0.3525
4. R平方得分:此度量标准从均值或估计量(如拟合的回归线)计算数据的分布。通常称为“确定系数”。
- 该指标的公式如下:
python中的示例
- from sklearn.metrics import r2_score
- true_values = [5, 2.5, 3, 6]
- predicted_values = [4.5, 2.9, 3, 7]
- r2_score(true_values, predicted_values)
- #output:
- 0.8277862595419847
分类指标
评估分类效果的指标如下:
- 准确性得分:此度量标准计算真实值的准确性等于预测值,然后返回分数的分数,否则,如果归一化参数为FALSE,则它将返回真实预测值的总数。
公式如下:
python中的示例
- from sklearn.metrics import accuracy_score
- true_values = [5, 2, 3, 6]
- predicted_values = [4, 3, 3, 6]
- accuracy_score(true_values, predicted_values)
2.分类报告:此度量标准计算的报告包含分类问题的精度,召回率和F1得分。
Python范例
- from sklearn.metrics import classification_report
- true_values = [3, 4, 3, 6]
- predicted_values = [4, 3, 3, 6]
- target_names = ['Apple', 'Orange', 'Kiwi']
- print(classification_report(true_values, predicted_values, target_names=target_names))
3.铰链损耗:此损耗计算数据点和模型预测点之间的平均距离。SVM算法中也使用它来获得最大边际。
- 公式如下所示:
python中的示例
- from sklearn import svm
- from sklearn.metrics import hinge_loss
- from sklearn.svm import LinearSVC
- #data set in x and y values
- x_values = [[3], [2]]
- y_values = [-1, 1]
- #using linear SVC model
- svm_linear = svm.LinearSVC(random_state=0)
- #fitting the model
- svm_linear.fit(x_values, y_values)
- LinearSVC(random_state=0)
- #making decision prediction
- pred_decision = svm_linear.decision_function([[-2], [3], [0.5]])
- hinge_loss([-1, 1, 1], pred_decision)
- #output:
- 1.333372678152829
结论:
这些都是从回归和分类中评估模型性能的一些指标。分类中有基于回归,二元类和多类指标的各种指标。