Как построить диаграмму рассеяния, используя python? - PullRequest
1 голос
/ 27 мая 2020

Я использовал этот код для создания кластеров, и я хочу построить график рассеяния кластеров. VectorAssembles_01 создает данные с идентификатором и функциями. Оба они должны использоваться для построения графика рассеяния. Когда я запускаю код в Google Collab, я получаю сообщение об ошибке, в котором указано RecursionError: максимальная глубина рекурсии превышена при сравнении. поправьте пожалуйста, если я ошибаюсь.

from pyspark.ml.clustering import KMeans
from pyspark.ml.feature import VectorAssembler
import numpy as np
import matplotlib.pyplot as plt

FEATURES_COL = ['Height(CM)', 'Weight(KG)', 
                      'Crossing', 'Finishing', 'HeadingAccuracy', 
                      'ShortPassing', 'Volleys', 'Dribbling', 'Curve',
                      'FKAccuracy', 'LongPassing', 'BallControl', 
                      'Acceleration', 'SprintSpeed', 'Agility', 
                      'Reactions', 'Balance', 'ShotPower', 'Jumping', 
                      'Stamina', 'Strength', 'LongShots', 'Aggression', 
                      'Interceptions', 'Positioning', 'Vision', 'Penalties', 
                      'Composure', 'Marking', 'StandingTackle', 'SlidingTackle']

vecAssembler_01 = VectorAssembler(inputCols=FEATURES_COL, outputCol="features")
df_kmeansn = vecAssembler_01.transform(df).select('ID','features')
df_kmeansn.show()
#df_kmeansn.plot("ID","fearures",kind="Scatter")
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
x = df_kmeansn.ID
y = df_kmeansn.features
ax.scatter(x, y, alpha=0.8, edgecolors='none')

Результат df_kmeansn показан ниже.

output of the df_kmeansn

1 Ответ

0 голосов
/ 27 мая 2020

Я не уверен, что вы можете просто построить Spark Dataframe напрямую, возможно, вам следует сначала вызвать «to_ pandas»

# ...

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)

df_pandas = df_kmeansn.to_pandas()

x = df_pandas.ID
y = df_pandas.features
ax.scatter(x, y, alpha=0.8, edgecolors='none')

...