如何选择数据的相关特征?

人工智能 神经网络 机器学习 数据集 特征选择
2021-11-01 22:59:09

最近我正在研究一个问题,对某些特定资源的支出进行一些成本分析。我通常会根据分析做出一些手动决策,并据此制定计划。

我有一个 excel 格式的大数据集,包含数百列,定义了资源在各种时间范围和类型(其他各种详细用途)中的使用。我也有关于我之前 4 年的数据和实际资源使用情况以及相应产生的成本的信息。

我希望训练一个神经网络来提前预测我的成本,甚至在我手动进行成本分析之前就进行计划。

但我面临的最大问题是需要确定此类分析的特征。我希望有某种方法可以从数据集中识别特征。

PS - 我对 PCA 和其他一些特征集缩减技术有想法,我正在研究的是首先识别它们的方法。

4个回答

由于您将所有数据都放在一个表中,因此相对简单的事情是独立考虑每一列,然后查看输出变量(产生的成本)是否与此相关。

如果该列与输出变量没有(或非常低的相关性),则认为它不重要。然后进一步考虑那些进行削减的人。

这显然与决策树算法的工作方式(例如 ID3)没有太大区别。

特征选择没有硬性规定,您必须手动检查数据集并尝试不同的特征工程技术。并且没有规定您应该为此应用神经网络,神经网络的训练非常耗时,相反,您可以尝试基于决策树的方法(随机森林),因为您的数据无论如何都是表格结构。

这是一个很好的问题,并且可能是 ML 中最困难的任务之一。

你确实有几个选择:

  1. 您可以使用加权算法(例如卡方)来了解哪些特征对您的输出贡献最大
  2. 您可以使用其他 ML 算法来分类某个功能是否有助于您的预测
  3. 您可以使用其他 ML 算法(NN 除外)固有地为您提供特征权重(例如随机森林)

希望有帮助

明智的做法是不仅要考虑资源参与与成本的相关性,还要考虑资源参与成本的回报。典型的挑战是这些回报几乎总是累积或延迟的。积累的情况是当资源是对流程的持续调整或改进时,如果缺少该资源会减慢收入的产生。延迟的情况是研究资源在一段时间内产生成本而不影响收入,但如果研究提供了富有成效的结果,则开始产生的收入可能是高于所交付结果的总成本的一个重要因素。

费用数据本身可能导致适应不良的网络学习的原因是,经过训练以减少例如营销费用的网络会将其归零。这通常会导致销售领先趋势下降,直到业务倒闭。如果不将收益包含在训练信息中,就不会发生有用的学习。

基本的 MLP(多层感知器)不会学习数据的时间特征、累积和延迟方面。您将需要一个有状态的网络。在撰写本文时,这种学习最成功的网络类型是 LSTM(长期短期记忆)网络类型或其衍生变体之一。收入和余额数据必须与费用数据结合使用,以训练网络预测任何给定资源参与序列的业务结果(完全详细的预算计划)。

损失函数必须适当地平衡排序期限与中长期财务目标。负的可用现金应该会导致损失函数显着增加,以便学习如何避免基本的声誉风险和信贷成本。

您的数据中哪些列与投资回报率有很强的相关性,很难提前确定。您可以立即排除符合以下任一条件的列。

  • 总是空的
  • 其他常量,每行具有相同值的常量
  • 那些总是可以从其他列派生的

可以通过其他方式减少数据

  • 通过以简单的方式描述趋势来充分描述数据
  • 通过为每个字符串分配一个数字,使用索引以 100% 的准确度指定长字符串
  • 压缩
  • 否则会减少数据中的冗余

RBM(受限玻尔兹曼机)可以从数据中提取特征,而 PCA 可以照亮信息含量低的列,但这些列在与收入相关性方面的重要性将无法使用这些基本形式的设备来识别。