python程序题求roc-auc是一种常用的模型评价指标_机器学习模型评估指标Python代码示例...

我们什么时候评估我们的机器学习模型呢?答案不是只有一次。通常,我们在实际的数据科学工作流中两次使用机器学习模型验证指标:

模型比较:为您的任务选择最佳机器学习(ML)模型模型改进:调整超参数为了更清楚地了解这两者之间的区别,让我通过机器学习(ML)实现的工作流程来解释。在为任务y设置所有特征X后,您可以准备多个机器学习模型作为候选。

那么你怎么才能最终为你的任务选择一个呢?是的,这是使用模型验证度量的第一点。Scikit-learn提供了一些快捷方法来比较模型,比如cross - validation。

在您选择了一个准确度最好的机器学习模型后,您将跳转到超参数调优部分,以提高精度和通用性。这里是您将使用这些度量的第二点。

在本文中,我试图制作机器学习模型评估指标的总结。

交叉验证用于模型比较

python程序题求roc-auc是一种常用的模型评价指标_机器学习模型评估指标Python代码示例..._第1张图片

我们拆分数据的原因和方式的起点是泛化。因为我们构建机器学习模型的目标是使用未来未知数据的真实实现。因此,我们不需要过度拟合过去数据的无用模型。

Holdout 方法

python程序题求roc-auc是一种常用的模型评价指标_机器学习模型评估指标Python代码示例..._第2张图片

交叉验证方法

python程序题求roc-auc是一种常用的模型评价指标_机器学习模型评估指标Python代码示例..._第3张图片K-Folds的视觉表示

ae51f3deb48f8c54818d20c42e12b7f1e1fe7fba.jpeg?token=0b4f21cb489d89ebfeceba3fa63130a7

cross_val_score:最简单的编码方法

我们可以通过参数“cv”来决定数据拆分的数量。通常5被认为是标准拆分数。

python程序题求roc-auc是一种常用的模型评价指标_机器学习模型评估指标Python代码示例..._第4张图片

cross_validate:我推荐这个可自定义的

回归度量

在大多数情况下,我们使用R2或RMSE。

python程序题求roc-auc是一种常用的模型评价指标_机器学习模型评估指标Python代码示例..._第5张图片

我将使用Boston House Price数据集。

python程序题求roc-auc是一种常用的模型评价指标_机器学习模型评估指标Python代码示例..._第6张图片

模型1:线性回归

c75c10385343fbf2803e1161a545508465388f25.jpeg?token=be5d0d4c3c821e0d996b0fd4f87b9e05

模型2:决策树回归

python程序题求roc-auc是一种常用的模型评价指标_机器学习模型评估指标Python代码示例..._第7张图片

现在我们准备评估我们的两个机器学习模型并选择一个!

R2:决定系数

python程序题求roc-auc是一种常用的模型评价指标_机器学习模型评估指标Python代码示例..._第8张图片

MSE:均方误差

ac345982b2b7d0a2bd3821afded4ec0d4a369aca.jpeg?token=71759cde1db1b84fe9abaefbe2ff4f07

>>> 23.873348..

RMSE:均方根误差

1f178a82b9014a90e4bb30babc4ca316b21beeeb.jpeg?token=d1af23cdcc7c9329d57fa57000f3597c

>>> 4.886036..

MAE:平均绝对误差

d01373f082025aafd86c8fdbedd63160034f1a07.jpeg?token=6dbe7689a812cf85b4366a5ddb3131ae

>>> 3.465279..

分类指标

python程序题求roc-auc是一种常用的模型评价指标_机器学习模型评估指标Python代码示例..._第9张图片

分类问题:

一对一分类:例如付费用户或免费One vs. Rest分类:例如高级会员或付费或免费我将使用Iris数据集作为多类分类问题。

python程序题求roc-auc是一种常用的模型评价指标_机器学习模型评估指标Python代码示例..._第10张图片

模型1:SVM

ac4bd11373f08202cd090ddf5ec061e9aa641b72.jpeg?token=af697af58ef562405ca2602865402633

模型2:朴素贝叶斯

b2de9c82d158ccbf064211fa0de3263ab0354137.jpeg?token=05e32f37490f7881839225bc9efaf1c0

现在我们准备评估我们的两个模型并选择一个!

1.准确性:

python程序题求roc-auc是一种常用的模型评价指标_机器学习模型评估指标Python代码示例..._第11张图片

2.精度:

python程序题求roc-auc是一种常用的模型评价指标_机器学习模型评估指标Python代码示例..._第12张图片

3.召回或灵敏度:

7acb0a46f21fbe0988ed42587f5b96378644ad8f.jpeg?token=a25b24d3c842f544ecf501d1eff64514

>>> array([1. , 1. , 0.85714286]) # GNB

4. F分数:

ca1349540923dd5449c64665c43229da9d8248c1.jpeg?token=cf4bbaf4b56584d2bcf654db485b334a

>>> array([1. , 0.9375 , 0.92307692]) # GNB

5.混淆矩阵

python程序题求roc-auc是一种常用的模型评价指标_机器学习模型评估指标Python代码示例..._第13张图片

python程序题求roc-auc是一种常用的模型评价指标_机器学习模型评估指标Python代码示例..._第14张图片

6. ROC

如果你不使用OneVsRest Classifier,它不起作用......

python程序题求roc-auc是一种常用的模型评价指标_机器学习模型评估指标Python代码示例..._第15张图片

现在我们将通过ROC Curve进行检查。

python程序题求roc-auc是一种常用的模型评价指标_机器学习模型评估指标Python代码示例..._第16张图片

7. AUC:曲线下面积

adaf2edda3cc7cd9b3488c3e2d3abb3bb90e91ab.jpeg?token=fd9742c49ba04551889c6c24e2c08d5e

>>> 0.913333... # auc

8.多类对数损失

这是一个概率。并且需要使用OneVsRestClassifier。

472309f790529822bc32cd21c2f1e1cf0b46d48b.jpeg?token=43195b87b1921eda801873cd0b1d5f00

>>> 0.09970990582482485

聚类度量

python程序题求roc-auc是一种常用的模型评价指标_机器学习模型评估指标Python代码示例..._第17张图片

基本上在真正的聚类任务中,(我的意思是无监督聚类),我们没有任何方法来测量准确度或精度,因为没有人知道。

然而,作为分类任务的过程,有时我们使用有监督的聚类来了解数据的特征。(在实际工作中也是如此。)

因此,我将快速介绍一些监督聚类的指标。

我只使用了Iris数据集中的特征来解决聚类问题。

ca1349540923dd54f6e2c6d2c53229da9d8248b2.jpeg?token=e80dc4d14005bbb51d3d6a016d210711

作为聚类问题的代表模型,这次我使用了K-means。

b151f8198618367a6174e9243b4811d0b21ce50e.jpeg?token=5a118d4ffdca86d5114887c5788b8192

现在,监督聚类的结果是在y_means中。

python程序题求roc-auc是一种常用的模型评价指标_机器学习模型评估指标Python代码示例..._第18张图片

同质性得分,Completeness Score,V度量得分

python程序题求roc-auc是一种常用的模型评价指标_机器学习模型评估指标Python代码示例..._第19张图片

附加:Python可视化

python程序题求roc-auc是一种常用的模型评价指标_机器学习模型评估指标Python代码示例..._第20张图片

python程序题求roc-auc是一种常用的模型评价指标_机器学习模型评估指标Python代码示例..._第21张图片

你可能感兴趣的:(python程序题求roc-auc是一种常用的模型评价指标_机器学习模型评估指标Python代码示例...)