不同型号如何选择?
评估机器学习的过程有助于确定模型的应用可靠性和有效性。这涉及评估不同的因素,例如其性能、指标以及预测或决策的准确性。
无论您选择使用什么模型,您都需要一种在模型之间进行选择的方法:不同的模型类型、调整参数和功能。此外,您还需要模型评估程序来估计模型对未见过的数据的泛化能力。最后,您需要一个评估程序来与其他程序配合以量化您的模型性能。
在我们继续之前,让我们回顾一下一些不同的模型评估程序及其运作方式。
从上面我们可以推断出:
对相同数据进行训练和测试是过度拟合的一个典型原因,在这种情况下,您构建的模型过于复杂,无法泛化到新数据,而且实际上没有用。
Train_Test_Split 可以更好地估计样本外性能。
通过系统地进行 K 次训练测试分割并将结果平均在一起,K 折交叉验证效果更好。
总而言之,train_tests_split 由于其速度和简单性,对于交叉验证来说仍然是有利可图的,这就是我们将在本教程中使用的内容。
您始终需要一个评估指标来配合您选择的程序,并且您对指标的选择取决于您要解决的问题。对于分类问题,可以使用分类精度。但我们将在本指南中重点关注其他重要的分类评估指标。
在我们学习任何新的评估指标之前'让我们回顾一下分类准确性,并讨论它的优点和缺点。
我们为本教程选择了 Pima Indians Diabetes 数据集,其中包括 768 名患者的健康数据和糖尿病状况。
让我们读取数据并打印前5行数据。如果患者患有糖尿病,则标签列表示为 1,如果患者没有患有糖尿病,则标签列表示为 0,我们要回答的问题是:
问题: 我们可以根据患者的健康测量结果预测其糖尿病状况吗?
我们定义特征度量 X 和响应向量 Y。我们使用 train_test_split 将 X 和 Y 分成训练集和测试集。
接下来,我们在训练集上训练逻辑回归模型。在拟合步骤中,logreg 模型对象正在学习 X_train 和 Y_train 之间的关系。最后我们对测试集进行类别预测。
现在,我们已经对测试集进行了预测,我们可以计算分类准确率,简单来说就是正确预测的百分比。
但是,每当您使用分类准确性作为评估指标时,将其与空准确性进行比较非常重要,后者是通过始终预测最频繁的类别可以获得的准确性。
空准确率回答了问题;如果我的模型能够 100% 地预测主要类别,那么它正确的概率是多少?在上面的场景中,y_test 的 32% 为 1(个)。换句话说,预测患者患有糖尿病的愚蠢模型的正确率是 68%(即零)。这提供了一个基线,我们可能希望根据该基线来衡量逻辑回归模型。
当我们比较 68% 的 Null 准确率和 69% 的模型准确率时,我们的模型看起来不太好。这表明分类准确性作为模型评估指标的一个弱点。分类准确性并不能告诉我们有关测试测试的基本分布的任何信息。
总之:
现在让我们看看混淆矩阵。
混淆矩阵是描述分类模型性能的表格。
它有助于帮助您了解分类器的性能,但它不是模型评估指标;所以你不能告诉 scikit learn 选择具有最佳混淆矩阵的模型。然而,有很多指标可以从混淆矩阵中计算出来,并且可以直接用于在模型之间进行选择。
让我们解释一下它的一些基本术语。
让我们看看如何计算指标
综上所述:
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3