2

我在 csv 文件中有非常大的数据集(1,700,000 个原始数据和 300 个稀疏特征)。- 它有很多缺失值。- 数据在数值和分类值之间变化。- 因变量(类)是二进制的(1 或 0)。- 数据高度倾斜,积极响应的数量很少。

现在我需要的是对这些数据应用回归模型和任何其他机器学习算法。

我是新手,我需要帮助.. - 在回归模型的情况下如何处理分类数据?缺失值是否对其影响太大?- 对于像这样的大型、稀疏、倾斜的数据,我可以尝试的最佳预测模型是什么?- 你建议我使用什么程序?我尝试了 Weka,但它甚至无法打开那么多数据(内存故障)。我知道matlab可以打开数字csv或未混合的类别csv,除了必须估算缺失值以允许它打开文件。我知道一点R。

  • 我正在尝试使用 excel、access 和 perl 脚本来操作数据。对于这么多的数据,这真的很难。excel不能打开超过近1M的记录,访问不能打开超过255列。任何建议。

提前感谢您的帮助

4

1 回答 1

2

首先,您在谈论分类,而不是回归 - 分类允许从固定集合(例如 0 或 1)预测值,而回归产生实数输出(例如 0、0.5、10.1543 等)。也不要与所谓的逻辑回归混淆——它也是分类器,它的名字只是表明它是基于线性回归的。

要处理如此大量的数据,您需要归纳可更新)模型。特别是,在 Weka 中,分类部分下有许多这样的算法(例如 Naive Bayes Updatable、Neutral Networks Updatable 等)。使用归纳模型,您将能够逐部分加载数据并以适当的方式更新模型(对于 Weka,请参阅知识流界面了解如何更轻松地使用它的详细信息)。

一些分类器可能适用于分类数据,但我不记得它们有任何可更新的,所以很可能你仍然需要将分类数据转换为数字。这里的标准解决方案是使用指标属性,即用几个二元指标替换每个分类属性。例如,如果您有day-of-week7 个可能值的属性,您可以用 7 个二进制属性 - SundayMonday等替换它。当然,在每个特定实例中,只有 7 个属性中的一个可能具有值1,而所有其他属性都必须是0

缺失值的重要性取决于数据的性质。有时值得预先用一些中性值替换它们,有时分类器实现会自己完成(查看手册了解算法的详细信息)。

最后,对于高度偏斜的数据,使用F1(或只是Precision / Recall)测量而不是准确度。

于 2012-04-18T03:14:55.397 回答