Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- import matplotlib.pyplot as plt
- import seaborn as sns
- sns.set_style("whitegrid")
- %matplotlib inline
- #1
- #1.1 Definisite niz od 1000 neuredjenih elemenata sa Normalnom Gausovom raspodelom.(2.5p)
- X = np.random.rand(1000,1)
- #1.2 Koristeci for petlju prikazite sve elemente ovog niza tako sto ce svake iteracije petlje biti ispisan po jedan element.(2.5p)
- for i in X:
- print(i)
- #1.3. Iscrtati ovaj niz naredbom hist(). (2.5p)
- histogram = plt.hist(X, 100)
- plt.show(histogram)
- #1.4. Proceniti srednju vrednost niza na osnovu histograma. (2.5p)
- srednja_vrednost = np.mean(X)
- print(srednja_vrednost)
- #2
- #2.1. Ucitati iris dataset. Iscrtati ovaj dataset koristeci naredbe scatter() koristeći prvi i četvrti atribut, tako da su odgovarajuce klase oznacene razlicitim bojama (recimo, red, green, blue). (2.5p)
- from sklearn.datasets import load_iris
- iris = load_iris()
- X = iris.data[:, :4]
- y = iris.target
- plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.Set1,edgecolor='k')
- #2.2. podeliti dataset na trening i test, koristeci se iskljucivo naredbom train_test_split. (2.5p)
- from sklearn.model_selection import train_test_split
- X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
- #2.3. izracunati tacnost na test skupu KNN klasifikatora. (2.5p)
- from sklearn.neighbors import KNeighborsClassifier
- classifier = KNeighborsClassifier(n_neighbors=5)
- classifier.fit(X_train, y_train)
- y_pred = classifier.predict(X_test)
- from sklearn.metrics import classification_report, confusion_matrix
- print(confusion_matrix(y_test, y_pred))
- print(classification_report(y_test, y_pred))
- #2.4. podaci u matrici x imaju cetiri kolone koji predstavljaju odgovarajuce mere cveta. Koje 2 kombinacije ovih parametara daju po vama najvecu tacnost klasifikacije. Detaljno komentarisati i obrazloziti. (Uputstvo. recimo kolone 2 i 4 kada se same koriste za klasifikaciju, bolje su od ostalih parova kolona 1 i 2, ili 2 i 3 itd.)(2.5p)
- #3
- #3.1. Napraviti dataset od 1000 instanci. Dataset treba da ima 3 atributa sa Gausovim normalnim raspodelama tako što će
- #svaki atribut imati različitu varijansu i srednju vrednost (po izboru). Dataset treba da ima 2 klase, a svaka klasa će imati po 500 instanci.(2.5p)
- x10 = np.random.rand(500,1)
- x11 = np.random.rand(500,1) * 2+3
- x12 = np.random.rand(500,1) * 3+5
- X1 = np.hstack([x10,x11,x12])
- X1.shape
- x20 = np.random.rand(500,1)
- x21 = np.random.rand(500,1) * 0.8 + 3
- x22 = np.random.rand(500,1) * 1 + 5
- X2 = np.hstack([x20,x21,x22])
- X2.shape
- #3.2. iscrtati ovaj dataset koristeci naredbe scatter(), tako da su odgovarajuce klase oznacene razlicitim bojama (recimo, red, green, blue). (2.5p)
- plt.scatter(X1[:,0], X1[:,1])
- plt.scatter(X2[:,0], X2[:,1], c=u'r')
- #3.3. podeliti dataset na trening i test, koristeci se iskljucivo naredbom cross_val_score, gde je CV=10. (2.5p)
- from sklearn.neighbors import KNeighborsClassifier
- model = KNeighborsClassifier(n_neighbors=1)
- from sklearn.model_selection import cross_val_score
- cross_val_score(model, X,y, cv=10)
- #3.4. izracunati tacnost na test skupu LDA klasifikatora. (2.5p)
- from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
- lda = LinearDiscriminantAnalysis()
- lda.fit(X_train, y_train)
- print('Accuracy of LDA classifier on training set: {:.2f}'
- .format(lda.score(X_train, y_train)))
- print('Accuracy of LDA classifier on test set: {:.2f}'
- .format(lda.score(X_test, y_test)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement