• 常用的机器学习模型评估和模型选择方法


    1、简介

    机器学习的目的是通过对训练数据的训练,能够对未知的数据有很好的应用效果。

    1.1 训练误差和测试误差

    训练误差是模型对训练集的计算损失,测试误差是模型对测试集的计算损失,听起来好像是废话。举个栗子,一个数据集有100条,其中80条用来做训练集,20条用来做测试集,用模型对这80条数据进行训练,得到最终模型,用这个最终模型对80条数据进行测试,其中60个正确,20个错误,假设损失函数是0-1损失,那么训练误差就可以用20/80=0.25,对测试集进行测试,有10个正确,10个错误,则测试误差就是10/20=0.5。

    1.2、过拟合与欠拟合

    过拟合和欠拟合指示的是模型的泛化能力,过拟合是指模型由于过于复杂,经过训练,导致其在训练集效果上很好,但是在测试集效果很差。欠拟合就是指训练集和测试集效果都很差。

    2、模型选择

    2.1、正则化

    正则化是指我们在损失函数的后面加入一个调整项,这个调整项本质上是防止模型陷入过拟合。

    (lambda)表示调整两者的参数。

    2.2、简单交叉验证

    简单交叉验证就是指我们暴力的将数据集分成训练集和测试集,这里的比例我们自己可以定。

    2.3、S折交叉验证

    S折交叉验证表示我们将数据集分成S份,取其中S-1份进行训练,用留出的那一份进行测试,这样进行多次,算出每个模型的平均误差,选择误差最小的当作最终的模型。

    2.4、自助方法

    这种方法是我们每次取出数据集中的一条数据并放回,这样我们随机的取m次,用这些取出来的数据当作训练集,其余的当作测试集。这样某样本不会被抽到的概率是

    上面的数据集大小是m,一次没抽到的概率是(1-(1/m))进行m次,所以就是m次方。

    3、模型评估

    3.1、准确率和错误率

    对于分类来讲,准确率就是对100条数据进行测试,90条正确,10条错误,则准确率是90%,错误率就是10%。准确率+错误率=1

    3.2、查准率,查全率,F1

    这两个指标是针对二分类来说,同时,也可以将他们扩展到多分类,假设我们有正例60和负例40,其中有40个正例被预测为正例,20个正例被预测为负例,15个负例被预测为负例,25个负例被预测为正例,则查准率(P)=40/(40+25),查全率(R)=40/(40+20),由于这两者一般情况下不会同时增大,所以我们用F1值来进行度量,F1 = (2 * P * R)/ (P + R)

    3.3、ROC和AUC

    ROC曲线的横坐标是假正FP,纵坐标是真正TP,两者曲线的面积是AUC值。

  • 相关阅读:
    .NET 高效开发之不可错过的实用工具(第一的当然是ReSharper插件)
    灵活运用 SQL SERVER FOR XML PATH 转
    Python 3.X 要使用urllib.request 来抓取网络资源。转
    22-1 拖拽与烟花案例
    21、bootstrap框架
    20、promise与ajax jsonp
    18、MySQL
    19、AJAX
    17、php
    16-1 ECMA5与ECMA6的函数定义
  • 原文地址:https://www.cnblogs.com/stephen-goodboy/p/12841292.html
Copyright © 2020-2023  润新知