判断机器学习算法的性能

我们有一个原始数据,我们把所有原始数据当做训练数据,然后使用训练数据训练模型

每当来一个新的数据,新的数据要和我们所有数据求出相应距离,找出前k小的距离

然后投票新的数据具体属于那种类别,我们用全部数据得到的模型用来预测新的数据所属的类型


我们要在真实的环境中使用这个模型


但是会有两种情况

1.模型很差怎么办? 存在真实损失

比如我们要训练一个股市的模型,使用这种方式我们根本没有机会调整我们的模型,只能把这个模型投入到真实的股市环境中 ,如果我们的模型很差就会造成真实损失,这是一个问题

2.真实环境难以拿到真实label,我们无从知道我们模型根本是好是坏,我们训练出来这个模型后只能听天由命让他运行在真实环境中。

举一个简单的例子,银行发放信用卡,每个用户,他的银行信用评级也好,显示高和低也好,很可能是银行跟进了用户两三年之后才得到了信用等级,形成了训练数据集,来进行预测给其他用户信用卡判断等级,但是这个模型训练出来之后我们直接投入正式环境中,拿给一个新的客户,这个客户信誉等级到底是怎么样,可能又要经过两三年的时间我们才能知道。

即使有了新的数据,由于在短时间内我们拿不到这个数据真实的label它真实的分类是怎么样的,我们也很难去改进。其实我们用所有原始数据都去当训练集,直接训练出模型投入到生产环境中,这样的做法是不恰当的。改进这个问题的最简单的方法,是训练和测试数据集的分离。

我们只从原始数据抽出一部分,通常是一大部分,比如80%或者70%数据当做训练数据,流出来一部分数据我们把他当做测试数据,我们相当只用训练数据训练模型,还留有一部分数据,我们假设这部分数据是测试数据,它不参与到我们模型的训练过程中,但我们使用训练数据拿到模型之后,我们用测试数据扔进模型,来让模型预测,由于测试数据本身包含了真实label值,我们可以很容易看到训练数据训练出来的模型是怎么样的,通过测试数据直接判断模型好坏,在模型进入真实环境前改进模型。

<

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值