1 - Aplique o algoritmo Multi-layer Perceptron do scikit learning [1] (decida se será o de classificação ou regressão) utilizando os dados do dataset diabetes.data [2] que se encontra no repositório da aula. Não se esqueça de fazer randomização no dataset para cada execução do algoritmo.
OBS.: Verifique os notebooks anteriores para aprender a ler o dataset e, possivelmente, randomizar os dados.
[1] http://scikit-learn.org/stable/modules/neural_networks_supervised.html
[2] https://archive.ics.uci.edu/ml/datasets/Pima+Indians+Diabetes
2 - Uma das desvantagens que o Multi-layer Perceptron tem é ser sensitivo ao feature scaling [1]. De fato, ao utilizar o Gradiente Descendente para atualizar os pesos, o otimizador poderá convergir mais rapidamente em caso de dados normalizados. Faça então o processo de feature scaling no dataset utilizado anteriormente e aplique novamente o algoritmo. Você pode fazer o processo independente de lib [2] ou utilizar o scikit [3]
[1] http://scikit-learn.org/stable/modules/neural_networks_supervised.html
[2] https://en.wikipedia.org/wiki/Feature_scaling - Tópico Rescaling
[3] http://scikit-learn.org/stable/modules/preprocessing.html - Topico 4.3.1.1
3 - Faça testes no algoritmo. Qual foi a função de ativação utilizada? Quantas Hidden layers você escolheu? E neurons para cada Hidden Layer? Identifique e teste as mudanças, fazendo comparativos (caso haja diferenças).
4 - Após a questão 3, você deve ter concluido a melhor abordagem do algoritmo para o dataset utilizado. Ok, agora utilize-o e faça uma análise de resultados com os algoritmos utilizados na última aula: decision tree e random forest (utilizando scikit).
In [ ]: