Ich möchte die Ausgabeklasse eines Spark dataframe
mithilfe eines Naive-Klassifikatormodells vorhersagen, ich benutze die strukturierte Streaming-Funktionalität von Spark 2.1.0. Wenn ich versuche, das zu tun:Konvertieren eines Spark-Datenrahmens in Vector
tokenizer = Tokenizer(inputCol="message",outputCol="logTokenize")
tokenizeData = tokenizer.transform(stream_df)
hashingTF = HashingTF(inputCol="logTokenize", outputCol="rawFeatures", numFeatures = 1000)
featurizedData = hashingTF.transform(tokenizeData)
stream_df = featurizedData.select("rawFeatures")
path = "/tmp/NaiveClassifier"
naive_classifier_model = NaiveBayesModel.load(spark.sparkContext,path)
predictions = naive_classifier_model.predict(stream_df)
ich die folgende Fehlermeldung bekam:
TypeError: Cannot convert type <class 'pyspark.sql.dataframe.DataFrame'> into Vector
stream_df
ist ein Spark-Datenrahmen und ich möchte einen Datenrahmen mit rawFeatures
und den vorhergesagten Klassen Spalten erhalten.
versuchte ich, dass vor, das Problem, das ich denke, ist das Naive Klassifikator Objekt, wenn ich versuche, die 'naive_classifier_model.fit (stream_df) zu nennen' ich einen Fehler, und ich denke, Ich kann die "Predicate" -Funktion nicht mit der Ausgabe des 'VectorAssembler' aufrufen. Ja, es ist besser, eine Pipeline zu verwenden, aber derzeit mache ich das zum Debuggen –
Sie haben den gleichen Fehler, während mit Vectoresembler versucht? – Suresh