【问题标题】:Classifier is giving different results every time it is trained even though the training and test data is the same即使训练和测试数据相同,分类器每次训练时都会给出不同的结果
【发布时间】:2015-03-12 06:32:56
【问题描述】:

训练和测试数据被腌制和加载。但是即使分类器使用相同的训练数据进行训练并使用相同的测试数据进行测试,结果(准确度和 f 度量)似乎每次都不同。这是怎么回事?我指的分类器是极限学习机。

【问题讨论】:

  • 你能告诉我们更多关于你的分类器的信息吗?
  • 我使用的分类器是极限学习机。一种猜测是,这可能是由于每次训练时分配的随机权重而发生的。

标签: machine-learning scikit-learn classification


【解决方案1】:

输出的权重有何不同?你得到不同的参数吗?

请记住,许多算法从不同的随机种子开始,这使得它们在不同的实验组中表现不同。

输出有何不同?它们有很大的不同吗?如果是这种情况,也许您需要让它运行更长时间。

正如有人所说,您必须使用交叉验证来找到最佳参数集,为此您需要轮换训练和数据集。

【讨论】:

  • 输出相当疯狂。我想我会在可用资源和时间允许的情况下多次运行它。我能够通过 10 次运行来大致了解输出范围。
  • 你有多少数据?数据太少也可能是个问题
  • 我有大约 10k 条训练记录和大约 5k 条测试记录。
【解决方案2】:

取决于您选择的分类算法。如果你选择随机森林之类的东西,每次都会学习一个新模型,所以这样的观察是可能的。

【讨论】:

  • 试错是为此类分类器找到最佳模型的唯一方法吗?
  • 人们一般会做 5 倍或 10 倍交叉验证,然后选择准确率最高的模型
猜你喜欢
  • 2013-03-04
  • 1970-01-01
  • 2018-06-29
  • 2017-11-03
  • 2017-01-10
  • 2015-05-25
  • 2017-07-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多