評価の例をクラスタリングYellowBrick-

Yellowbrickライブラリ診断可視化プラットフォームは、機械学習では、データはモデル選択の科学者を導くために使用することができます。可視化ツール:それは新しいコアオブジェクトがSciKit学習APIを拡張して使用しています。視覚化ツールは、学習SciKit管継手および変換プロセスの一部としてモデルを可能にする高次元データ変換処理の視覚的な診断を提供します。

機械学習、機械学習アルゴリズムに属する教師なしクラスタリング、クラスター分析手段にグループデータパターン類似の複数のオブジェクトです。集まっクラスタリングやデータにおけるクラスタ中心またはパーティションの重心を見つけようとして類似したデータポイントの接続:アルゴリズムをクラスタリングの2種類があります。

現在、YellowBrickは特に、ヘルプのユーザーにk-meansクラスタリングが最高のK-パラメータクラスタリングメトリックを見つけ、重心のメカニズムを評価するために、2つの可視化ツールを提供しています?:

  • 視覚的スコアリング機能KelbowVisualizerクラスタは、曲線に「肘」を見つけます。

  • SilhouetteVisualizerは、各クラスタのスコアプロファイルの単一モデルで可視化しました。

%matplotlib inline

import pandas as pd
import matplotlib as mpl 
import matplotlib.pyplot as plt 

from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs

from yellowbrick.cluster import KElbowVisualizer, SilhouetteVisualizer

mpl.rcParams["figure.figsize"] = (9,6)

データのロード

以下の例では、2次元のデータセットを作成するためにScikit make_blobsを学ん()関数を使用します8ランダムな点のクラスタの例が含まれています。

# Generate synthetic dataset with 8 blobs
X, y = make_blobs(n_samples=1000, n_features=12, centers=8, shuffle=True, random_state=42)

# 数据样本1000
# 样本的特征数量12
# 聚类数量8

メソッドの肘

K-手段は、クラスタのデータセットの最適な数でない場合であっても、クラスタ?kのユーザが指定した番号へのデータパケットそれは、簡単な教師なし機械学習アルゴリズムです。

KelbowVisualizer YellowbrickモデルによってクラスタのK-手段の最高の数を選択すること、すなわち、「肘」方法を達成?Kは、値の範囲と一致します。アームのような折れ線グラフに見える場合は、「肘」(曲線上の変曲点)は、この時点で最も適切なそのベースモデルを示し、良好なチップです。

次の例では、KelbowVisualizerは?4 11モデルからのK値の範囲を提供(4,12)=パラメータkによって適応しました。8つのクラスタのためのモデルは、私たちはこのような場合には、図中の「肘」を参照してくださいすることができたとき、私たちは、合成データセットは点の8つのクラスターが含まれて作成しているので、これは、最高のデジタルであることを知っています。

# Instantiate the clustering model and visualizer
model = KMeans()
visualizer = KElbowVisualizer(model, k=(4,12))

visualizer.fit(X)    # Fit the data to the visualizer
visualizer.poof()    # Draw/show/poof the data

# 横轴:K    左侧纵轴:失真分数(越小越好)  右侧纵轴:拟合时间(约小越好)
# 蓝色线为不同K时的失真分数,淡绿色为拟合时间

 

プロファイル可視化ツール

輪郭分析は、密度とクラスタの評価との間の分離のために使用することができます。スコアは、各試料の輪郭の係数を平均することによって計算され、係数は、距離と最大値で正規化した各試料について、最も近いクラスタ平均クラスタ内の平均距離との差として計算されます。スコア範囲と-1と+1でこの結果、-1フラクション近いサンプルが間違ったクラスタに割り当てることができる示しながら、高解像度の近傍を表す+1スコア。

各サンプルの各係数の概要、および密度分離は、ユーザーがクラスタを視覚化することを可能に表示するSilhouetteVisualizerクラスタ基盤。この?Kの値は、複数の可視化ツールの選択を比較することによって、不均衡又はクラスタを決定するために特に有用です。

私たちは、これらの例のサンプルデータセットを作成し、我々はすでに、データ・ポイントは、8つのクラスタに分割されていることを知っています。このように、第一の可視化ツールのプロファイルのために、我々は?Kは、Kの使用中?外観の描画の最適値が表示されるように、8に設定されています。

図は、均一かつ長いプロファイルを含むことに留意されたいです。さらに、グラフ上の垂直赤い点線は、すべての輪郭の観測の平均スコアを表します。

# Instantiate the clustering model and visualizer 
model = KMeans(8)
visualizer = SilhouetteVisualizer(model)

visualizer.fit(X)    # Fit the data to the visualizer
visualizer.poof()    # Draw/show/poof the data

 

次の例では、kの非最適値がこの場合は6であるとき、何が起こるとき?で見てみましょう。

今、私たちは、クラスター1とクラスター2の幅もプロフィール係数スコアを増加下落していることがわかります。数に比例した幅のサンプルは、各クラスタプロファイルに割り当てられたためです。クラスタ未満の最適な数、その内の2つの大規模クラスタ(広い)が、(私たちは、それらの低い平均点から見てきたように)下の結束に私たちのデータを置くためのモデルの試み。

# Instantiate the clustering model and visualizer 
model = KMeans(6)
visualizer = SilhouetteVisualizer(model)

visualizer.fit(X)    # Fit the data to the visualizer
visualizer.poof()    # Draw/show/poof the data

 

出典:https://github.com/DistrictDataLabs/yellowbrick/blob/develop/examples/clustering.ipynb

公開された227元の記事 ウォン称賛94 ビュー540 000 +

おすすめ

転載: blog.csdn.net/wiborgite/article/details/96455545