dataframe[dataframe['name'] == 'Stockholm Skies (feat. Tom Taped & Alex Aris)'] df_s = StandardScaler().fit_transform(df) df_s tsne_results = TSNE(n_components = 2, verbose = 1, perplexity = 50, n_iter = 10000).fit_transform(df_s) tsne_results=pd.DataFrame(tsne_results, columns=['tsne1', 'tsne2']) tsne_results['name'] = dataframe['name'] tsne_results['energy'] = dataframe['energy'] tsne_results['acousticness'] = dataframe['acousticness'] tsne_results['valence'] = dataframe['valence'] tsne_results['tempo'] = dataframe['tempo'] tsne_results['danceability'] = dataframe['danceability'] tsne_results['uri'] = dataframe['uri'] tsne_results.head(5) tsne_results[tsne_results['name'] == 'Stockholm Skies (feat. Tom Taped & Alex Aris)'] def plot_tsne(): plt.scatter(tsne_results['tsne1'], tsne_results['tsne2']) plt.show() plot_tsne() def plt_tsne(): sns.FacetGrid(tsne_results, hue = 'danceability', height = 5).map(plt.scatter, 'tsne1', 'tsne2' ) plt.show() plt_tsne()
# 各类别个数 r1 = pd.Series(model.labels_).value_counts() r2 = pd.DataFrame(model.cluster_centers_) print(r1) print(r2) r = pd.concat([r2, r1], axis=1) # 重命名表头 r.columns = list(data.columns) + [u'类别数目'] print(r) # 详细输出原始数据及其类别 res = pd.concat([data, pd.Series(model.labels_, index=data.index)], axis=1) res.columns = list(data.columns) + [u"聚类类别"] res.to_excel(outputfile) from sklearn.manifold import TSNE import matplotlib.pyplot as plt t = TSNE() t.fit_transform(data_std) t = pd.DataFrame(t.embedding_, index=data_std.index) print(t.head(5)) plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False d = t[res[u'聚类类别'] == 0] plt.plot(d[0], d[1], 'r.') d = t[res[u'聚类类别'] == 1] plt.plot(d[0], d[1], 'go') d = t[res[u'聚类类别'] == 2] plt.plot(d[0], d[1], 'b*') plt.show() plt.savefig('Consequence/label.png')