Advertisement
toweber

simple_neural_network_mlp_sklearn_class_iris

Mar 26th, 2021 (edited)
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.79 KB | None | 0 0
  1. import os
  2. import ipdb
  3. import numpy as np
  4. import matplotlib.pyplot as plt
  5. from sklearn.neural_network import MLPClassifier
  6. from sklearn.metrics import accuracy_score
  7. from sklearn.preprocessing import OneHotEncoder, MinMaxScaler, StandardScaler
  8. from sklearn import datasets
  9. from sklearn.model_selection import train_test_split
  10.  
  11. data = datasets.load_iris()
  12.  
  13. X = data['data']
  14. Y = data['target']
  15.  
  16. # use and the scaled input the encoded output
  17. enc = OneHotEncoder()
  18. Y_enc = enc.fit_transform(Y[:, np.newaxis]).toarray()
  19.  
  20. Y = Y_enc
  21.  
  22. scaler = MinMaxScaler()
  23. X_scaled = scaler.fit_transform(X)
  24.  
  25. X = X_scaled
  26.  
  27.  
  28. X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.3, random_state=0)
  29.  
  30.  
  31. clf = MLPClassifier(solver='sgd', hidden_layer_sizes=(13,10),
  32.                     activation='tanh',
  33.                     learning_rate='constant',
  34.                     learning_rate_init=0.2,
  35.                     momentum=0,
  36.                     random_state=0)
  37.  
  38. clf.fit(X_train, Y_train)
  39. predictedY_train = clf.predict(X_train)
  40. accuracy_train = accuracy_score(Y_train, predictedY_train)
  41. #similar a clf.score(X,Y)
  42.  
  43. predictedY_test = clf.predict(X_test)
  44. accuracy_test = accuracy_score(Y_test, predictedY_test)
  45.  
  46. print("Accuracy for train set is: %f" %accuracy_train)
  47. print("Accuracy for test set is: %f" %accuracy_test)
  48.  
  49. # visualizar os pesos
  50. #print("Coefficients: %s" %clf.coefs_)
  51. #  Cada elemento i da lista representa a matriz de coeficientes da camada correspondente
  52. #  em cada elemento, cada linha é referente a uma entrada,
  53. #                    cada coluna é referente a um neurônio da camada
  54.  
  55. # visualizar o número de iterações rodadas
  56. print("Number of iterations: %d" %clf.n_iter_)
  57.  
  58. #for i,x in enumerate(X):
  59. #    print("Input: %s \t Output: %s" %(x,clf.predict([x])[0]))
  60.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement