[STRUCE1] 4. laboratorijska vježba - 2021/2022
gladiator
Koliko vama traje izvršavanje u 3. zadatku?
viliml
def better_plot_2d_svc_problem(X, y, svc=None):
'''
Plots a two-dimensional labeled dataset (X,y) and, if SVC object is given,
the decision surfaces (with margin as well).
'''
assert X.shape[1] == 2, "Dataset is not two-dimensional"
if svc!=None :
# Create a mesh to plot in
num = 200 # mesh resolution
x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1
y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1
xx, yy = np.meshgrid(np.linspace(x_min, x_max, num),
np.linspace(y_min, y_max, num))
XX=np.c_[xx.ravel(), yy.ravel()]
Z = better_svc_predict(svc, XX)
# Put the result into a color plot
Z = Z.reshape(xx.shape)
plt.contourf(xx, yy, Z, cmap=plt.cm.Pastel1)
# Plot the dataset
plt.scatter(X[:,0],X[:,1], c=y, cmap=plt.cm.Paired, marker='o', s=50)
def better_svc_predict(svc, X) :
h = svc.decision_function(X)
h[((h >= -1) & (h < -0.03)) | ((h > 0.03) & (h <= 1))] = 0.5
np.clip(h, -1, 1, out=h)
h[np.isclose(h, 0, atol=0.03)] = 5
return h
maraska
Zna li itko kako plotati ove grafove u 2. zadatku? Postavljam fig, axs = plt.subplots(3,3, figsize=(15,15)) i zatim npr axs[0,0] = njihova_plot_fja i na kraju nakon svih 9 opcija sibnem plt.show(), ali mi prikazuje rešetku 3X3 i samo ovaj zadnji graf, ostali su prazni. U čemu je stvar, kako popraviti to?
ErnestHemingway
maraska probaj axs[i,j].show
maraska
Alfetta e nije to radilo (axs nema taj atibut), ali popravila sam
Ako kome bude trebalo: prvo se napravi plt.figure() i onda za svaki graf plt.subplot(3,3,broj_grafa) i pozvati funkciju njihovu za crtanje.
fer999
Zna li netko što treba predati kao prvi argument (err) funkciji “plot_error_surface(err, c_range, g_range)” u 3.B zadatku?
Joskica
fer999 error matricu koju ti vrati grid_search funkcija kad stavis error_surface=True
fer999
Joskica To sam i pokušao napraviti, s time da vraćam 2 matrice (za train i test). Ali mi baca error: "TypeError: unsupported operand type(s) for -: 'int' and 'list'"
. Kako si definirao te matrice u metodi grid_search? Ja sam samo lijepio u njih na odgovarajuća mjesta zero_one_losses.
WickyWinslow
ValueError: The number of FixedLocator locations (5), usually from a call to set_ticks, does not match the number of ticklabels (4).
Je li itko imao ovaj exception kod poziva njihove metode plot_error_surface()
?
Joskica
WickyWinslow downgrade matplotlib na 3.3.2
maraska
Je li ok u 4.d) dobiti da je za min max najmanja točnost? Koliko god puta pokrenem, uvijek su obična i standardno skalirana tu negdje, a min max najmanji.
ErnestHemingway
maraska Ako generiraš na isti način kao i oni na početku 4. najlošiji bi trebao biti s običnim značajkama jer je velika razlika u skali x0 i x1
Reznox
Moze neko pojasnit sto su tocno “Dualni koeficijenti”. Risia sam zadatak i printam ih al ne mogu shvatit sto su tocno.
ErnestHemingway
Reznox U skripti su označeni s alfa
viliml
Reznox
Alfetta Aha znaci zapravo su to dualne varijable, mislio sam da ovaj algoritam koji koristimo ima jos neke dodatne izracunate parametre.
maraska
Alfetta Yes, taj dio s generiranjem i podjelom u train/test sam kopirala njihovo. :/
Je li možda problem u ovim linijama:
model_min_max.fit(scaler_min_max.fit_transform(X_train),y_train)
accuracy_score(y_test, model_min_max.predict(scaler_min_max.transform(X_test))
Nez jesam li krivo shvatila kako je trebalo fittati model.
Rene
maraska vjerojatno ti je ostalo u metodi make_classification onaj random state cime uvijek generiras isti skup podataka
maraska
Rene Evo sad je dobro, neskalirano ima najmanju točnost. Sigurno je u tome bio problem, hvala ti. ❤️
Zero
Što trebamo koristiti kao pogrešku u 3.a)?
sheriffHorsey
fer999 vjerojatno ti se to događa jer nisi poslao np.array nego običnu listu