Auto Machine Learning Brasileiro

Geanderson Lenz
Drafter AI
Published in
3 min readSep 27, 2018

É muito notório que temos uma forte cultura de criatividade no Brasil. Essa característica tem tudo a ver com Inteligência Artificial, que requer inúmeras habilidades e muita criatividade. Temos tudo para tornarmos uma grande Nação de Inteligência Artificial, ajudando a melhorar a vida das pessoas na Saúde, Educação, Segurança, Mobilidade, entre vários outros setores importantes.

Aproveitando minha crença no movimento Open AI, onde Inteligência Artificial não é uma tecnologia proprietária de grandes empresas e pode ser construída por qualquer um em código aberto, eu comecei a realizar um projeto para criarmos um ecossistema onde a Inteligência Artificial serve para todos. Esse começo será pela popularização de Algoritmos de Machine Learning, especificamente, Classificadores.

Todos Precisam de Dados

A ideia é construir scripts em Python que ajudem a automatizar tarefas cotidianas de Data Science, Machine Learning e Inteligência Artificial para que qualquer pessoa possa se apropriar do conhecimento, rodando seus próprios modelos. Ou seja, Simples. Esse é o lema.

Aqui eu publico o código da primeira versão 0.1.0 e todo código ficará disponível no GitHub, com um notebook e já um dataset de exemplo para simulação. Para construir esse script eu utilizo a biblioteca de Python: Scikit-Learn

Nessa primeira versão vamos rodar 14 algoritmos.

names = ["Bagging", "Nearest Neighbors", "Linear SVM", "RBF SVM", "Gaussian Process", "Decision Tree", "Random Forest", "Neural Net", "AdaBoost", "Naive Bayes", "QDA", "Logistic Regression", "Gradient Boosting", "Neural Net"]classifiers = [
BaggingClassifier(),
KNeighborsClassifier(3),
SVC(kernel="linear", C=0.025),
SVC(gamma=2, C=1),
GaussianProcessClassifier(1.0 * RBF(1.0)),
DecisionTreeClassifier(max_depth=5),
RandomForestClassifier(max_depth=5, n_estimators=10, max_features=1),
MLPClassifier(alpha=1),
AdaBoostClassifier(),
GaussianNB(),
QuadraticDiscriminantAnalysis(),
LogisticRegression(),
GradientBoostingClassifier(n_estimators=50),
MLPClassifier(alpha=1)
]

Depois de colocados os nomes dos algoritmos (names)e suas respectivas funções (classifiers) criamos o script para realizar o treinamento de todos os algoritmos de forma automatizada.

Script de Automação de Algoritmos de Classificação
classificadores = Classifiers()
Algoritmos em Treinamento

Depois de realizar o treinamento, o script produz um dataframe, que pode ser salvo como uma tabela de excel ou arquivo csv.

Resultado dos Algoritmos em Ordem de Resultado de Score.

Nessa versão 0.1.0 temos 14 algoritmos de Classificação Binária, do tipo: Sim ou Não; Homem ou Mulher; Compra ou Não Compra. Os resultados são o nível de acuracidade de cada algoritmo nos dados de teste, treinamento, e o tempo de treinamento de cada algoritmo.

Para rodar o script, é necessário ter instalado Python e a ferramenta Jupyter Notebook. Eu recomendo baixar esses pacotes por meio da distribuição para Data Science chamada Anaconda.

Todo esse código, assim como outros scripts automatizados, podem ser encontrados nesse repositório:

https://github.com/geandersonlenz/open_machine_learning

--

--

Geanderson Lenz
Drafter AI

Machine Learning Engineer | Professor | Python, Golang & Rust Developer