機械学習-03K平均アルゴリズム

1)。トランプの手動演奏のK平均クラスタリングプロセス:> 30枚のカード、3種類

 

                                                図1統計表

 

                                     図2一次ラウンドの実態

 

                               図3 2次ラウンドの実態

2)。* K平均アルゴリズムは独立して記述され、クラスタリングはアイリス花弁の長さのデータに対して実行され、散布図で表示されます。(プラスポイント)

ps:人工知能の先生は以前にこのアルゴリズムを教えたので、コードは基本的に同じです。

ソースコード:   


sklearn.datasetsからデータセットインポートするimport load_iris 
import numpy as np 

data = load_iris()。Data 
n = len(data)#サンプルの総数を計算する
m = data.shape [1]#サンプル属性の数
k = 3 クラスを選択する中心の数
dist = np.zeros([n、k + 1])#距離行列を初期化し、最後の列に各サンプルのカテゴリーを格納します

center = data [:k 
、:] center_new = np.zeros([k、m] )
while True:

    for i in range(n):
        for j in range(k):
            dist [i、j] = np.sqrt(sum((data [i、:]-center [j ,:])** 2))

        dist [i、k] = np.argmin(dist [i ,: k])

    for i in range(k):
        index = dist [:、k] == i#
        center_new [i ,:] = data [index 

    、:]。平均(axis = 0)if np.all((center == center_new)):
        ブレーク 
    他ました:
        センター= center_new 
print( "150サンプルの分類\ n"、dist [:、k])

 

                                          図4クラスタリングの結果

3)。クラスタリングにsklearn.cluster.KMeansとアイリス花弁の長さデータを使用し、散布図で表示します。

ソースコード:

from sklearn.datasets import load_iris 
from sklearn.cluster import KMeans 
import matplotlib.pyplot as plt 

iris = load_iris()
data = iris.data [:、1] 
x = data.reshape(-1,1)#

平化y = KMeans (n_clusters = 3)#重心数が3のKMeansモデルの構築を紹介します
y.fit(x)#モデルをトレーニングし、k平均クラスタリングを計算します

y_pre = y.predict(x)#訓練されたモデルに従って、つまりクラスタリングを計算します各サンプルのクラスタリングインデックスを中心にして予測します

plt.scatter(x [:、0]、x [:、0]、c = y_pre、s = 50、cmap = 'rainbow')
plt.show()

 

 

 

 

                                                              図5コードと散布図

4)。アイリスの花の完全なデータがクラスター化され、散布図で表示されます。

ソースコード:

インポートload_iris sklearn.datasets 
から関数kmeans sklearn.clusterインポート
PLT ASインポートmatplotlib.pyplot

IRIS = load_irisは()
X = iris.data
Y =関数kmeans(= n_clusters。3)重心の構築物#1関数kmeansモデル番号を導入する。3
y.fitを( x)
モデルをトレーニングし、k平均クラスタリングを計算しますy_pre = y.predict(x)#トレーニング済みモデルに従って予測します。つまり、クラスタリングの中心を計算し、各サンプル
プリントのクラスタリングインデックスを予測します( "予測結果:\ n" 、y_pre)
plt.scatter(x [:、2]、x [:、3]、c = y_pre、s = 100、cmap = 'rainbow'、alpha = 0.5)
plt.show()

  

                                          図6予測結果とその散布図

5)。k-meansアルゴリズムで何が使用されているかを考えますか?

回答:k-meansクラスタリングは最も有名なクラスタリングアルゴリズムであり、そのシンプルさと効率性から、すべてのクラスタリングアルゴリズムの中で最も広く使用されています。データポイントのセットと必要なクラスター数kを指定すると、kはユーザーによって指定され、k平均アルゴリズムは、特定の距離関数に従ってデータをk個のクラスターに繰り返し分割します。人生は、特定の特性に従って物事を分類および分類するために使用できます。たとえば、中国のサッカーチームのレベルを前年のデータに従って分析したり、前年の種子の品質に基づいて今年の種子の品質を予測したり、データを分類したりします。

おすすめ

転載: www.cnblogs.com/lcj170/p/12709350.html