问题描述
我正在尝试建立一个回归模型,该模型的基础特征矩阵非常大(在73K列上有418K行)并且非常稀疏(58M非零值,约占整个矩阵的0.2%)。
我将矩阵坐标表示为DataFrame,其中第一列是行坐标AndroidX
,第二列是列坐标i
,第三列是第j
位的值
例如以下矩阵:
{i,j}
由
表示+-+-+-+
|0|1|0|
|2|0|0|
|0|0|3|
+-+-+-+
我有一个单独的DataFrame,其中包含每行+-+-+-----+
|i|j|value|
+-+-+-----+
|0|1| 1 |
|1|0| 2 |
|2|2| 3 |
+-+-+-----+
的标签。
如果可能的话,我希望该解决方案使用更新的i
库而不是较旧的ml
解决方法
下面,我给出一个小代码示例,说明如何在mllib
中实现分布式稀疏线性回归。我已经在大型集群(Databricks运行时版本6.5 ML-包括Apache Spark 2.4.5,Scala 2.11)上将矩阵与相关矩阵一起使用,因此它可以很好地扩展,并且只需几分钟即可执行。
spark ml