После своего появления 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, чтобы узнать больше.
Подпишись на меня в Твиттере".
Мои последние статьи:
Blackbox - Помощник по кодированию на базе искусственного интеллекта-
Введениеismailouahbi.medium.com