我在csv文件中有非常大的数据集(1,700,000个原始数据和300个稀疏功能)。 - 它有很多缺失值。 - 数据在数值和categoral值之间变化。 - 因变量(类)是二进制(1或0)。 - 数据高度倾斜,积极响应的数量很少。
现在我需要的是对这些数据应用回归模型和任何其他机器学习算法。
我是新手,我需要帮助.. - 在回归模型的情况下如何处理categoral数据?失踪值是否会对它产生太大影响? - 我可以尝试这样的大型,稀疏,偏斜数据的最佳预测模型是什么? - 你建议我使用哪个程序?我尝试了Weka,但它甚至无法打开那么多数据(内存故障)。我知道matlab可以打开数字csv或类别csv没有混合,旁边的缺失值必须被估算,以允许它打开文件。我知道一点R.
提前感谢您的帮助
答案 0 :(得分:2)
首先,你在谈论分类,而不是回归 - 分类允许从固定集合预测值(例如0或1),而回归产生实际数字输出(例如0,0.5, 10.1543等)。也不要与所谓的逻辑回归混淆 - 它也是分类器,它的名字只是表明它是基于线性回归的。
要处理如此大量的数据,您需要归纳(可更新)模型。特别地,在Weka中,在分类部分下有许多这样的算法(例如Naive Bayes Updatable,Neutral Networks Updatable和其他)。使用归纳模型,您将能够逐个加载数据并以适当的方式更新模型(对于Weka,请参阅知识流界面以获取有关如何更轻松地使用它的详细信息)。
某些分类器可能会使用分类数据,但我无法记住它们的任何可更新性,因此很可能您仍需要将分类数据转换为数字。这里的标准解决方案是使用指标属性,即用几个二进制指示符替换每个分类属性。例如。如果您有具有7个可能值的属性day-of-week
,则可以用7个二进制属性替换它 - Sunday
,Monday
等。当然,在每个特定实例中,只有7个属性中的一个可以保留值1
和所有其他值必须为0
。
缺失值的重要性取决于数据的性质。有时候事先用一些中性值替换它们是值得的,有时分类器实现本身就是这样(有关详细信息,请查看算法的手册)。
最后,对于高度偏斜的数据,使用 F1 (或仅精确度 / 召回)而不是准确度。