Ich mache ein Random Forest Klassifizierungsmodell auf meinem Datensatz. Es gibt einige kategorische Variablen, mit denen ich sie unter Verwendung der oneHotEncode-Methode behandle, die von spark1.6 bereitgestellt wird. Schließlich bekam ich viele Sparse Vektorenwie mit kategorialen Variablen in Spark-1.6 umgehen?
Meine Codes:
def oneHotEncode(a: String,b:String,c:String,selectedData:DataFrame) :
DataFrame = {
val indexer = new StringIndexer().setInputCol(a).setOutputCol(b).fit(selectedData)
val indexed = indexer.transform(selectedData)
val encoder = new OneHotEncoder().setInputCol(b).setOutputCol(c)
val encoded = encoder.transform(indexed)
return encoded
}
var data1 = oneHotEncode("ispromoteroom","ispromoteroomIndex","ispromoteroomVec",selectedData)
Die Frage ist, wie kann ich diese spärlichen Vektoren und anderen ursprünglichen kontinuierlichen Variablen im Datensatz in LabeledPoint Datentyp umwandeln?