Wie führen Sie die Vorhersage mit LDA (lineare DISKRIMINANZANALYSE) in scikit-learn?

Habe ich getestet, wie gut PCA und LDA arbeitet für die Klassifizierung von 3 verschiedenen Arten von image-tags möchte ich automatisch zu identifizieren. In meinem code, X ist meine Daten-matrix, wo jede Zeile werden die Pixel aus einem Bild, und y ist ein 1D-array mit Angabe der Klassifikation in jeder Zeile.

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)

Mit der LDA, dass ich am Ende mit 3 deutlich unterscheidbare Cluster mit nur geringfügigen überlappung zwischen Ihnen. Nun, wenn ich ein neues Bild, das ich will, zu klassifizieren, sobald ich es in ein 1D-array, wie kann ich voraussagen, welche cluster es sollte fallen, wenn es fällt zu weit von der Mitte, wie kann ich sagen, dass die Klassifizierung "nicht schlüssig"? Ich war auch neugierig, was der ".transform(X)" - Funktion hat, um meine Daten einmal hatte ich es passt.

InformationsquelleAutor Jack Simpson | 2015-06-29
Schreibe einen Kommentar