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

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

ここでは、40枚のカードを選択し、ランダムに3枚のカードを選択し、それぞれのポイントをクラスセンターとして使用しました。最初は2 6 9でした。

 

 

各分類の基本は、ポイントが中心に近く、分類の下で分類されることです。初めて分類した後、各クラスの中心値を計算し(このクラスのすべての数値を平均)、3つのクラスの中心を再描画すると、2番目のクラスは次のようになります

 

 クラスの中心が変化しなくなるまで、上記の計算手順を繰り返します。具体的な結果を次の表に示します。

 

 

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

 

numpyをnpとしてインポートします。
sklearn.datasetsからimport load_iris
matplotlib.pyplotをpltとしてインポートする

アイリス= load_iris()
pl = iris.data [:、2]
n = len(pl)#サンプル数
k = 3#センターの数
dist = np.zeros([n、k + 1])#行列を初期化する
center = np.zeros([k])
centerNew =例:ゼロ([k])
範囲(k)のfor i:#最初に同じ中心を避ける
    range(n)のjの場合:
        pl [j]が中央にある場合:
            継続する
        そうしないと:
            center [i] = pl [j]
            ブレーク

while(真):
    range(n)のiの場合:
        range(k)のjの場合:
            dist [i、j] = np.sqrt((pl [i] -center [j])** 2)#距離を計算
        dist [i、k] =例:マージン(dist [i ,: k])

    #新しい中心を計算する
    範囲(k)のiの場合:
        インデックス= dist [:, k] == i
        centerNew [i] = np.mean(pl [index])

    #2つの中心が以前に同じであった場合は飛び出し、そうでない場合は続行します
    if np.all((center == centerNew)):
        ブレーク
    そうしないと:
        範囲(k)のiの場合:
            center [i] = centerNew [i]

plt.scatter(pl、pl、c = dist [:、k]、s = 60、cmap = 'rainbow')
plt.show()

  結果が出た後、それは非常に満足のいくものではありませんでした。

 

 

 

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

 

matplotlib.pyplotをpltとしてインポートする
sklearn.clusterからインポートKMeans
sklearn.datasetsからimport load_iris

アイリス= load_iris()
pl = iris.data [:、2]
x = pl.reshape(-1,1)
est = KMeans(n_clusters = 3)
推定適合(x)

y_kmeans = est.predict(x)
plt.scatter(x [:、0]、x [:、0]、c = y_kmeans、s = 50、cmap = 'rainbow');
plt.show()

  

 

 

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

irisData = iris.data
KMeans_model = KMeans(n_clusters = 3)
KMeans_model.fit(irisData)
pre = KMeans_model.predict(irisData)
plt.scatter(irisData [:、2]、irisData [:、3]、c = pre、s = 50、cmap = 'rainbow')
plt.show()

  

 

 

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

k-meansアルゴリズムは、教師なし分類アルゴリズムです。主に、多数の特徴データを使用してカテゴリを区別します。上記の質問と同様に、KMeansアルゴリズムは、虹彩の種類を区別するために使用できます。実際には、人を区別するためにも使用できます。体重や身長などのデータは、身長、身長、体脂肪、痩身など体調の異なる人を分けるのに使用でき、短編作品と長編作品は文学作品の長さで分類することもできます。

おすすめ

転載: www.cnblogs.com/xiaoAP/p/12704464.html