0
SparkでKMeansクラスタ解析を実行しようとしたのは初めてのことです。愚かな質問をおかけして申し訳ありません。PySparkでKMeansクラスタリングを実行しています
多くの列を持つスパークデータフレームmydataframe
があります。私は、単純な値として、lat
とlong
(緯度&経度)の2つの列でkmeansを実行したいとします。私はちょうどそれらの2つの列に基づいて7つのクラスターを抽出したいと思います。
from numpy import array
from math import sqrt
from pyspark.mllib.clustering import KMeans, KMeansModel
# Prepare a data frame with just 2 columns:
data = mydataframe.select('lat', 'long')
# Build the model (cluster the data)
clusters = KMeans.train(data, 7, maxIterations=15, initializationMode="random")
をしかし、私はエラーを取得しています:私が試した
'DataFrame' object has no attribute 'map'
1はKMeans.train
にフィードオブジェクトでなければなりませんか? 明らかに、DataFrameを受け入れません。 分析のためにデータフレームをどのように準備すればよいですか?
ありがとうございました!
大変ありがとうございます!また、私はちょうどここで簡単に言及発見:https://spark.apache.org/docs/1.0.1/api/java/org/apache/spark/mllib/clustering/KMeans.html - そう、さらにRDDであるため、RDDもキャッシュされるべきですか? – user3245256
これで十分でしょうか?:data_rdd = data.rdd data_rdd.cache() - 次に:clusters = KMeans.train(data_rdd、7、maxIterations = 15、initializationMode = "random") – user3245256
はい、高速化のため)、あなたの声明で十分です –