2016-11-28 2 views
1

ml.clustering Kmeansアルゴリズム(実際にml algos?)をdataframeで使用するには、データフレームを特定の形状にする必要があることを理解しています。(id、vector []) 、またはそのようなもの。正規のテーブル(dfに格納されている)を目的の構造に変換するための正しい変換を適用するにはどうすればよいですか? これは私のDFです:Pyspark:mlアルゴリズムでデータフレームを使用する

from pyspark import SparkConf 
from pyspark import SparkContext 


conf = SparkConf() 
sc = SparkContext(conf=conf) 
from pyspark.sql import SparkSession 
spark = SparkSession \ 
.builder \ 
.appName("Python Spark SQL basic example") \ 
.config("spark.some.config.option", "some-value") \ 
.getOrCreate() 
#----------------------------- 
#creating DF: 
l = [('user1', 2,1,4),('user2',3,5,6)] 
temp_df = spark.createDataFrame(l) 
temp_df.show() 

+-----+---+---+---+ 
| _1| _2| _3| _4| 
+-----+---+---+---+ 
|user1| 2| 1| 4| 
|user2| 3| 5| 6| 
+-----+---+---+---+ 

私が使用したい:

from pyspark.ml.clustering import KMeans 
kmean = KMeans().setK(2).setSeed(1) 
model = kmean.fit(temp_df) 

と私が取得:はIllegalArgumentException:。u'Field "機能" が存在しません」それ以外の場合は設定されていない場合

おかげで、

答えて

3

KMeansfeaturesという名前の、あるべきvectorタイプの入力欄が必要です。機能を組み合わせるには、VectorAssemblerを使用する必要があります。

相談してください:

関連する問題