私はspark(pysparkを使用して)の新しいです。私はhere (link)から決定木のチュートリアルを実行しようとしました。私は、コードを実行します。Pyspark、Decision Trees(スパーク2.0.0)
from pyspark.ml import Pipeline
from pyspark.ml.classification import DecisionTreeClassifier
from pyspark.ml.feature import StringIndexer, VectorIndexer
from pyspark.ml.evaluation import MulticlassClassificationEvaluator
from pyspark.mllib.util import MLUtils
# Load and parse the data file, converting it to a DataFrame.
data = MLUtils.loadLibSVMFile(sc, "data/mllib/sample_libsvm_data.txt").toDF()
labelIndexer = StringIndexer(inputCol="label", outputCol="indexedLabel").fit(data)
# Now this line fails
featureIndexer =\
VectorIndexer(inputCol="features", outputCol="indexedFeatures", maxCategories=4).fit(data)
私は、エラーメッセージが出ます: はIllegalArgumentException:u'requirementに失敗しました:カラムの機能はタイプ[email protected]でなければなりませんが、実際に組織されたが。 [email protected]。 '
use from pyspark.ml.linalg import Vectors, VectorUDT
instead of
from pyspark.mllib.linalg import Vectors, VectorUDT
私はそれを使用していないことから、奇数である:このエラーをグーグルとき
は、私が言うの答えを見つけました。また、このインポートを自分のコードに追加すると、何も解決されず、同じエラーが発生します。
このような状況をデバッグする方法についてはっきりしていません。生データに見たとき、私は以下を参照してください。
data.show()
+--------------------+-----+
| features|label|
+--------------------+-----+
|(692,[127,128,129...| 0.0|
|(692,[158,159,160...| 1.0|
|(692,[124,125,126...| 1.0|
|(692,[152,153,154...| 1.0|
これは、リストのように見えるが、「(」で始まる
私はこの問題、あるいはデバッグ... 提案を解決する方法がわかりません私が間違っているの何にとして?
おかげ
どのバージョンのスパークを使用していますか? – Yaron
私はスパーク2.0.0を使用しています – Ruslan