KMean アルゴリズムを使用した分類

KMean アルゴリズムとは何ですか? KMean アルゴリズムとは何か、および KMean アルゴリズムの適用シナリオについて簡単に説明します。

KMeans は、データ セットを K 個の異なるカテゴリ (クラスター) に分割するクラスタリング アルゴリズムです。これにより、各データ ポイントがクラスターに属し、各クラスターの中心点 (重心) がクラスターの特性を表します。主な考え方は、各データ ポイントからそれが属するクラスターの重心までの距離の二乗和を連続反復によって最小化することです。

KMeans アルゴリズムの手順は次のとおりです。

  1. K 重心はランダムに初期化されます。
  2. データ ポイントごとに、各重心までの距離を計算し、最も近い重心を持つクラスターに割り当てます。
  3. クラスターごとに、その重心を再計算します。
  4. 特定の反復回数に達するか、クラスターの割り当てが変更されなくなるまで、手順 2 と 3 を繰り返します。

KMeans アルゴリズムには、次のような多くのアプリケーション シナリオがあります。

  1. 市場分析: 購買行動を分析して消費者をグループ化し、グループごとに異なるマーケティング戦略を採用します。
  2. 画像の分割:画像のピクセルを色や明るさなどの特性に応じて異なる領域に分割し、画像の分割を実現します。
  3. バイオインフォマティクス: タンパク質の構造の発見、DNA 配列中の遺伝子の特定など、クラスタリングを通じて生物学実験データのパターンと構造を発見します。
  4. 自然言語処理: ニュース記事をさまざまなトピック カテゴリに分類するなど、テキスト データをクラスタリングします。

KMean アルゴリズムを使用したアヤメの花の分類

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

# 加载鸢尾花数据
iris = load_iris()

# 构建数据框
X = pd.DataFrame(iris.data, columns=iris.feature_names)
y = pd.Series(iris.target)

# 使用KMeans算法进行聚类
kmeans = KMeans(n_clusters=3, random_state=42)
kmeans.fit(X)

# 绘制聚类结果的散点图
plt.scatter(X.iloc[:, 0], X.iloc[:, 1], c=kmeans.labels_, cmap='viridis')
plt.xlabel('Sepal length')
plt.ylabel('Sepal width')
plt.show()

このコードは、最初に虹彩データを読み込み、次に KMeans アルゴリズムを使用してデータを 3 つのクラスターにクラスター化します。最後に、クラスタリング結果の散布図が Matplotlib ライブラリを使用して描画されました。異なる色は異なるクラスタを表します。

効果:

 

 KNN アルゴリズムと KMean アルゴリズムの違いは何ですか?

KNN アルゴリズムと KMeans アルゴリズムは 2 つの異なる機械学習アルゴリズムであり、主な違いは次のとおりです。

  1. 目標: KNN アルゴリズムは、新しいデータ ポイントのカテゴリまたは数値属性を予測することを目標とする教師あり学習アルゴリズムです。KMeans アルゴリズムは教師なし学習アルゴリズムであり、その目標はデータ セットを K 個のクラスターに分割することです。ここで、K はユーザー定義のパラメーターです。
  2. 入力データ: KNN アルゴリズムは、分類のために既知のカテゴリのトレーニング データ セットを使用します。KMeans アルゴリズムは、クラスタリングにラベルのないデータ セットを使用します。つまり、特徴ベクトルのみを使用し、ラベルは使用しません。
  3. アルゴリズム プロセス: KNN アルゴリズムは、トレーニング中にすべてのトレーニング データを単純に保存し、分類するデータと分類中にすべてのトレーニング データとの間の距離を計算し、最も近い K 個のトレーニング データを見つけ、K に従ってカテゴリを分類します。データ。KMeans アルゴリズムでは、トレーニング中に K 個のランダムな中心点を初期クラスター中心として選択し、各データ ポイントを最も近いクラスターに繰り返し割り当て、収束するまでクラスター中心を再計算する必要があります。
  4. 出力: KNN アルゴリズムの出力は、予測されたカテゴリまたは数値属性です。KMeans アルゴリズムの出力は、K 個のクラスターであり、各データ ポイントが属するクラスターです。

つまり、KNN アルゴリズムはデータ ポイントをさまざまなカテゴリに分割する分類アルゴリズムであり、KMeans アルゴリズムはデータ ポイントをさまざまなクラスターに集約するクラスタリング アルゴリズムです。

おすすめ

転載: blog.csdn.net/weixin_64612659/article/details/130090447