Data Science - MODULE 4 CODE Flashcards
Vir die neurale netwerke, wate word als geimport?
Ook accuracy_score, train_test_split, cross_val_score en dan twee nuwe goed:
From sklearn.neural_network import MLPClassifier
From sklearn.preprocessing import StandardScaler
How do you drop missing entries from a dataframe?
Df = df.replace(“?”, np.nan)
Df = df.dropna()
So die vraagteken kan verander na aanleiding van hoe die data lyk
As jy klaar gesplit het in x en y, moet jy y flatten vir NN, hoe doen jy dit?
Y = np.ravel(y)
Hoe lyk die kode vir die scaling?
Scaler = StandardScaler()
Scaler.fit(X_train)
X_train = scaler.transform(X_train)
X_test = scaler.transform(X_test)
Hoe skep jy die regressor vir die neurale netwerk?
Reg = MLPClassifier(max_iter=2000, hidden_layer_sizes=(5,5), random_state=1)
En dan verder is dit dieselfde
Reg.fit(X_train)
Y_pred = reg.predict(X_test)
Accuracy_score(y_pred, y_test)
3 pitfalls of neural networks
- not reaching the global minimum error (belangrik om aantal itterasies te verander, ook gebruik te maak van die stochastic gradient descent)
- overfitting (cross validation is baie belangrik, hy het ook gepraat van regulisation?)
- interpreting
Ravel jy voor j split?
Dit lyk so
Wat bedoel ons met scaling in die konteks van NN
Bereken basies die Z scores van alles, omdat die netwerk baie blootgestel is aan absolute waarde. As daar n veranderlike is met groot waardes, sal dit die netwerk domineer
Python het interessante indexing, hoe doen jy n nested for basies sodat die cross validation scores bereken kan word?
For hidden_layer_size in [(i,j) for i in range(3,7) for j in range (3,7)]:
(Indent hom dan)
Hoe lyk die cross validation gedeelte dan binne die for by n neurale netwerk met twee layers?
Reg = MLPClassifier(max_iter=2000, hidden_layer_sizes=hidden_layer_size, random_state=1)
Score = cross_val_score(estimator=reg, X=X_train, y=y_train, CV=2)
Validation_scores[hidden_layer_size] = score.mean()
En dan kan jy maar net elke waarde print om te sien hoe die score verander
Die imports vir n 3d surface plot?
From mpl_toolkits.mplot3d import Axes3D
From matplotlib import cm
From matplotlib.ticker import linearLocator, FormatStrFormatter
Hoe generate ek die x,y, en z values vir die surface plot?
Px,py = np.meshgrid(np.arange(3,7),np.arange(3,7))
Pz = np.array([[validation_scores[(i,j)] for i in range (3,7)] for j in range(3,7)])
As jy klaar alles geimport het, en jy het die px,py,pz waardes gevorm, hoe maak ons nou om te plot?
Fig = plt.figure()
Ax = fig.add_subplot(projection=’3d’)
Surf = ax.plot_surface(px,py,pz)
Plt.show()
Hoe kan jy die maksimum waarde kry van die validation scores? Wat in (i,j) formaat is
Max(validation_scores.values())
Wat is n response function?
So ons kyk dan basies, wanneermons een van die veranderlikes in die inset verander, hoe affekteer dir die predictor value