AzureML – Criando meu Primeiro Modelo – Parte 2

By | 23/01/2015

Olá pessoal!

No primeiro post desta série vimos conceitos importantes para criar nosso primeiro modelo de Machine Learning. Hoje veremos os módulos e o que cada um faz.

Um modelo no AzureML é construído através de módulos (blocos), e estes podem possuir entradas e saídas de dados ou estruturas necessárias.

O início dos experimentos se dão com a fonte de dados. O AzureML trabalha com uma série de fontes (que já comentei aqui), e temos que utilizar uma delas. Para esse experimento utilizaremos um dos Datasets já presentes no AzureML (disponível a qualquer pessoa que esteja utilizando a plataforma – na área chamada “Saved Datasets”): Adult Census Income Binary Classification dataset.

image

A escolha deste dataset se deu pelo fato dele ser simples. Contém dados do censo com o perfil de indivíduos e com apenas duas classes: se a pessoa tem renda anual maior ou menor de 50 mil dólares.

A esfera na parte inferior de um componente indica saída (ou saídas), e na parte superior indica a entrada (ou entradas) necessária. Para conectar módulos distintos basta conectar estas esferas.

As esferas também possibilitam interações com os módulos, como download ou visualização de informações.

image

Um dataset contém dados, e o Visualize permite ver estes dados e também algumas informações do dataset, conforme podemos ver na imagem abaixo.

image

Um modulo interessante para o cientista de dados que quer conhecer um pouco melhor os dados é o Descriptive Statistics, que recebe como entrada a saída do dataset e, após o experimento ser executado – clique em Run), mostra dados estatísticos mais apurados.

Esses dados estatíticos incluem (mas não se limitam a): média, mediana, percentil, quartil, contagem, número de valores faltantes, desvio padrão, etc.

image

O próximo módulo que vamos usar é chamado: Missing Values Scrubber.

Veja na imagem acima que as caracteríticas (features) workclass e occupation possuem diversos valores faltantes. Isso pode prejudicar os resultados e existem algumas técnicas para lidar com isso: remoção total da linha (padrão), colocar o valor da média, mediana ou algum valor fixo (zero por exemplo).

Ao selecionar o módulo é possível observar as suas propriedades e a lsitagem das opções possíveis através do AzureML.

image

Para nosso exemplo vamos deixar os valores default (substituição por zero). Em um experimento real é papel do cientista de dados determinar quais são os melhores parâmetros.

Dica: sempre faça o primeiro teste com os valores default (vamos substituir por zeros). Eles não estão configurados por acaso. O time do AzureML oferece os parâmetros que em geral devem atender à maioria dos casos e isso é válido para todos os módulos.

Importante: O componente que conectamos ao Missing Values Scrubber é a saída do Dataset e não a saída do Descriptive Statistics! :)

Na sequência vamos utilizar o componente que limita as colunas de entrada (uma espécie de filtro de colunas), e utilizaremos na saída do Missing Values Scrubber, desta forma podemos remover do nosso Dataset as features que não desejamos ou que não fazem sentido para a análise realizada. Quem determina isso, novamente, é o cientista de dados. No nosso caso vamos utilizar apenas para ilustrar o uso.

O componente para filtrar as colunas é chamado Project Columns. Nas propriedades do módulo selecione Launch Column Selector. Com isso podemos selecionar as colunas que desejamos.

Marque para utilizar todas as colunas e então remova as colunas workclass, fnlwgt e occupation. A sua tela ficará como abaixo:

image

Se você seguiu tudo até agora, seu experimento deve estar semelhante a imagem abaixo (ignore as marcas em verde, no seu deverá estar sem elas).

image

Bom pessoal, por hoje é isso. O modelo ainda está incompleto e você até pode rodar (e recomendo para ver se não há nada de errado, as marcas verdes aparecerão após isso) o experimento, porém ele ainda não faz nada. Aguarde o próximo post para avançarmos no nosso experimento!

Abraços!

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios são marcados com *