Auto Machine Learning Brasileiro
É 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.
classificadores = Classifiers()
Depois de realizar o treinamento, o script produz um dataframe, que pode ser salvo como uma tabela de excel ou arquivo csv.
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: