O que aprendi usando ChatGPT para ciência de dados - KDnuggets

O que aprendi usando ChatGPT para ciência de dados – KDnuggets

Nó Fonte: 3093078

O que aprendi usando ChatGPT para ciência de dados
Imagem do autor
 

Há uma única lição que aprendi usando o ChatGPT. É extremamente útil na ciência de dados, mas você deve examinar minuciosamente tudo o que ele produz. É ótimo para algumas tarefas e pode realizá-las com muita rapidez e precisão. Para algumas outras tarefas, é bom o suficiente e você terá que avisá-lo várias vezes. E há uma tarefa em que descobri que o ChatGPT é totalmente ruim.

Você pode anexar seu conjunto de dados à mensagem ChatGPT e, fornecendo várias instruções simples, o ChatGPT pode explorar os dados para você.

Por exemplo, posso pegar um conjunto de dados de este projeto de dados. As instruções que dei são:

“Use os dados anexados para realizar uma análise estatística descritiva. Inclui o seguinte:

  • Resuma as estatísticas básicas (média, mediana, desvio padrão, etc.).
  • Identifique valores ausentes e sugira estratégias para lidar com eles.”

Ele retorna o resumo parecido com este. Ele faz o mesmo cálculo para cada variável.

Idade:

  • Média: 28.79 anos
  • Desvio Padrão: 6.94 anos
  • Faixa: 18 a 50 anos

Ele também não identificou valores ausentes no conjunto de dados.

Se você também precisar do código Python para esses cálculos, poderá solicitar que ele os escreva.

Para carregar o conjunto de dados, use este código.

aerofit_data = pd.read_csv(file_path)

Para estatísticas básicas, fornece esta.

basic_stats = aerofit_data.describe()

E você pode verificar os valores ausentes com este código.

missing_values = aerofit_data.isnull().sum()

Além disso, posso pedir ao ChatGPT para visualizar a distribuição das principais variáveis ​​e detectar possíveis discrepâncias e anomalias.

Ele cria histogramas e gráficos de caixa para variáveis-chave: Idade, Renda e Milhas. Detectou possíveis discrepâncias na distribuição de Renda e Milhas.

 

O que aprendi usando ChatGPT para ciência de dados
Criado por Autor/ChatGPT
 
O que aprendi usando ChatGPT para ciência de dados
Criado por Autor/ChatGPT
 

Ele também interpreta as visualizações. Assim, nota-se que a distribuição do rendimento é assimétrica à direita, o que indica que a maioria dos clientes tem um rendimento no extremo inferior do espectro e menos clientes auferem rendimentos significativamente mais elevados. O boxplot sugere que há alguns valores discrepantes na extremidade superior.

 

O que aprendi usando ChatGPT para ciência de dados
Criado por Autor/ChatGPT
 
O que aprendi usando ChatGPT para ciência de dados
Criado por Autor/ChatGPT
 

A mesma interpretação é aplicável à distribuição de milhas: distorcida à direita e discrepantes na extremidade superior.

Considerando a natureza dos dados, sugere que estes valores discrepantes não são necessariamente erros, mas representam um segmento específico de clientes. Em relação às distribuições assimétricas, sugere transformações (por exemplo, transformação logarítmica) para normalizar os dados.

Claro, você também pode pedir para escrever um código Python para essas visualizações.

Posso usar os mesmos dados e perguntar ao ChatGPT se é adequado para regressão logística. E se não, o que devo fazer para transformá-lo de forma apropriada?

Ele respondeu que meus dados são principalmente adequados para análise descritiva e inferencial de dados contínuos.

Estas são as formas sugeridas de transformação de dados para regressão logística.

Crie um resultado binário: Crie um resultado binário categorizando os clientes como “alto uso” ou “baixo uso com base em uma divisão mediana na variável Uso. Além disso, o resultado binário pode ser “compra de esteira” versus “não compra de esteira”.

Verifique a multicolinearidade: Usar um matriz de correlação or Fator de Inflação de Variação (VIF) para verificar a multicolinearidade. Se houver multicolinearidade, as variáveis ​​correlacionadas podem ser removidas ou combinadas.

Dimensionamento de recursos: Embora o dimensionamento de recursos para ajuste de modelo não seja necessário para regressão logística, pode ser benéfico para convergência. Este é o caso especialmente de recursos com escalas significativamente diferentes.

Lidando com a não linearidade: As transformações, como log or raiz quadrada, pode ser usado para variáveis ​​que não satisfazem a suposição de linearidade.

Tamanho da amostra: O conjunto de dados deve ser grande o suficiente, dado o número de variáveis ​​preditoras.

Pré-processamento de dados: Tratamento de outliers e variáveis ​​categóricas (por codificação one-hot ou codificação de rótulo) é sugerido. Além disso, sugere o tratamento de valores ausentes, mas isso não se aplica aos meus dados, pois não há valores ausentes.

O ChatGPT pode realmente ser útil em todas as etapas de um projeto de ciência de dados. Você pode solicitar que ele escreva um código de web scraping. Você pode instruí-lo a explorar e preparar seus dados para os algoritmos de aprendizado de máquina. Ele também pode fornecer um código para escolher o algoritmo certo, divisão de conjunto de dados, testes A/B e algoritmos de aumento de desempenho. Finalmente, você também pode pedir ao ChatGPT para escrever um código para implantação do modelo.

Embora o ChatGPT possa fazer tudo isso, é bem possível que você não obtenha imediatamente um código que faça exatamente o que deseja. Então, você tem que entender o que deseja alcançar e verificar o código. Provavelmente, você terá que solicitar ao ChatGPT correções de código e fornecer mais instruções sobre o que alterar.

ChatGPT pode ajudar usuários que ainda estão aprendendo novas linguagens de codificação. Imagine que você é um mestre em SQL e não tem problemas para resolver esta pergunta da entrevista. No entanto, você deseja adicionar Python às suas habilidades. ChatGPT pode te ajudar com isso. Você pode copiar o código SQL e pedir ao ChatGPT para convertê-lo para Python.

Então, o código SQL é este.

SELECT 
  company, 
  profit 
FROM 
  (
    SELECT 
      *, 
      rank() OVER (
        ORDER BY 
          profit DESC
      ) as rank 
    FROM 
      (
        SELECT 
          company, 
          sum(profits) AS profit 
        FROM 
          forbes_global_2010_2014 
        GROUP BY 
          company
      ) sq
  ) sq2 
WHERE 
  rank = 3;

ChatGPT escreveu o código Python baseado no código SQL acima, mas não funciona direito. Então, eu critico o ChatGPT por não escrever o código correto. E peço para tentar novamente, pois a saída não é a mesma do código SQL. Ele tenta novamente e retorna o resultado correto.

import pandas as pd

# Assuming 'forbes_global_2010_2014' is a pandas DataFrame with columns 'company' and 'profits'
# Since we don't have the actual data, this code assumes that the DataFrame is already loaded

# Step 1: Group by company and sum the profits
company_profits_sum = forbes_global_2010_2014.groupby('company')['profits'].sum().reset_index()

# Step 2: Rank the companies by profit in descending order
company_profits_sum['rank'] = company_profits_sum['profits'].rank(ascending=False, method='max')

# Step 3: Filter the top 3 companies
top_companies = company_profits_sum[company_profits_sum['rank'] = 3]

# Final selection of columns
result = top_companies[['company', 'profits']].sort_values('profits', ascending=False)

result  # This will display the top 3 companies by profit

Como você pode ver, você obtém um código legal com comentários antes de cada bloco de código. Para melhorar seu aprendizado, você pode pedir para interpretar este código. Dessa forma, você se aprofundará ainda mais no que cada linha de código faz e como.

Quando digo ruim, quero dizer muito ruim! Ele chega ao nível em que usa a fórmula correta e insere os valores corretos, mas de alguma forma consegue atrapalhar cálculos não tão complicados.

Veja isso. Pedi-lhe para resolver este problema: “Suponha que você lance um dado justo de seis lados 10 vezes. Qual é a probabilidade de rolar dois 1s, três 2s, um 3, zero 4s, três 5s e um 6?”

Ele calcula a probabilidade desta forma.

 

O que aprendi usando ChatGPT para ciência de dados
 

Isso atrapalha ao calcular fatoriais. E faz isso com estilo! Completamente errado dizendo 2! = 12. Não é, é 2. Como você pode bagunçar um cálculo simples como 2×1 = 2? Isso é realmente ridículo!

Ainda mais engraçado é que uma vez, 3! = 36, e na segunda vez 3! = 6. Crédito a ele, pois foi correto pelo menos uma vez.

Quando peço para corrigir o cálculo sem maiores explicações, ele calcula novamente e chega à probabilidade de 0.0001389. Eu não pude acreditar nos meus olhos! Ele pode usar precisamente a mesma fórmula e valores e chegar a um resultado diferente que ainda está errado!

Pedi novamente para corrigir o cálculo e finalmente retornou o resultado correto: 0.0008336. A terceira vez é um encanto!

É certo que esses erros foram cometidos pelo ChatGPT 3.5. Fiz a mesma pergunta ao ChatGPT 4 e ele fez o cálculo correto na primeira tentativa. Você também pode usar alguns plug-ins matemáticos para ficar seguro.

O principal aprendizado de tudo isso é que ChatGPT é um péssimo mestre, mas um ótimo servo. Pode ser útil para escrever código, depurar, analisar e visualizar dados. No entanto, nunca confie nele completamente e nunca aceite o que ele escreve sem um exame minucioso.

Verifique o código que ele escreve e verifique os cálculos. Afinal, você é um cientista de dados, mas o ChatGPT não é! Você pode não obter os resultados desejados do ChatGPT na primeira tentativa. Mas dar instruções mais precisas e tentar várias vezes provavelmente levará ao resultado desejado.
 
 

Nate Rosidi é cientista de dados e em estratégia de produto. Ele também é professor adjunto ensinando análise e é o fundador da StrataScratchGenericName, uma plataforma que ajuda os cientistas de dados a se prepararem para suas entrevistas com perguntas reais das principais empresas. Conecte-se com ele em Twitter: StrataScratch or LinkedIn.

Carimbo de hora:

Mais de KDnuggetsGenericName