Prévia do material em texto
Ciência de Dados 1. Pergunta: O que é overfitting em um modelo de aprendizado de máquina? · Resposta: Overfitting ocorre quando um modelo aprende demasiado bem os detalhes e o ruído dos dados de treinamento, a ponto de comprometer seu desempenho em dados novos e não vistos. Em outras palavras, o modelo é muito específico para o conjunto de treinamento e tem dificuldade em generalizar para novos dados. 2. Pergunta: Qual é a diferença entre aprendizado supervisionado e não supervisionado? · Resposta: No aprendizado supervisionado, o modelo é treinado com dados rotulados, ou seja, os dados de entrada vêm com respostas conhecidas. Exemplos incluem classificação e regressão. No aprendizado não supervisionado, os dados não possuem rótulos e o objetivo é identificar padrões ou estruturas subjacentes nos dados, como clustering e redução de dimensionalidade. Algoritmos 3. Pergunta: O que é um algoritmo de ordenação por bolha (Bubble Sort) e qual é sua complexidade? · Resposta: O algoritmo de ordenação por bolha é um método simples de ordenação que percorre a lista repetidamente, comparando elementos adjacentes e trocando-os se estiverem na ordem errada. A complexidade de tempo do Bubble Sort é O(n²) no pior caso, o que o torna ineficiente para listas grandes. 4. Pergunta: O que é uma busca binária e em quais situações ela é utilizada? · Resposta: A busca binária é um algoritmo eficiente para encontrar um item em uma lista ordenada, dividindo a lista em duas partes e comparando o item alvo com o elemento do meio. Ela é usada quando os dados estão ordenados e permite uma busca com complexidade O(log n). Python 5. Pergunta: Como você pode lidar com valores ausentes em um DataFrame usando pandas em Python? · Resposta: Em pandas, você pode lidar com valores ausentes usando métodos como dropna(), que remove linhas ou colunas com valores ausentes, e fillna(), que preenche valores ausentes com um valor especificado ou usando técnicas como interpolação. 6. Pergunta: O que são decorators em Python e como eles são utilizados? · Resposta: Decorators em Python são funções que permitem modificar o comportamento de outras funções ou métodos sem alterar seu código. Eles são aplicados usando o símbolo @ antes da definição de uma função. Decorators são frequentemente usados para adicionar funcionalidades como logging, controle de acesso ou medição de desempenho. MySQL 7. Pergunta: Como você pode otimizar uma consulta SQL em MySQL? · Resposta: Para otimizar consultas SQL em MySQL, você pode usar índices apropriados para melhorar o desempenho das buscas, evitar o uso de SELECT * e selecionar apenas as colunas necessárias, utilizar EXPLAIN para analisar o plano de execução da consulta, e revisar as cláusulas JOIN e filtros para garantir que são eficientes. 8. Pergunta: O que é normalização em banco de dados e por que é importante? · Resposta: Normalização é o processo de organizar os dados em um banco de dados para reduzir a redundância e melhorar a integridade dos dados. Ela envolve a divisão de tabelas em sub-tabelas e a definição de relacionamentos entre elas. Isso é importante para evitar anomalias de atualização e garantir que os dados sejam armazenados de forma eficiente e lógica. Temas Combinados 9. Pergunta: Como a biblioteca scikit-learn em Python pode ser usada para treinamento de modelos de machine learning? · Resposta: A biblioteca scikit-learn fornece ferramentas e algoritmos para treinamento de modelos de machine learning em Python. Ela oferece uma interface consistente para treinamento e avaliação de modelos, além de suporte para pré-processamento de dados, seleção de características e validação cruzada. 10. Pergunta: Qual é a importância do pré-processamento de dados antes de aplicar um algoritmo de machine learning? · Resposta: O pré-processamento de dados é crucial porque pode melhorar significativamente a performance dos algoritmos de machine learning. Isso inclui etapas como limpeza de dados, tratamento de valores ausentes, normalização e padronização dos dados, e conversão de variáveis categóricas. Dados bem preparados ajudam os algoritmos a aprender padrões mais eficazmente e a evitar problemas como overfitting.