私はスパークMLパイプラインを使って、本当に広いテーブルで分類モデルを設定していました。つまり、それぞれの文字を実際に入力するのではなく、列を扱うすべてのコードを自動的に生成する必要があります。私はスカラとスパークの初心者です。Spark ML VectorAssembler()はデータフレームの何千ものカラムを扱っています
val featureHeaders = featureHeader.collect.mkString(" ")
//convert the header RDD into a string
val featureArray = featureHeaders.split(",").toArray
val quote = "\""
val featureSIArray = featureArray.map(x => (s"$quote$x$quote"))
//count the element in headers
val featureHeader_cnt = featureHeaders.split(",").toList.length
// Fit on whole dataset to include all labels in index.
import org.apache.spark.ml.feature.StringIndexer
val labelIndexer = new StringIndexer().
setInputCol("target").
setOutputCol("indexedLabel")
val featureAssembler = new VectorAssembler().
setInputCols(featureSIArray).
setOutputCol("features")
val convpipeline = new Pipeline().
setStages(Array(labelIndexer, featureAssembler))
val myFeatureTransfer = convpipeline.fit(df)
をどうやらそれは動作しませんでした:私は、次のような何かをしようとしていたとき、私はVectorAssembler()部分に貼り付けました。私は全体をもっと自動化するために何をすべきか、MLパイプラインはこの瞬間に多くのコラムを取っていません(私は疑います)。
これはまだ動作しません。私の入力データフレームは問題ないと思います。私はMLlibにフィードするラベル付きのポイントを簡単に作成できますが、MLパイプライン用には作成できません。アドバイス、ありがとう! –