【发布时间】:2018-07-28 03:57:24
【问题描述】:
我尝试了下面的代码,但是在执行时,它显示了以下错误:
(ValueError: x 和 y 的大小必须相同)
代码:
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans
df1=pd.read_excel('F:/Test PCA/Week-7-MachineLearning/weather_V2.xlsx',sheetname='Sheet1', header=0,)
df=df1.dropna();
del df['rain_accumulation']; del df['rain_duration']
features=['air_pressure', 'air_temp', 'avg_wind_direction', 'avg_wind_speed', 'max_wind_direction',
'max_wind_speed','relative_humidity']
select_df=df[features]; #print select_df.air_pressure
x=StandardScaler().fit_transform(select_df)
Kmeans=KMeans(n_clusters=12)
Model=Kmeans.fit(x); #print Model
y_kmeans = Kmeans.predict(x)
data_labels=Kmeans.labels_;
centers=Model.cluster_centers_
plt.scatter(x[:, 0], x[:, 1], c=y_kmeans, s=50, cmap='viridis')
plt.scatter(centers[:0], centers[:1], color ='k')
plt.show()
【问题讨论】:
-
我没有在您的代码中看到 y 并提供详细的回溯。
-
@AkshayNevrekar: x[:, 1] 是您在 plt.scatter 中看到的 Y。
标签: python matplotlib scikit-learn