Pravimo dva niza, x10 i x11, sa slučajnim brojevima od kojih kreiramo matricu X1.
x10 = np.random.randn(1000, 1)
x11 = np.random.randn(1000, 1) * 2 + 3
X1 = np.hstack ([x10, x11]) #stavljamo na niz x10 niz x11 i dobijamo matricu X1 (1000x2)
X1.shape
Na isti način pravimo i matricu X2.
x20 = np.random.randn(1000,1) * 0.8 + 3
x21 = np.random.randn(1000,1) * 1 + 5
X2 = np.hstack([x20, x21])
Grafički prikaz matrice X1 i X2.
plt.scatter(X1[:,0], X1[:,1])
plt.scatter(X2[:,0], X2[:,1])
plt.title("Raspodela slučajnih promenljivih (x,y) iz X1 i X2");
Na kraju pravimo matricu X vertikalno spajajući X1 i X2:
X = np.vstack([X1, X2])
y = np.ones(2000)
y[1000:2000] = 2
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
clf = LinearDiscriminantAnalysis()
clf.fit(X, y)