Фреймы данных Pyspark: создание столбца компонентов для использования в кластеризации в python - PullRequest
0 голосов
/ 04 марта 2019

Я пытаюсь создать кластеризацию k-средних в pyspark.Я использую mnist в качестве набора данных, в котором есть сотни столбцов с целочисленными значениями.

После создания фрейма данных, когда я пытаюсь создать столбец объектов для использования в кластеризации, я незнать, что дать в качестве inputCols параметра для VectorAssembler.Ниже приведен мой код

sc = SparkContext('local')
spark = SparkSession(sc)

df = spark.read.csv('mnist_train.csv')
df.show()
df_feat = df.select(*(df[c].cast("float").alias(c) for c in df.columns[0:]))
df_feat.show()

vecAssembler = VectorAssembler(inputCols = ???????, outputCol = "features")

Что я должен указать в качестве параметра для inputCols для этих больших целочисленных данных, которые я использую?

1 Ответ

0 голосов
/ 07 марта 2019

Vectorassembler требуется список имен столбцов для создания вектора объектов.Таким образом, для набора данных mnist вы можете дать ему все, кроме ярлыков.Например:

#I assume that df_feat.columns[0] is the column which contains the labels
cols = df_feat.columns[1:]
vecAssembler = VectorAssembler(inputCols = cols, outputCol = "features")
...