第 4 章: 次元削減処理: pca と svd 1. pca 1. pca によって次元削減はどのように実現されるのか? 2. コード 2、SVD 1. svd 3. 次元削減と特徴選択はどちらも特徴エンジニアリング手法です。違いは何ですか?

1.PCA

PCA で使用される情報尺度はサンプルの分散です。
分散が大きいほど、より多くの情報が含まれます。
ここに画像の説明を挿入します

1. PCA の次元削減はどのように実装されますか?

クラスsklearn.decomposition.PCA

  • パラメータ:
    n_components: 次元削減後に必要な次元。特徴の数よりも小さくする必要があります。視覚化が必要な場合、通常は 2 または 3 です。
    copy:
    whiten:
    svd_solver:
    random_state:

次元削減の原理: 例として 2 次元を使用します。

すべての点が直線 y=x から来ていれば 2 次元ですが、時計回りに 45 度回転させると座標軸上の直線になります。この時点で一次元になります。行 y`=0 のみが必要です。そして、この線上のすべての点の距離の比率は変わりません。(つまり、元の情報は保持されます)

2.コード

from matplotlib import pyplot as pt
from sklran.datasets import load_iris as li
from sklean.decomposition import PCA pa pca

//提取数据集
iris=li()
y=iris.target
x=iris.data
print(x.shape)  //15042import pandas as pd
pd.DataFrame(x)  //在特征矩阵中,维度是特征的数量,4-2维 降维

//降维
pca=pca(n_components=2)
x_new=pca.fit_transform(x)

print(y)  //y是012三种类型
colors=["red","black","orange"]
print(iris.target_names)

pt.figure(figsize=(20,8))
for i in[0,1,2]:
 pt.scatter(x[y==i,0],x[y==i,1],alpha=.7,c=colors[i],label=iris.target_names[i])
pt.legend()
pt.title(;pca of iris dataset')
pt.show()

伝送される情報量を確認する方法:

pca=pca().fit(x)
print(pca.explained_variance_ratio_)

戻り情報:ここに画像の説明を挿入します
特徴全体に対する各特徴の比率。蓄積すると、すべての情報のうちこれら 4 次元の特徴が占める割合がわかります。

二、SVD

PCA と SVD は 2 つの異なる次元削減アルゴリズムですが、どちらも次元削減を達成するために上記のプロセスに従います。これらは、2 つのアルゴリズムで異なる行列分解方法と情報内容の異なる測定指標を使用するだけです。

PCA は、情報内容の尺度として分散を使用し、空間 V を見つけるために固有値分解を使用します。次元を削減する場合、特徴的な短い行列 X を一連の数学的不可思議な操作 (たとえば、共分散行列の生成) を通じて 3 つの行列に分解します。そのうちの 1 つは対角線上の値のみを持ち、分散行列です。

次元削減が完了した後、PCA によって見つかった新しい特徴ベクトルはそれぞれ「主成分」と呼ばれ、破棄された特徴ベクトルにはほとんど情報がないと考えられ、この情報はノイズである可能性が高くなります。

1.svd

特異値分解

3. 次元削減と特徴選択は両方とも特徴エンジニアリング手法ですが、違いは何ですか?

特徴エンジニアリングには、特徴抽出、特徴作成、特徴選択という 3 つの方法があります。特徴の選択とは、既存の特徴から最も有益な特徴を選択することであり、選択後の特徴はまだ解釈可能です。

次元削減アルゴリズムは既存の特徴を圧縮します。次元削減後の特徴は、元の特徴行列にある特徴ではなく、何らかの方法で結合された新しい特徴です。一般的に言えば、 **新しい特徴行列が生成される前は、次元削減アルゴリズムがどのような種類の新しい特徴ベクトルを確立したかを知ることはできません。新しい特徴行列が生成された後は、それを読み取ることができません。新しい特徴マトリックスを判断します。元のデータからどのような特徴が結合されますか? 新しい特徴には元のデータの情報が含まれていますが、元のデータが表すものではなくなります。したがって、次元削減アルゴリズムは、一種の特徴作成 (または特徴構築) です。

ご想像のとおり、PCA は一般に、説明できない新しい特徴とラベルの間の関係は意味がないため、特徴とラベルの間の関係を調査するモデル (線形回帰など)には適していません。線形回帰モデルでは、特徴選択を使用します。

おすすめ

転載: blog.csdn.net/qq_53982314/article/details/131244829