Projeto: "Predizer preços de imóveis usando regressão com Scikit-learn"

Default avatar

Lara da Teachy


Programação em Python

Original Teachy

Python para Machine Learning: Introdução à Biblioteca Scikit-learn

Contextualização

Machine Learning é uma das áreas mais promissoras e revolucionárias da tecnologia atualmente. Seja na análise preditiva de dados, na criação de sistemas automatizados, na detecção de padrões ou mesmo na proposta de soluções para problemas complexos, o aprendizado de máquina se destaca como uma ferramenta poderosa e em constante ascensão.

Mas o que é Machine Learning? É um ramo da Inteligência Artificial que confere aos computadores a capacidade de aprender a partir de dados sem serem explicitamente programados. Com a aprendizagem de máquina, é possível criar modelos que podem ser treinados para tomar decisões, ou até prever futuras decisões com base em dados históricos. Dada a extensão e complexidade desse campo, é crucial dispor de ferramentas que facilitem o trabalho, como é o caso do Scikit-learn.

O Scikit-learn é uma biblioteca Python livre e de código aberto para o aprendizado de máquina, que oferece eficientes ferramentas para análise preditiva de dados de uma maneira muito acessível e conveniente. Além disso, ela fornece integração fácil com outras bibliotecas Python populares como NumPy, Pandas e Matplotlib, tornando o fluxo de trabalho de ciência de dados ainda mais eficaz.

Importância do Scikit-learn

No mundo real, o Scikit-learn é amplamente utilizado em aplicações que vão desde pesquisas acadêmicas até o desenvolvimento comercial de software e análise de dados. Com sua ampla gama de módulos que incluem métodos de pré-processamento, supervisão, modelo de seleção, valiação, regressão e muitos mais, o Scikit-learn contribui significativamente para uma melhor compreensão e implementação de algoritmos de machine learning.

Empresas de diferentes setores utilizam Machine Learning para aprimorar seus processos e tomar decisões informadas. Por exemplo, no setor financeiro, algoritmos de aprendizado de máquina são usados para detecção de fraudes em transações. No setor de saúde, eles ajudam a identificar padrões em dados clínicos que podem indicar diagnósticos de doenças. Tudo isso é possível graças a bibliotecas de machine learning como Scikit-learn.

Materiais Extras

  1. Livros: "Python Machine Learning" de Sebastian Raschka e Vahid Mirjalili. Este livro oferece uma introdução completa a Machine Learning e como implementar modelos de aprendizado utilizando Python e Scikit-Learn.

  2. Cursos Online: Coursera oferece um curso chamado [Machine Learning with Python] que é uma excelente maneira de aprender o básico de Machine Learning e Scikit-learn.

  3. Documentação Oficial: A documentação do Scikit-learn é uma excelente fonte de conhecimento. A documentação tem um tutorial detalhado sobre como usar a biblioteca, além de exemplos de código.

  4. Vídeos: O canal no YouTube "sentdex" tem uma série de vídeos chamada [Practical Machine Learning Tutorial with Python] Estes vídeos ensinarão a implementar Machine Learning usando Python e Scikit-learn.

Atividade Prática

"Predizer preços de imóveis usando regressão com Scikit-learn"

Objetivas da atividade

  1. Compreender Python e o Scikit-learn, uma biblioteca popular do Python para o Machine Learning.
  2. Praticar o pipeline típico de Machine Learning: Preparação de Dados, Modelagem e Validação.
  3. Aplicar conceitos e algoritmos de regressão para solucionar um problema do mundo real: predição de preços de imóveis.
  4. Desenvolver habilidades de trabalho em grupo e resolução de problemas.

Materiais necessários

  1. Computadores com Python instalado
  2. Conexão com a internet
  3. Bibliotecas Python: Scikit-learn, Pandas, Numpy, Matplotlib e Seaborn.

Duração do projeto: O projeto deve ser concluído dentro de 3-4 semanas, com cada aluno dedicando uma estimativa de mais de doze horas por semana.

Tamanho do grupo: Grupos de 3 a 5 alunos

Descrição detalhada da atividade prática

O objetivo deste projeto é familiarizar os alunos com o pipeline de Machine Learning usando o Scikit-learn. O pipeline inclui a preparação de dados, o ajuste de modelos e a validação de resultados. Os alunos trabalharão juntos em grupos, comunicando-se regularmente e colaborando para solucionar problemas. Cada membro do grupo deve desempenhar um papel ativo na pesquisa, discussão, codificação e documentação do projeto.

Os alunos aprenderão sobre regressão - um dos conceitos mais importantes em Machine Learning. A regressão é um tipo de aprendizado supervisionado que é útil para prever saídas numéricas, como preços, taxas, pontuações, etc., de novas entradas com base em dados históricos. Para tornar o aprendizado mais concreto e interessante, eles serão desafiados a aplicar a regressão a um problema do mundo real: prever os preços de imóveis.

Os estudantes construirão um modelo de regressão usando o dataset "Boston Housing", um conjunto de dados amplamente utilizado em Machine Learning que contém informações sobre casas em várias áreas de Boston e seus preços correspondentes. Eles irão preparar esses dados, ajustar um modelo de regressão usando Scikit-learn e validar o modelo para avaliar seu desempenho.

Passo a passo da atividade

Etapa 1: Importação do dataset

Os alunos iniciarão importando o dataset "Boston Housing" usando a função load_boston() do Scikit-learn.

Etapa 2: Análise de Dados

Inicialmente, os alunos serão induzidos a realizar uma análise exploratória inicial dos dados. Eles precisarão entender as características presentes no dataset como número médio de quartos por habitação, taxa de criminalidade per capita etc., e seus relacionamentos em relação ao preço das casas.

Etapa 3: Preparação de Dados

Antes de aplicar os algoritmos de Machine Learning, os alunos deverão processar os dados para torná-los adequados para análise. Isso inclui a limpeza da dados (lidando com dados ausentes e outliers) e a normalização de dados (escalando recursos para que eles tenham a mesma ordem de magnitude).

Etapa 4: Divisão de Dados

Os alunos devem dividir seu conjunto de dados em dois subconjuntos: um para treinamento e um para testes.

Etapa 5: Modelagem

Nesta etapa, os alunos devem ajustar um modelo de regressão aos dados de treinamento usando a biblioteca Scikit-learn.

Etapa 6: Validação

Finalmente, os alunos devem fazer previsões com seu modelo nos dados de teste e medir o desempenho do modelo comparando as previsões com os valores verdadeiros.

Entregáveis do projeto

Os alunos devem produzir um notebook Jupyter documentando todo o procedimento acima, com descrições claras de cada etapa, do conhecimento que aprenderam sobre o Scikit-learn e dos insights que ganharam com a análise dos dados.

Além disso, os alunos devem produzir um relatório escrito, contendo os seguintes tópicos principais:

  • Introdução: O aluno deve contextualizar o tópico Machine Learning e a biblioteca Scikit-learn. O aluno também deve explicar a relevância e aplicação do aprendizado de máquina e da biblioteca Scikit-learn no mundo real, bem como o objetivo do projeto.

  • Desenvolvimento: O aluno deve explicitar a teoria por trás do tema de regressão no Machine Learning, explicar a atividade em detalhes, incluindo a preparação de dados, a modelagem com Scikit-learn e a validação do modelo. O aluno deve divulgar a metodologia usada, incluir códigos, e apresentar e discutir os resultados obtidos.

  • Conclusão: O aluno deve concluir o trabalho, retomando seus pontos principais, e explicitar os aprendizados obtidos e as conclusões retiradas a partir do projeto.

  • Bibliografia: O aluno deve indicar as fontes em que se basearam para trabalhar no projeto como livros, páginas da web, vídeos, etc.

O relatório será o espaço para os alunos refletirem sobre o que aprenderam, compartilhar observações, identificar desafios encontrados e discutir como eles foram superados. O relatório é uma oportunidade para os alunos prática suas habilidades de comunicação e síntese.


Iara Tip

Precisa de materiais para apresentar o tema do projeto em sala?

Na plataforma da Teachy você encontra uma série de materiais prontos sobre esse tema! Jogos, slides, atividades, vídeos, planos de aula e muito mais...

Community img

Faça parte de uma comunidade de professores direto no seu WhatsApp

Conecte-se com outros professores, receba e compartilhe materiais, dicas, treinamentos, e muito mais!