Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import ipdb
- import numpy as np
- import matplotlib.pyplot as plt
- from sklearn.neural_network import MLPClassifier
- from sklearn.metrics import accuracy_score
- from sklearn.datasets import make_classification
- from sklearn.preprocessing import OneHotEncoder, MinMaxScaler, StandardScaler
- from sklearn.model_selection import train_test_split
- from sklearn.model_selection import cross_val_score
- from sklearn.model_selection import GridSearchCV
- X, Y = make_classification(n_samples=100, n_features=5, n_informative=3, n_redundant=1, n_repeated=0, n_classes=2, random_state=0)
- # observe as dimensões das entradas usando o "shape" do NumPy
- # observe os valores das entradas e saídas para ver se estão próprios para treinamento
- # adapte os valores das entradas e saídas
- scaler = MinMaxScaler()
- X_scaled = scaler.fit_transform(X)
- X = X_scaled
- # divida os dados em treinamento e teste
- # faça Treino ter 60%, Validação ter 20%, Teste ter 20%
- X_train_and_val, X_test, Y_train_and_val, Y_test = train_test_split(X, Y, test_size=0.2, random_state=0)
- # divida os dados em treinamento e validação
- #X_train, X_validation, Y_train, Y_validation = train_test_split(X_train_and_val, Y_train_and_val, test_size=0.2/0.8, random_state=0)
- # Faça um loop variando o número de layers na camada escondida de 1 até 10
- best_index = -1
- scores = []
- complexity = []
- # instead of the "manual" loop, let's use a grid
- clf = MLPClassifier(solver='sgd', hidden_layer_sizes=(5),
- activation='tanh',
- learning_rate_init=0.5,
- random_state=0,
- )
- param_grid = [
- { 'activation': ['tanh', 'logistic'], 'learning_rate_init' : [0.1 , 0.3, 0.5, 0.7]}
- ]
- clf = GridSearchCV( MLPClassifier(), param_grid, scoring='accuracy', cv=5)
- clf.fit(X_train_and_val, Y_train_and_val)
- print("Best parameters set found on gridsearch:")
- print()
- print(clf.best_params_)
- print(clf.cv_results_['std_test_score']) # mostra os resultados para do conj validação para cada oteração
Add Comment
Please, Sign In to add comment