首页 > 解决方案 > 如何构建有效的 K-means 算法?

问题描述

我写了一个简单的 K-mean 算法,但我发现很难逐个集群地探索它。

Github 链接:https ://github.com/AkshayBayas/Machine-learning-/blob/master/K-Means%20algorithm.ipynb

代码:

import pandas as pd    
import numpy as np    
import seaborn as sns    
import matplotlib.pyplot as plt 

%matplotlib inline    
%pylab    

Df = pd.read_csv('Kdata.csv') 
   
from sklearn.cluster import KMeans 
KModule = KMeans()    
K_model = KModule.fit(Df)    
K_result = K_model.predict(Df)    
centers = K_model.cluster_centers_    
K_model.labels_    
plt.scatter (x1,x2, c = K_model.labels_, cmap = 'rainbow' ) 

K-均值图

任何人都可以帮忙吗?

标签: pythonmachine-learningk-means

解决方案


不知道“按集群探索集群”是什么意思。

如果你不指定簇的数量,默认是8个,所以如果你像下面的代码一样从3开始,你可以将它们分开。您还需要将其设置为分类,集群,因此它不会在连续范围内着色:

import pandas as pd    
import numpy as np    
import seaborn as sns    
import matplotlib.pyplot as plt 

Df = pd.read_csv('Kdata.csv') 

from sklearn.cluster import KMeans 
KModule = KMeans(n_clusters=3)    
K_model = KModule.fit(Df)    
K_result = K_model.predict(Df)

Df['cluster'] = pd.Categorical(K_model.labels_)
       
sns.scatterplot("V1","V2",data=Df,hue='cluster',cmap = 'rainbow' )

在此处输入图像描述

Df.plot.scatter("V1","V2",c='cluster',cmap = 'rainbow')

在此处输入图像描述


推荐阅读