pyspark mlib 中 运行 逻辑回归时出错

Error while running Logistic Regression in pyspark mlib

我有一个数据框(df_ml_nullable),像这样:

+-----+--------------------+
|label|            features|
+-----+--------------------+
|  0.0|[127.0,132.0,123....|
|  0.0|[67.0,67.0,67.0,6...|
|  0.0|[-29.0,-30.0,-28....|
|  4.0|[31.0,31.0,31.0,3...|
|  0.0|[39.0,40.0,42.0,4...|
+-----+--------------------+

以下是此数据框的架构: df_ml_nullable.printSchema()

root
 |-- label: double (nullable = false)
 |-- features: vector (nullable = false)

我尝试 运行 这样的逻辑回归:

    from pyspark.ml.linalg import Vectors
    from pyspark.ml.classification import LogisticRegression
    lr = LogisticRegression(maxIter=10, regParam=0.01)
    (train_d,test_d)=df_ml_nullable.randomSplit([0.7, 0.3])
    model1 = lr.fit(train_d)

当我尝试 运行 时,我得到了这个错误: IllegalArgumentException:您的要求失败:列特征必须是 struct,values:array> 类型,但实际上是 struct,values:array>。'

有人遇到过这个问题吗?

问题出在导入上。我没有从 ml 导入,而是从 mllib 导入向量。以下更正起到了作用:

#from pyspark.mllib.linalg import Vectors, VectorUDT
from pyspark.ml.linalg import Vectors,VectorUDT

@Vincent - 感谢提示。