Mám dataframe (inputDF) so 100 stĺpcami s desatinným typom údajov. Chcem vytvoriť LabelPoint pomocou dátového rámca (inputDF).
Dokážem vytvoriť LablePoint tak, že zakóduje každý stĺpec indexu dataframe, čo nie je optimálne riešenie.
val outputLabelPoint = inputDF.map(x => new LabeledPoint(0.0, Vectors.dense(x.getAs[Double](0),x.getAs[Double](1),x.getAs[Double](2),x.getAs[Double](3), ...))
Ako vytvoriť LablePoint z DataFrame priamo bez pevného zakódovania indexu každého stĺpca dataframe?
Pomoc by bola veľmi cenená.
odpovede:
0 pre odpoveď č. 1VectorAssembler môže byť transformátor, ktorý chcete nájsť.
VectorAssembler je transformátor, ktorý kombinuje daný zoznam stĺpcov do jedného vektorového stĺpca.
id | hodina mobilný userFeatures | clicked
---- | ------ | -------- | ------------------ | ---------
0 | 18 | 1,0 | [0,0, 10,0, 0,5] | 1.0
PO
id | hodina mobilný userFeatures | klikol | Vlastnosti
---- | ------ | -------- | ------------------ | --------- | -----------------------------
0 | 18 | 1,0 | [0,0, 10,0, 0,5] | 1,0 | [18,0, 1,0, 0,0, 10,0, 0,5]
Som zmätený, prečo sa tieto dve tabuľky nemôžu správne zobraziť.
Pozri príklad v Spark Doc pre viac detailov.
Ak potrebujete ďalšiu pomoc, opíšte názvy stĺpcov a spôsob ich generovania.