2016-05-04 5 views
-1

Ich bin eine logistische Regression auf Datenrahmen, und wie logistische Regressionsfunktion in Spark nicht in kategorischen Vriable nehme ich es transformieren.Anfügen einer transformierten Spalte in pyspark

Ich verwende String Indexer Transformator.

indexer=StringIndexer(inputCol="classname",outputCol="ClassCategory") 

Ich möchte diese Transformationsspalte zurück an Dataframe anhängen. df.withColumn lässt mich das nicht tun, weil Objekt Indexer keine Spalte ist.

Gibt es eine Möglichkeit zum Transformieren und Anhängen.

+0

Vielleicht können die Beispiele in diesem Link Ihnen helfen: https://spark.apache.org/docs/latest/ml-features.html#stringindexer –

+0

Hallo Ich bin durch den Link gegangen und stringIndexer als die effizienteste Möglichkeit gefunden um Indizes meines String-Wertes zu erstellen, um in das Modell einzufügen. Ich bin jedoch immer noch auf der Suche nach der indexierten Tabelle in meinem Datenrahmen. –

+0

haben Sie versucht 'indexed = indexer.fit (df) .transform (df)'? –

Antwort

1

Wie in den Beispielen der Spark ML Documentation zu sehen ist, können Sie Folgendes versuchen:

// Original data is in "df" 
indexer = StringIndexer(inputCol="classname",outputCol="ClassCategory") 
indexed = indexer.fit(df).transform(df) 
indexed.show() 

Das indexed Objekt wird ein Datenrahmen mit einer neuen Spalte namens „ClassCategory“ (der Name als outputCol bestanden) .