Advertisement
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
- import pandas as pd
- dataset = pd.read_csv("dataset.csv")
- # agora temos na variável "dataset" um dataframe. Esse é um tipo de variável específica do Pandas. Precisaremos extrair dela o nosso conjunto X e Y, no qual X são os dados de entrada e Y são os valores de saída. Mas antes, vamos analisar esta variável
- ipdb.set_trace()
- nome_das_colunas = dataset.columns
- # -> o nome das colunas (que está na primeira linha do CSV)... todas exceto a última (em nosso exemplo hipotético) são os atributos de entrada. Em geral, a última coluna é o que tentaremos prever (a saída).
- nome_dos_atributos = dataset.columns[0:-1]
- # - isso quer dizer que pegaremos os valores que estão no índice que vai de 0 até o penúltimo item. Por exemplo, se quero pegar os primeiros 3 valores desta lista, posso dizer: dataset.columns[0:2]. No nosso caso, que é pegar até o penúltimo valor, poderia ser abreviado para dataset.columns[:-1].
- nome_da_variavel_de_saida = dataset.columns[-1] # -> pegamos só o nome da última coluna,
- #- agora temos o nome dos atributos de entrada, e o nome da variável de saída, mas o que precisamos são os dados. Para mostrar todos os dados (incluindo entradas e saídas)
- values = dataset.to_numpy()
- # - como sabemos que a última coluna (pode ser mais que a última, mas em nosso exemplo hipotético é apenas a última) representa as saídas, as entradas vão ser tudo menos a última coluna:
- X = values[:,:-1] # o primeiro ":" (antes da vírgula) diz que pegarei todas as linhas. Depois da vírgula, o ":-1" diz que pegarei todas as colunas exceto a última.
- Y = values[:,-1] # e as saídas vão ser apenas a última coluna
- #usar valores de 0 a 1, ou de -1 a 1
- #X = [[0, 0], [0, 1], [1, 0], [1, 1]]
- #Y = [0, 1, 1, 0]
- clf = MLPClassifier(solver='sgd', hidden_layer_sizes=(5),
- activation='tanh',
- learning_rate_init=0.5,
- #random_state=0,
- )
- clf.fit(X, Y)
- predictedY = clf.predict(X)
- accuracy = accuracy_score(Y, predictedY)
- #similar a clf.score(X,Y)
- print("Predicted outputs: %s" %predictedY)
- print("Accuracy: %s" %accuracy)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement