Що я навчився, використовуючи ChatGPT для Data Science - KDnuggets

Чого я навчився, використовуючи ChatGPT для Data Science – KDnuggets

Вихідний вузол: 3093078

Чого я навчився, використовуючи ChatGPT для Data Science
Зображення автора
 

Використовуючи ChatGPT, я отримав один урок. Це надзвичайно корисно в науці про дані, але ви повинні ретельно вивчати все, що він виводить. Він чудово підходить для деяких завдань і може виконувати їх дуже швидко та точно. Для деяких інших завдань цього достатньо, і вам доведеться запитувати його кілька разів. І є одне завдання, яке я виявив, що ChatGPT справляється зовсім погано.

Ви можете приєднати свій набір даних до повідомлення ChatGPT, і за допомогою кількох простих інструкцій ChatGPT зможе досліджувати дані за вас.

Наприклад, я можу взяти набір даних із цей проект даних. Інструкції, які я дав:

«Використовуйте дані, що додаються, щоб виконати описовий статистичний аналіз. Включіть наступне:

  • Узагальніть основні статистичні дані (середнє значення, медіана, стандартне відхилення тощо).
  • Визначте відсутні значення та запропонуйте стратегії їх вирішення».

Він повертає підсумок, який виглядає так. Він виконує однакові розрахунки для кожної змінної.

вік:

  • Середній вік: 28.79 років
  • Стандартне відхилення: 6.94 року
  • Діапазон: від 18 до 50 років

Він також не виявив відсутніх значень у наборі даних.

Якщо вам також потрібен код Python для цих обчислень, ви можете запропонувати йому написати їх.

Щоб завантажити набір даних, використовуйте цей код.

aerofit_data = pd.read_csv(file_path)

Для основної статистики він дає ось такий.

basic_stats = aerofit_data.describe()

І ви можете перевірити відсутні значення за допомогою цього коду.

missing_values = aerofit_data.isnull().sum()

Крім того, я можу попросити ChatGPT візуалізувати розподіл ключових змінних і виявити потенційні викиди та аномалії.

Він створює гістограми та коробкові діаграми для ключових змінних: віку, доходу та миль. Він виявив можливі викиди в розподілі доходів і миль.

 

Чого я навчився, використовуючи ChatGPT для Data Science
Створено Author/ChatGPT
 
Чого я навчився, використовуючи ChatGPT для Data Science
Створено Author/ChatGPT
 

Він також інтерпретує візуалізацію. Таким чином, він помічає, що розподіл доходів має правий перекіс, що вказує на те, що більшість клієнтів мають дохід на нижньому кінці спектра, і менше клієнтів отримують значно вищі доходи. Коробковий графік показує, що на вищому рівні є деякі викиди.

 

Чого я навчився, використовуючи ChatGPT для Data Science
Створено Author/ChatGPT
 
Чого я навчився, використовуючи ChatGPT для Data Science
Створено Author/ChatGPT
 

Така сама інтерпретація застосовна до розподілу Майлза: праворуч і викиди на верхньому кінці.

Враховуючи природу даних, можна припустити, що ці викиди не обов’язково є помилками, а радше представляють певний сегмент клієнтів. Щодо спотворених розподілів пропонується перетворення (наприклад, перетворення журналу) для нормалізації даних.

Звичайно, ви також можете попросити його написати код Python для цих візуалізацій.

Я можу використати ті самі дані та запитати ChatGPT, чи підходить він для логістична регресія. І якщо ні, що я повинен зробити, щоб перетворити його так, щоб воно було відповідним?

Він відповів, що мої дані в першу чергу підходять для описового та логічного аналізу безперервних даних.

Це запропоновані способи перетворення даних для логістичної регресії.

Створіть двійковий результат: Створіть двійковий результат, класифікуючи клієнтів як «високе використання» або «низьке використання на основі медіанного розподілу за змінною використання». Крім того, двійковий результат може бути «купівля бігової доріжки» або «не купівля бігової доріжки».

Перевірка мультиколінеарності: Використовувати кореляційна матриця or Фактор інфляції дисперсії (VIF) для перевірки мультиколінеарності. Якщо є мультиколінеарність, корельовані змінні можна видалити або об’єднати.

Масштабування функцій: Хоча масштабування функцій для підгонки моделі не є необхідним для логістичної регресії, воно може бути корисним для збіжність. Особливо це стосується об’єктів зі значно різними масштабами.

Боротьба з нелінійністю: Перетворення, такі як журнал or квадратний корінь, можна використовувати для змінних, які не задовольняють припущення про лінійність.

Обсяг вибірки: Набір даних має бути достатньо великим, враховуючи кількість змінних предиктора.

Попередня обробка даних: Обробка викидів і категоріальних змінних (за одноразове кодування або кодування міток) пропонується. Крім того, пропонується обробка відсутніх значень, але це не стосується моїх даних, оскільки відсутні відсутні значення.

ChatGPT може бути корисним на кожному етапі наукового проекту. Ви можете запропонувати йому написати код веб-збирання. Ви можете доручити йому вивчити та підготувати ваші дані для алгоритмів машинного навчання. Він також може надати вам код для вибору правильного алгоритму, розділення набору даних, A/B-тестування та алгоритмів для підвищення продуктивності. Нарешті, ви також можете попросити ChatGPT написати вам код для розгортання моделі.

Хоча ChatGPT може зробити все це, цілком можливо, що ви не відразу отримаєте код, який робить саме те, що ви хочете. Отже, ви повинні зрозуміти, чого ви хочете досягти, і перевірити код. Ймовірно, вам доведеться попросити ChatGPT виправити код і надати додаткові інструкції щодо змін.

ChatGPT може допомогти користувачам, які все ще вивчають нові мови програмування. Уявіть, що ви майстер SQL і у вас немає проблем з вирішенням це питання інтерв'ю. Однак ви хочете додати Python до своїх навичок. ChatGPT може допомогти вам у цьому. Ви можете скопіювати код SQL і попросити ChatGPT перетворити його на Python.

Отже, код SQL такий.

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 написав код Python на основі коду SQL вище, але він не працює належним чином. Тому я критикую ChatGPT за неправильний код. І я прошу його спробувати ще раз, оскільки вихід не такий, як із кодом SQL. Він повторює спробу та повертає правильний результат.

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

Як бачите, ви отримуєте гарний код із коментарями перед кожним блоком коду. Щоб покращити ваше навчання, ви можете попросити його інтерпретувати цей код. Таким чином ви зможете ще глибше зрозуміти, що робить кожен рядок коду та як.

Коли я кажу погано, я маю на увазі справді погано! Він досягає такого рівня, коли використовує правильну формулу та вставляє правильні значення, але якимось чином вдається зіпсувати не такі вже й складні обчислення.

Подивіться на це. Я попросив його вирішити цю проблему: «Припустімо, що ви кидаєте шестигранний кубик 10 разів. Яка ймовірність того, що випадуть дві 1, три 2, одна 3, нуль 4, три 5 і одна 6?»

Він обчислює ймовірність таким чином.

 

Чого я навчився, використовуючи ChatGPT для Data Science
 

Це плутає під час обчислення факториалів. І робить це зі стилем! Абсолютно неправильно сказати 2! = 12. Це не так, це 2. Як можна зіпсувати просте обчислення, наприклад 2×1 = 2? Це справді смішно!

Ще смішніше, що раз, 3! = 36, а другий раз 3! = 6. Заслуговуйте на це, оскільки це було правильно хоча б один раз.

Коли я прошу його виправити обчислення без подальших пояснень, він обчислює знову та отримує ймовірність 0.0001389. Я не міг повірити своїм очам! Він може використовувати точно ту саму формулу та значення та отримати інший результат, який все одно є неправильним!

Я знову попросив його виправити обчислення, і він нарешті повернув правильний результат: 0.0008336. Третій раз — принадність!

Слід визнати, що ці помилки були зроблені ChatGPT 3.5. Я поставив ChatGPT 4 те саме запитання, і він зробив правильний розрахунок із першої спроби. Ви також можете використовувати деякі математичні плагіни, щоб бути в безпеці.

Головний висновок із усього цього полягає в тому, що ChatGPT є поганим господарем, але дуже хорошим слугою. Це може бути корисним у написанні коду, налагодженні, аналізі та візуалізації даних. Однак ніколи не довіряйте йому повністю і ніколи не сприймайте те, що він пише, без ретельної перевірки.

Перевірте код, який він пише, і перевірте обчислення. Зрештою, ви спеціаліст із обробки даних, а ChatGPT – ні! Ви можете не отримати бажаних результатів від ChatGPT з першої спроби. Але давши йому більш точні інструкції та спробувавши кілька разів, ви, ймовірно, досягнете бажаного результату.
 
 

Нейт Розіді є фахівцем із даних та стратегією продукту. Він також є ад’юнкт-професором, який викладає аналітику, і є засновником StrataScratch, платформа, яка допомагає науковцям з даних готуватися до інтерв’ю з реальними запитаннями для інтерв’ю від провідних компаній. Зв'яжіться з ним Twitter: StrataScratch or LinkedIn.

Часова мітка:

Більше від KDnuggets