使用scikit决策树进行多输出分类

时间:2016-11-30 11:48:42

标签: python machine-learning scikit-learn

免责声明:我是机器学习领域的新手,尽管在过去的一个月里我做了相当多的研究,但我对这个主题仍然缺乏深刻的理解。

我一直在玩scikit图书馆,目的是学习如何根据历史信息预测新数据,并对现有信息进行分类。

我正在尝试解决两个可能相关的问题:

问题1

给定一个包含行R1 ... RN的数据集,其中包含特征F1 ... FN,以及每个行的目标,确定行R(N + 1)在哪个组中属于。

现在,目标值不是单数,而是一组值;我能够提出的最佳解决方案是将这些值集合表示为串联,这会创建一个人工类,并允许我仅使用一个属性来表示多个值。有更好的方法吗?

我期待的是能够传递全新的行集,并告知每个行的目标值。

问题2

给定包含具有特征F1 ... FN的行R1 ... RN的数据集,根据特征的频率预测R(N + 1)的值。

这里有一些注意事项:

  1. 大多数功能都属于绝对性质。
  2. 某些功能是日期,因此在进行预测时,日期应该是相对于历史数据的未来。
  3. 频率分析需要按行进行,因为某些值集可能无效。
  4. 我的问题是:是否有任何过程/ ML算法,给定历史数据能够根据参数的频率预测一组新的值?

    如果您有任何建议,请告诉我。

1 个答案:

答案 0 :(得分:0)

关于问题1,如果您希望目标值的不同组件是独立的,则可以将问题视为为每个组件构建分类器。也就是说,如果要素为F = (F_1, F_2, ..., F_N)且目标为Y = (Y_1, Y_2, ..., Y_N),请创建包含要素F和目标Y_1的分类器,第二个具有要素F的分类器目标Y_2

关于问题2,如果你没有处理时间序列,你可以做的最好的事情就是预测每个特征的最常值。

那就是说,我相信你的问题更适合另一个交叉验证的堆栈交换。