【发布时间】:2023-03-19 13:13:01
【问题描述】:
我使用 Python 将 CSV 转换为 LIBSVM 数据格式。 LIBSVM 的格式如下所示。第一列是目标。
0 0:1 1:2 2:1 4:11 6:4 7:7 8:1 9:99 10:70 11:1
0 0:1 1:2 2:1 4:8 5:1 6:3 7:7 8:1 9:99 10:62 11:1
我在 Spark 中的 MLLib 决策树中的代码是
from pyspark.mllib.tree import DecisionTree, DecisionTreeModel
from pyspark.mllib.util import MLUtils
from pyspark import SparkContext
sc = SparkContext()
data = MLUtils.loadLibSVMFile(sc,"/folder/libdata.txt")
(trainingData, testData) = data.randomSplit([0.7, 0.3])
model = DecisionTree.trainClassifier(trainingData)
print(model.toDebugString())
model.save(sc, "/folder/myDecisionTreeClassificationModel")
我得到的错误是
java.lang.IllegalArgumentException: requirement failed: You provided 12 indices and values, which exceeds the specified vector size 11
不知道哪里出错了。数据格式也是正确的。
谢谢!
【问题讨论】:
标签: python apache-spark pyspark libsvm apache-spark-mllib