ホームページ >テクノロジー周辺機器 >AI >次元の削減を理解する
次元の削減は、機械学習とデータ分析における重要な手法です。 高次元データをより低次元表現に変換し、重要な情報を保存します。 多数の機能を備えた高次元データセットは、機械学習モデルに課題をもたらします。このチュートリアルでは、次元削減、さまざまな手法、および画像データへのアプリケーションを使用する理由を探ります。 結果を視覚化し、より低次元空間の画像を比較します。
機械学習を包括的に理解するには、「Pythonの機械学習科学者になる」キャリアトラックを検討してください。なぜ寸法を減らすのですか?
これらは、データが線形サブスペース内にあると仮定します。 それらは計算上効率的で、線形構造化されたデータに適しています。例は次のとおりです
主成分分析(PCA):データの差異の最大化方向(主成分)を識別します。
線形識別分析(LDA):分類に役立ち、寸法削減中のクラスの分離性を維持します。 詳細については、「Pythonの主成分分析(PCA)」チュートリアルをご覧ください。
監視されていないデータ圧縮に使用されるニューラルネットワーク。
次元削減の種類機能の選択:データを変換することなく、最も関連性の高い機能を選択します。方法には、フィルター、ラッパー、埋め込みメソッドが含まれます
機能抽出:元のものの組み合わせから新しい機能を作成することにより、データを低次元空間に変換します。 これは、元の機能が相関または冗長である場合に役立ちます。 PCA、LDA、および非線形メソッドはこのカテゴリに分類されます 画像データの寸法削減
Pythonを使用して、次元の削減を画像データセットに適用しましょう:1。データセットの読み込み:
これにより、数字データセット(手書きの数字0〜9、8x8ピクセルごとに64の機能にフラット化されました)がロードされます。
import numpy as np import matplotlib.pyplot as plt from sklearn.datasets import load_digits from sklearn.manifold import TSNE from sklearn.preprocessing import StandardScaler digits = load_digits() X = digits.data # (1797, 64) y = digits.target # (1797,) print("Data shape:", X.shape) print("Labels shape:", y.shape)2。画像の視覚化:
この関数には、サンプル画像が表示されます 3。 t-sneの適用:
def plot_digits(images, labels, n_rows=2, n_cols=5): # ... (plotting code as before) ...
これはデータをスケーリングし、効率のためにサブセットを選択し、T-SNEを適用して2つの寸法に減少します。
4。 T-sne出力の視覚化:
scaler = StandardScaler() X_scaled = scaler.fit_transform(X) n_samples = 500 X_sub = X_scaled[:n_samples] y_sub = y[:n_samples] tsne = TSNE(n_components=2, perplexity=30, n_iter=1000, random_state=42) X_tsne = tsne.fit_transform(X_sub) print("t-SNE result shape:", X_tsne.shape)
これは、数字ラベルで色分けされた2D T-SNE表現を視覚化します。
5。画像の比較:
plt.figure(figsize=(8, 6)) scatter = plt.scatter(X_tsne[:, 0], X_tsne[:, 1], c=y_sub, cmap='jet', alpha=0.7) plt.colorbar(scatter, label='Digit Label') plt.title('t-SNE (2D) of Digits Dataset (500-sample)') plt.show()これは、2つのポイントをランダムに選択し、T-SNE空間での距離を計算し、対応する画像を表示します。
import random idx1, idx2 = random.sample(range(X_tsne.shape[0]), 2) # ... (distance calculation and image plotting code as before) ...結論
次元削減により、機械学習モデルの効率、精度、解釈可能性が向上し、データの視覚化と分析が向上します。 このチュートリアルは、次元の削減の概念、方法、およびアプリケーションをカバーし、画像データでのT-SNEの使用を実証しました。 「Pythonの次元削減」コースは、さらに詳細な学習を提供します。
faqs
一般的な寸法削減手法:
PCAの監督:
監視なし。以上が次元の削減を理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。