自動的に識別したい 3 つの異なるタイプの画像タグを分類するために、PCA と LDA がどの程度うまく機能するかをテストしてきました。私のコードでは、X はデータ マトリックスで、各行は画像のピクセルであり、y は各行の分類を示す 1D 配列です。
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.decomposition import PCA
from sklearn.lda import LDA
pca = PCA(n_components=2)
X_r = pca.fit(X).transform(X)
plt.figure(figsize = (35, 20))
plt.scatter(X_r[:, 0], X_r[:, 1], c=y, s=200)
lda = LDA(n_components=2)
X_lda = lda.fit(X, y).transform(X)
plt.figure(figsize = (35, 20))
plt.scatter(X_lda[:, 0], X_lda[:, 1], c=y, s=200)
LDA を使用すると、最終的に 3 つの明確に区別できるクラスターが得られますが、それらはわずかに重なり合うだけです。分類したい新しい画像がある場合、それを 1D 配列に変換したら、それがどのクラスターに分類されるかを予測するにはどうすればよいでしょうか。 "? また、「.transform(X)」関数が自分のデータに適合するとどうなるかにも興味がありました。