Café com Código #06: Introdução a Machine Learning com Scikit-Learn

PythonMachineLearningBundle-630x315

Salve Minerador!!, no Café com Código #06 vai mais um dica para você aprender Data Science na pausa para o sagrado cafezinho.

Como sempre de forma rápida e objetiva…Introdução a Machine Learning com Scikit-Learn.

Na rapidinha de hoje faremos uma introdução a biblioteca Python de Machine Learning chamada Scikit-Learn.

A Scikit-Learn é uma biblioteca Python para trabalhar com Machine Learning, com ela já estão implementados diversos métodos, algoritmos e técnicas bem interessantes que simplificam a vida do desenvolvedor.

Se você já tem instalado as bibliotecas NumPy (>= 1.8.2) e SciPy (>= 0.13.3) simplesmente execute o comando abaixo para instalar a Scikit-Learn, caso contrário, instale as bibliotecas conforme a documentação aqui.

Para começar vamos executar um exemplo de tarefa clássica de Machine Learning que é a classificação. No artigo Análise de Sentimentos – Aprenda de uma vez por todas como funciona utilizando dados do Twitter aplicamos Machine Learning em dados do Twitter para classificar sentimentos. Se você ainda não viu, fica a dica!

Voltando ao nosso contexto, antes que esfrie o nosso café, iniciamos tudo sempre importando a biblioteca como você já está acostumado. Inicialmente iremos importar o módulo datasets para trabalhar com os dados de amostra que já vem com a biblioteca.

Após importar o módulo vamos carregar o dataset iris com o comando abaixo.

A variável iris é basicamente um objeto do tipo dicionário que contém os dados do dataset iris e alguns metadados. Como o dataset iris é rotulado, ou seja, contém os dados de classe para cada instância, podemos visualizar os dados das instâncias e as classes através dos métodos data e target.

Observe com os comandos abaixo.

scikit-learn-data-values

 

 

 

 

scikit-learn-target-values

 

 

 

 

Observe que conseguimos visualizar os dados ao executar a propriedade data e as classes ao executar a propriedade target que em nosso exemplo as classes são 0, 1 e 2.

Outra propriedade interessante é a shape, veja..

scikit-learn-shapes

 

Podemos observar que temos 150 instâncias de dados e 4 atributos e como classes temos apenas um vetor de 150 posições relativos a classe de cada instância.

Seguindo nosso exemplo para aplicar Machine Learning iremos agora dividir o nosso dataset em uma amostra de treino e teste. Para isso usamos o método train_test_split disponível através do módulo model_selection.

O método train_test_split como o nome já diz nos permite dividir o dataset em uma porcentagem definida, veja o exemplo abaixo.

Observe que estamos dividindo os dados em uma porcentagem de 40% para teste através do parâmetro test_size, os dados de treino são armazenados nas variáveis X_train e X_test com os dados das instâncias e classes respectivamente.

Os dados de teste serão armazenados nas variáveis y_train e y_test.

Vejamos o shape das variáveis…

scikit-learn-shapes2

 

 

 

Como dados de treino temos 90 instâncias e como dados de teste temos 60 instâncias.

Por fim vamos executar um algoritmo de Machine Learning através do módulo svm.

Importamos o método svm que implementa o clássico algoritmo Support Vector Machine. Para saber mais clique aqui.

Depois de importar o método iremos treinar o nosso modelo através do método fit conforme o código abaixo.

Após treinar o nosso modelos medimos o nosso score passando os dados de teste para o algoritmo.

scikit-learn-score

 

 

Deu pra sentir o poder da Scikit-Learn?

Com poucas linhas de código importamos o nosso dataset, dividimos em amostras para treino e teste e classificamos os dados.

Esse foi mais um Café com Código, toda Quarta as 15h no seu e-mail 😉

Gostou dessa dica? Não esqueça de compartilhar com seus amigos e me conte aqui o que está achando.

Forte abraço!