我对Apache Spark的世界相对较新。我正在尝试使用LinearRegressionWithSGD()来估计一个大型模型,我想估计固定效果和交互项,而不必创建一个巨大的设计矩阵。
我注意到DecisionTree中有一个支持分类变量的实现
创建从字符串到整数的哈希映射并将其提供给模型。有没有人在Spark中尝试过类似的线性模型练习?
感谢。
答案 0 :(得分:2)
您可以使用One-Hot encoding将分类变量转换为可以输入线性回归模型的特征空间。
例如,如果您的分类变量的值为:Low,Medium,High,则可以使用以下三种不同的整数功能对其进行编码:
Category Low Medium High
Low 1 0 0
Medium 0 1 0
High 0 0 1
这只是一种方法,还有其他方法,但如果你的分类值不是太大,One-Hot编码很合适。
答案 1 :(得分:0)
我一直在研究这个问题。我的估计有很多类别,所以在输入MLlib之前创建整个设计矩阵是非常低效的。我试图修改Spark源代码,以便在梯度下降内运行SGD时展开行。完成后我会发布解决方案。