特徴抽出 scikit-learn

特徴抽出

Scikit-learnを使用して特徴抽出を行い、結果をグラフ化するためのサンプルコードを示します。

以下の例では、Breast Cancerデータセットから特徴抽出を行い、主成分分析(PCA)を使用してデータの次元削減を行います。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import numpy as np
import pandas as pd
from sklearn.datasets import load_breast_cancer
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt

# データセットの読み込み
data = load_breast_cancer()
X = data.data
y = data.target

# 特徴抽出: PCA
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X)

# グラフ化
plt.scatter(X_pca[:, 0], X_pca[:, 1], c=y, cmap='viridis')
plt.xlabel('PC1')
plt.ylabel('PC2')
plt.title('Breast Cancer Dataset - PCA')
plt.colorbar(label='Target')
plt.show()

上記のコードでは、Breast Cancerデータセットを使用して特徴抽出を行っています。

データセットから特徴量Xとラベルyを取得し、PCAを使用してデータの次元削減を行っています。

PCAn_componentsパラメータを2に設定しているため、データは2次元に削減されます。

削減後のデータをX_pcaに格納します。

最後に、削減されたデータを散布図として表示しています。

散布図の点の色はyの値に基づいて変化し、カラーバーが対応するクラスラベルを表示します。

[実行結果]

これにより、元のデータを2次元の空間にプロットし、データの分布やクラスの分離状況を視覚化することができます。

注意: 上記のコードでは、Breast Cancerデータセットを使用していますが、他のデータセットに適用する場合は、データセットの読み込み方法や特徴量の選択を変更してください。

また、必要に応じて他の特徴抽出手法を使用することもできます。