Passo a passo de um Projeto de Machine Learning

Passo a passo de um Projeto de Machine Learning

Introdução

Visão geral da seção: Nesta seção, o instrutor apresenta o projeto que será desenvolvido na aula e explica como ele ajudará os alunos a entenderem melhor como criar um modelo de regressão.

  • O objetivo é criar um modelo que preveja os preços das casas em uma cidade.
  • Isso pode ser útil para empresas que compram e vendem casas ou pessoas que desejam comprar uma casa.
  • A aula seguirá passo a passo, começando com a importação dos dados e seleção das variáveis até a comparação entre diferentes modelos de regressão.

Análise dos Preços das Casas

Visão geral da seção: Nesta seção, o instrutor explica sobre a base de dados utilizada no projeto e sua utilidade.

  • A base de dados contém informações sobre os preços das casas em Melbourn, Austrália.
  • O objetivo é criar um modelo que possa prever esses preços com precisão.
  • Empresas podem usar esse modelo para avaliar quanto cobrar por uma casa ou para encontrar clientes interessados em comprar uma casa.
  • Os conceitos aprendidos na última aula sobre Profile Plot serão usados nesta análise.

Selecionando as Variáveis

Visão geral da seção: Nesta seção, o instrutor explica como selecionar as variáveis mais relevantes para o modelo de regressão.

  • É importante escolher as variáveis corretas para obter resultados precisos do modelo.
  • As bibliotecas necessárias são importadas e os dados são carregados.
  • As variáveis mais relevantes são selecionadas para o modelo de regressão.

Conclusão

Visão geral da seção: Nesta seção, o instrutor conclui a aula e incentiva os alunos a praticarem o que aprenderam.

  • É importante entender como escolher as variáveis corretas para criar um modelo de regressão preciso.
  • Praticar é fundamental para melhorar as habilidades em ciência de dados.
  • O instrutor encoraja os alunos a deixarem comentários sobre outros projetos que gostariam de ver no futuro.

Análise de Dados: Tratamento de Colunas com Alta Cardinalidade

Visão Geral da Seção: Nesta seção, o palestrante discute a importância do tratamento de colunas com alta cardinalidade em análises de dados e como isso pode afetar a generalização dos modelos.

Tratando Colunas com Alta Cardinalidade

  • Colunas com alta cardinalidade contêm muitas informações diferentes, o que pode dificultar a generalização dos modelos.
  • É importante tratar essas colunas para garantir que os modelos possam ser aplicados a novos dados.
  • Exemplo: uma lista de nomes de alunos e suas notas. Se houver apenas um aluno chamado Lucas Leal na lista, o modelo não poderá prever as notas de outros alunos chamados Lucas Leal.
  • Solução: remover colunas com alta cardinalidade ou encontrar maneiras alternativas de representar as informações nessas colunas.

Impacto da Remoção das Colunas

  • Ao remover uma coluna, é importante entender seu impacto no modelo.
  • O pacote pandas profile pode ajudar a identificar correlações entre as variáveis e avaliar o impacto da remoção das colunas.
  • Algumas colunas podem ter correlação forte com outras variáveis importantes para o modelo, então é preciso avaliar cuidadosamente antes de removê-las.

Tratando Valores Vazios

  • Outro problema comum em análises de dados são valores vazios nas colunas.
  • Existem várias maneiras de tratar esses valores, como eliminá-los ou substituí-los pela média dos valores existentes naquela coluna.
  • É importante avaliar cuidadosamente qual a melhor solução para tratar os valores vazios em cada caso.

Resumo

Nesta seção, aprendemos sobre a importância do tratamento de colunas com alta cardinalidade e valores vazios em análises de dados. Vimos que é importante avaliar cuidadosamente o impacto da remoção das colunas e encontrar maneiras alternativas de representar as informações nessas colunas. Também aprendemos que existem várias maneiras de tratar valores vazios e que é importante avaliar cuidadosamente qual a melhor solução para cada caso.

Análise de Correlação e Seleção de Colunas

Visão geral da seção: Nesta seção, o instrutor explica como usar a correlação para selecionar as colunas mais relevantes para o modelo. Ele também discute a importância de tratar valores vazios na base de dados.

Selecionando colunas com alta correlação

  • A correlação é uma medida da relação entre duas variáveis.
  • Quanto maior a correlação, mais próximas as variáveis estão relacionadas.
  • O gráfico de correlação mostra essa relação visualmente.
  • É importante escolher apenas as colunas com alta correlação para evitar tornar o modelo muito pesado.
  • Exemplo: preço tem uma relação de 0,5 com a quantidade de quartos.

Tratando valores vazios

  • Valores vazios podem atrapalhar o modelo.
  • É possível tratar valores vazios de várias maneiras, mas apagar linhas com valores vazios é uma opção simples.
  • Verifique se há valores vazios na base antes de criar o modelo.

Selecionando colunas relevantes

  • Escolha apenas as colunas que são relevantes para o modelo.
  • Analise cada coluna e decida se ela é necessária ou não.
  • Não inclua informações desnecessárias no modelo.

Criando um Modelo de Machine Learning

Visão geral da seção: Nesta seção, o instrutor começa a criar um modelo usando os dados tratados anteriormente. Ele discute como escolher os algoritmos corretos e como treinar e testar o modelo.

Escolhendo algoritmos

  • Existem muitos algoritmos de machine learning disponíveis.
  • Escolha o algoritmo correto para o tipo de problema que você está tentando resolver.
  • Exemplo: regressão linear é um bom algoritmo para prever preços.

Treinando e testando o modelo

  • Divida a base de dados em conjuntos de treinamento e teste.
  • Use o conjunto de treinamento para treinar o modelo.
  • Use o conjunto de teste para avaliar a precisão do modelo.
  • Ajuste os parâmetros do modelo até obter uma boa precisão.

Avaliando a precisão do modelo

  • Existem várias métricas que podem ser usadas para avaliar a precisão do modelo, como R² e RMSE.
  • Escolha a métrica correta para o tipo de problema que você está tentando resolver.

Separando a base de treino e teste

Visão geral da seção: Nesta seção, o palestrante explica a importância de separar a base de dados em treino e teste antes de criar um modelo. Ele também mostra como usar o método train_test_split do Scikit-learn para fazer essa separação.

Separando a base em treino e teste

  • É importante separar a base em treino e teste para avaliar o desempenho do modelo.
  • O método train_test_split divide os dados em duas partes: uma para treinar o modelo e outra para testá-lo.
  • É possível usar outras formas de separação, como validação cruzada.
  • A separação deve ser feita antes do modelo receber os dados.

Usando o método train_test_split

  • O método train_test_split pode ser usado para dividir os dados em x_train, x_test, y_train e y_test.
  • Basta passar as variáveis na ordem correta como argumentos.
  • É possível visualizar cada parte dos dados usando comandos como print(x_train).

Criando um modelo de regressão linear

Visão geral da seção: Nesta seção, o palestrante explica como criar um modelo simples de regressão linear usando Scikit-Learn. Ele mostra como instanciar o modelo, ajustá-lo aos dados de treinamento e usá-lo para fazer previsões.

Criando um modelo de regressão linear

  • Um modelo simples que pode ser criado é a regressão linear.
  • Para criar um modelo, é necessário instanciá-lo primeiro.
  • Em seguida, use o método .fit() para ajustar o modelo aos dados de treinamento.
  • Depois que o modelo é treinado, use-o para fazer previsões com os dados de teste.

Ajustando o modelo

  • O método .fit() é usado para ajustar o modelo aos dados de treinamento.
  • É possível passar as variáveis x_train e y_train como argumentos.

Fazendo previsões

  • Depois que o modelo é treinado, use-o para fazer previsões com os dados de teste.
  • Use o método .predict() e passe a variável x_test como argumento.

Entendendo a Avaliação de Modelos

Visão Geral da Seção: Nesta seção, o palestrante explica como avaliar modelos de aprendizado de máquina e apresenta algumas métricas comuns para avaliar o desempenho do modelo.

Gráficos e Métricas para Avaliação de Modelos

  • O palestrante explica que é possível traçar os valores reais em um gráfico no eixo X e os valores gerados pelo modelo no eixo Y. Ele mostra que, idealmente, o gráfico deve ser uma linha reta perfeita.
  • Além dos gráficos, existem várias métricas que podem ser usadas para avaliar o desempenho do modelo, incluindo erro médio absoluto, erro quadrático médio e coeficiente de determinação (R²).
  • O palestrante destaca que diferentes métricas podem ser mais adequadas dependendo do objetivo do modelo. Por exemplo, o erro quadrático médio pode penalizar mais valores discrepantes.
  • Para comparar diferentes modelos ou versões do mesmo modelo com novas features, é possível usar as mesmas métricas. O palestrante mostra um exemplo onde selecionou todas as colunas disponíveis na base de dados para treinar um novo modelo.

Cuidados ao Selecionar Features

  • O palestrante alerta sobre a importância de analisar cuidadosamente quais colunas devem entrar no modelo. Ele compara dois modelos: um com todas as colunas disponíveis na base de dados e outro com uma seleção de colunas. O modelo com todas as colunas teve um erro menor, mas o palestrante destaca que é preciso ter cuidado para não incluir muitas features e tornar o modelo muito lento.

Modelo de Árvores de Decisão

Visão Geral da Seção: Nesta seção, o palestrante explica como criar um modelo de árvore de decisão e compará-lo com um modelo de regressão linear. Ele também discute a importância da escolha do modelo correto para os dados.

Criação do Modelo

  • Para criar o modelo de árvore de decisão, é necessário importar a biblioteca "DecisionTreeRegressor" e instanciar o modelo.
  • Em seguida, é possível fazer previsões usando esse modelo e comparar os resultados com o erro quadrático médio (MSE).
  • O valor R² próximo a 1 indica que este é provavelmente o melhor modelo para os dados.

Comparação entre Modelos

Visão Geral da Seção: Nesta seção, o palestrante compara os resultados do modelo de árvore de decisão com um modelo de regressão linear.

Resultados da Regressão Linear

  • O erro quadrático médio (MSE) para a regressão linear foi 278.
  • Ao usar o modelo de árvore de decisão, o MSE diminuiu para 210.
  • Usando uma profundidade máxima diferente na árvore, foi possível reduzir ainda mais o MSE para 192.

Escolhendo um Modelo

  • Com base nos resultados dos modelos testados, pode-se concluir que a árvore de decisão é a melhor opção para esses dados específicos.
  • Isso destaca a importância da escolha do modelo correto ao trabalhar com dados.

Conclusões Finais

Visão Geral da Seção: Nesta seção, o palestrante conclui a apresentação e destaca a importância de seguir um processo estruturado ao trabalhar com dados.

  • O processo envolve a seleção das informações mais importantes, tratamento dos dados e escolha do modelo correto.
  • Ao seguir esse processo, é possível obter resultados mais precisos e confiáveis.
  • É importante continuar aprendendo e se aprofundando em cada uma das etapas do processo.
Video description

Quer saber mais sobre o nosso Curso Completo de Ciência de Dados? Clique no link abaixo para garantir sua vaga na próxima turma: https://blp.hashtagtreinamentos.com/ciencia-dados/esperacienciadadosimpressionador?origemurl=hashtag_yt_org_listaesperacd_N0wi3f9PCqg PARA BAIXAR O MINICURSO GRATUITO DE ANÁLISE DE DADOS: http://pages.hashtagtreinamentos.com/inscricao-minicurso-analisededados-python?origemurl=hashtag_yt_org_minipython_N0wi3f9PCqg PARA BAIXAR O MINICURSO GRATUITO DE CIÊNCIA DE DADOS: https://pages.hashtagtreinamentos.com/inscricao-curso-basico-cienciadados?origemurl=hashtag_yt_org_minicd_N0wi3f9PCqg ----------------------------------------------------------------------- ► Arquivos Utilizados no Vídeo: https://pages.hashtagtreinamentos.com/arquivo-python-18vLnmYZLBXiWr_rtZKRmMu5shaO7lpcc?origemurl=hashtag_yt_org_planilhapyt_N0wi3f9PCqg ► Analisando uma Base em 10 minutos com PANDAS PROFILING no Python https://www.youtube.com/watch?v=R5qEDXWKOhY ► Usando Machine Learning para Estimativa de Vendas no Python https://www.youtube.com/watch?v=3qym7vqFybs&t=95s ----------------------------------------------------------------------- Caso prefira o vídeo em formato de texto: https://www.hashtagtreinamentos.com/projeto-machine-learning-ciencia-dados ----------------------------------------------------------------------- Fala Impressionadores! Na aula de hoje eu quero te mostrar um projeto de machine learning no Python! A ideia é te mostrar passo a passo desse projeto para que possamos criar o nosso modelo de machine learning. Vamos utilizar algumas bibliotecas que você provavelmente já deve ter visto aqui no canal: biblioteca pandas, biblioteca matplotlib, biblioteca seaborn e pandas profling. Você que ainda não assistiu o vídeo de pandas profiling nós utilizamos para fazer o resumo da base de dados, isso te ajuda a ter uma noção melhor dos seus dados! E aí vamos ao tratamento da base de dados para criar o nosso modelo de regressão linear e o modelo de árvore de decisão? ----------------------------------------------------------------------- Hashtag Programação ► Inscreva-se em nosso canal: http://bit.ly/3c0LJQi ► Ative as notificações (clica no sininho)! ► Curta o nosso vídeo! ----------------------------------------------------------------------- Redes Sociais ► Blog: https://bit.ly/2MRUZs0 ► YouTube: http://bit.ly/3c0LJQi ► Instagram: https://bit.ly/3o6dw42 ► Facebook: http://bit.ly/3qGtaF2 Aqui nos vídeos do canal da Hashtag Programação ensinamos diversas dicas de Python para que você consiga se desenvolver nessa linguagem de programação! ----------------------------------------------------------------------- #python #hashtagprogramacao