После своего появления ChatGPT ежедневно удивляет нас своими возможностями благодаря исследовательской группе OpenAI. Это имеет смысл, почему этот инструмент имеет услуги премиум-класса, предоставляющие вам доступ к самым современным возможностям искусственного интеллекта, включая плагины ChatGPT и интерпретатор кода ChatGPT. И т. д

Интерпретатор кода

Эта функция дает моделям OpenAI возможность работать с Python как с основным языком на данный момент, выполнять его и получать исходный код. Разве это не фантастическая функция?

На изображениях ниже показаны некоторые возможности интерпретатора кода ChatGPT:

В качестве первого шага вам необходимо выбрать вариант интерпретатора кода из раскрывающегося списка «Модель», и на изображении ниже мы рассмотрим различные подсказки, данные для этой модели, а также их выходные данные:

Теперь, когда у нас есть сгенерированный график, давайте рассмотрим его поближе, применив масштаб:

Как мы видим, эта функциональность добавляет множество возможностей к существующей модели, делая ее более интерактивной с людьми и их потребностями.

Давайте перейдем к самой забавной части, в которой я выполнил мини-проект по науке о данных, включающий исследование и преобразование набора данных, а также создание алгоритма двоичной классификации для нашей бизнес-задачи.

Полный анализ датасета Титаник с помощью нового ChatGPT Code Interpreter

На изображении ниже показано используемое приглашение для анализа набора данных Titanic.

Примечание:

Почти весь приведенный ниже код (с комментариями) и описания были созданы ChatGPT.

Некоторые фрагменты кода были изменены вручную для большей читабельности.

# First, let's load the dataset and take a look at its first few rows.

import pandas as pd

# Load the dataset
titanic_df = pd.read_csv('./data/titanic.csv')

# Display the first few rows of the dataset
titanic_df.head()

Набор данных содержит следующие столбцы:

  • Выжил: это целевая переменная, которую мы пытаемся предсказать (0 = Нет; 1 = Да).
  • Pclass: класс пассажира (1 = 1-й; 2 = 2-й; 3 = 3-й). Это показатель социально-экономического статуса (1-й = верхний; 2-й = средний; 3-й = нижний).
  • Пол: пол пассажира (мужской или женский).
  • Возраст: возраст пассажира. Некоторые фракции присутствуют, если был оценен возраст.
  • Братья, сестры/супруги: количество братьев, сестер/супругов пассажира на борту Титаника.
  • Родители/Дети: количество родителей/детей пассажира на борту Титаника.
  • Тариф: стоимость билета, уплаченная пассажиром.

Далее мы должны проверить, есть ли в наборе данных пропущенные значения. Давайте сделаем это.

# Check for missing values
titanic_df.isnull().sum()

Набор данных does not have any missing values в любом из столбцов, и это здорово, поскольку означает, что нам не нужно выполнять какие-либо расчеты или удалять недостающие данные.

Прежде чем мы приступим к построению классификационной модели, нам необходимо подготовить данные.

Столбец Пол является категориальным, и его необходимо преобразовать в числовую форму. Мы можем сделать это, используя горячее кодирование или кодирование меток.

Для простоты давайте перейдем к кодированию меток, где мы назначим 0 для «женского» и 1 для «мужского». Мы будем использовать класс LabelEncoder из sklearn.preprocessing.

Затем мы разделим данные на обучающий набор и тестовый набор. Мы будем использовать 80% данных для обучения модели и 20% для тестирования ее производительности. Обычно это делается для того, чтобы оценить, насколько хорошо модель может обобщать новые, ранее неизвестные данные.

Для этой цели мы будем использовать функцию train_test_split из sklearn.model_selection.

После разделения данных мы можем приступить к построению и обучению модели классификации. Давайте начнем с простой модели, такой как Логистическая регрессия, которая является хорошей основой для решения задач двоичной классификации. Эту модель можно создать с помощью класса LogisticReprofit из sklearn.linear_model.

Мы обучаем модель, используя метод подгонки, а затем можем оценить ее производительность на тестовом наборе, используя метод оценки, который возвращает точность модели. Точность — это просто доля предсказаний, которые модель оправдала.

Давайте продолжим эти шаги

from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression

# Convert 'Sex' column to numerical form
le = LabelEncoder()
titanic_df['Sex'] = le.fit_transform(titanic_df['Sex'])

# Split the data into features (X) and target (y)
X = titanic_df.drop('Survived', axis=1)
y = titanic_df['Survived']

# Split the data into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Initialize the Logistic Regression model
model = LogisticRegression()

# Fit the model to the training data
model.fit(X_train, y_train)

# Check the accuracy of the model on the test data
accuracy = model.score(X_test, y_test)

accuracy

## output: 0.7528089887640449

Точность модели логистической регрессии на тестовом наборе составляет примерно 75,28%. Это означает, что модель правильно предсказала, выживет пассажир или нет примерно в 75,28% случаев в тестовом наборе.

Заключение

Хотя это неплохое начало, мы могли бы улучшить эту производительность, используя более сложные модели, настраивая гиперпараметры и/или инженерные функции.

Однако, учитывая ограничения этого вопроса, мы продемонстрировали основной процесс подготовки данных, построения модели классификации и оценки ее эффективности.

Спасибо!

Не забудьте получить полный код по этой ссылке!

Посетите мой сайт: Главная — IsmailOuahbi.com
Следуйте за мной в LinkedIn, чтобы узнать больше.

Подпишись на меня в Твиттере".

Мои последние статьи: