Шпаргалка ChatGPT для работы с Data Science
Что такое ChatGPT?
ChatGPT - это языковая модель, разработанная OpenAI, которая привлекла значительное внимание благодаря своей удивительной способности генерировать человекоподобные ответы на заданные ей запросы. ChatGPT полезна для различных задач, связанных с языком, включая перевод языка, ответы на вопросы, дополнение текста и многое другое. Она также очень полезна для рабочих процессов в области Data Science.
Чтобы начать, просто перейдите на сайт OpenAI и начните вводить запросы. Зарегистрируйтесь бесплатно или перейдите на платную версию для приоритетного доступа.
Как начать работу?
В этой шпаргалке вы найдете конкретные примеры использования ChatGPT для общих задач Data Science, включая визуализацию данных, анализ данных, машинное обучение и многое другое.
Руководство по созданию хороших запросов (prompts)
- Начинайте запросы с описания роли AI. Например: "Ты - {z}" или "Я хочу, чтобы ты вел себя как {z}". Если вы не уверены, попробуйте "Ты - полезный помощник". Например:
- Используйте его для обычных задач. Чем обычнее задача, тем больше шансов на успех с ChatGPT.
- Предоставляйте контекст. Предоставление контекста при задании вопроса ChatGPT позволяет ему давать конкретные ответы. Предоставление контекста позволяет модели понять тонкости проблемы и генерировать более осведомленные ответы. Например:
- Будьте точны. Точность - это еще одна лучшая практика, которая может уменьшить необходимость в корректировке вывода. При задании вопроса будьте ясны относительно входных данных (если они есть) и желаемого результата.
- Продолжайте пробовать. Не бойтесь пробовать разные запросы. Использование различных запросов может дать разные точки зрения на проблему и позволить модели генерировать разнообразные ответы.
Ограничения ChatGPT
Однако, ChatGPT не идеален - он может генерировать неверную информацию или "галлюцинировать". ChatGPT может дать неверные ответы с авторитетным тоном. Поэтому очень важно проверять все его ответы на соответствие фактам.
Что тяжелее 10 кг железа или 10000 грамм сахарного песка?
10 кг железа и 10000 г сахарного песка имеют одинаковую массу.
Килограмм (кг) и грамм (г) являются единицами измерения массы. 1 кг составляет 1000 г. Таким образом, 10 кг железа равны 10000 г, и 10000 г сахарного песка также равны 10000 г.
Следовательно, 10 кг железа и 10000 г сахарного песка имеют одинаковую массу и будут одинаково тяжелыми.
ChatGPT в программировании
Отладка кода
Я хочу, чтобы вы были Python программистом. Вот фрагмент кода на Python
{вставьте свой код сюда} - Я получаю следующую ошибку {вставьте ошибку сюда}
Какова причина ошибки?
Я хочу, чтобы вы были программистом на R. Вот фрагмент кода на R, содержащий
{проблему} — {вставьте фрагмент кода} — я получаю следующую ошибку
{вставьте ошибку}. В чем причина ошибки?
Я хочу, чтобы вы были программистом на SQL. Вот фрагмент кода на SQL,
содержащий {проблему} — {вставьте фрагмент кода} — я получаю
следующую ошибку {вставьте ошибку}.
В чем причина ошибки?
Объяснение кода
Я хочу, чтобы вы выступали в роли объяснителя кода на Python. Я не понимаю,
что делает эта функция. Можете ли вы объяснить, что она делает,
и предоставить пример? {Вставьте функцию}
Я хочу, чтобы вы выступали в роли объяснителя кода на R. Я не понимаю,
что делает эта функция. Можете ли вы объяснить, что она делает,
и предоставить пример? {Вставьте функцию}
Я хочу, чтобы вы выступали в роли объяснителя кода на SQL. Я не понимаю,
что делает этот фрагмент кода. Можете ли вы объяснить, что он делает,
и предоставить пример?
{Вставьте SQL-запрос}
Оптимизации кода
Я хочу, чтобы вы выступали в роли оптимизатора кода на Python.
{Опишите проблему с текущим кодом, если возможно}. Можете ли вы сделать код
{более питоничным/более чистым/более эффективным/более быстрым/более читаемым}?
{Вставьте код}
Я хочу, чтобы вы выступали в роли оптимизатора кода на R.
{Опишите проблему с текущим кодом, если возможно}.
Можете ли вы сделать код
{более чистым/более эффективным/более быстрым/более читаемым}?
{Вставьте код}
Я хочу, чтобы вы выступали в роли оптимизатора запросов на SQL.
{Опишите проблему с текущим кодом, если возможно}.
Можете ли вы предложить способы сделать запрос
{более быстрым/более читаемым/более простым}?
{Вставьте код}
Упрощение кода
Я хочу, чтобы вы выступали в роли программиста на Python.
Пожалуйста, упростите этот код, обеспечивая его
{эффективность/легкость чтения/питоничность}.
{Вставьте код}
Я хочу, чтобы вы выступали в роли программиста на R. Пожалуйста,
упростите этот код, обеспечивая его
{эффективность/легкость чтения}. {Вставьте код}
Я хочу, чтобы вы выступали в роли программиста на SQL. Я использую
{PostgreSQL 14/MySQL 8/SQLite 3.4/другие версии}.
Можете ли вы упростить этот запрос
{обеспечивая его эффективность/легкость чтения/вставьте любые
дополнительные требования}?
Перевод кода с одного языка на другой
Я хочу, чтобы вы выступали в роли программиста на R.
Пожалуйста, переведите этот код на Python. {Вставьте код}
Я хочу, чтобы вы выступали в роли программиста на Python.
Пожалуйста, переведите этот код на R. {Вставьте код}
Качество кода и его тестирование
Я хочу, чтобы вы выступали в роли программиста на Python.
Можете ли вы написать код, который сравнивает скорость двух
функций {имя функции} и {имя функции}? {Вставьте функции}
Я хочу, чтобы вы выступали в роли программиста на R. Пожалуйста,
напишите модульные тесты для функции {имя функции}?
{Вставьте требования к модульным тестам, если есть} {Вставьте код}
Я хочу, чтобы вы выступили в роли Python-программиста. Напишите,
пожалуйста, модульные тесты для функции
{functionname}? {Вставьте требования для модульных тестов, если есть}
{Вставьте код}
Анализ данных
SQL анализ данных
Я хочу, чтобы вы выступили в роли генератора данных.
Можете ли вы написать SQL-запросы в {версии базы данных}, которые
создают таблицу {название таблицы} со столбцами {названия столбцов}?
Включите соответствующие ограничения и индекс.
Я хочу, чтобы вы выступили в роли программиста SQL.
Я использую {версию базы данных}. Можете ли вы переписать этот
запрос, используя CTE? {Вставьте запрос}
Я хочу, чтобы вы выступили в роли дата-сайентиста.
{Вставьте описание таблиц}. Можете ли вы
{посчитать/просуммировать/взять среднее значение}
{значения}, которые {вставьте фильтры}?
Я хочу, чтобы вы выступили в роли дата-сайентиста.
Я использую {PostgreSQL 14/MySQL 8/SQLite 3.4/другие версии}.
У меня есть таблицы {название таблицы}, которые {описание таблицы}.
Таблица sales состоит из столбцов
{названия столбцов}. Можете ли вы написать запрос, который найдет
семидневное скользящее среднее {количества}?
Я хочу, чтобы вы выступили в роли дата-сайентиста.
Я использую {PostgreSQL 14/MySQL 8/SQLite 3.4/другие версии}.
У меня есть таблицы {название таблицы}, которые {описание таблицы}.
Таблица sales состоит из столбцов
{названия столбцов}. Можете ли вы написать запрос, который найдет
{требуемую оконную функцию}?
Анализ данных на Python
Рабочий процесс генерации данных
Генерация Markdown
Я хочу, чтобы вы выступили в роли генератора данных на Python. Можете ли вы создать файл Markdown, содержащий
{требования к данным}? Сохраните файл под именем {имя файла}.
Генерация CSV
Я хочу, чтобы вы выступили в роли генератора данных на Python. Можете ли вы создать файл CSV, содержащий
{требования к данным}? Сохраните файл под именем {имя файла}.
Генерация JSON
Я хочу, чтобы вы выступили в роли генератора данных на Python. Можете ли вы создать файл JSON, содержащий
{требования к данным}? Сохраните файл под именем {имя файла}.
Рабочий процесс очистки данных
Я хочу, чтобы вы выступили в роли дата-сайентиста и программировали на Python с использованием библиотеки Pandas.
У вас есть CSV-файл, содержащий данные {название таблицы} со столбцами {названия столбцов} для {контекста данных}.
Напишите код для очистки данных. {Вставьте требования к данным}.
Рабочий процесс анализа данных с использованием Pandas
Агрегация данных
Я хочу, чтобы вы выступили в роли дата-сайентиста и программировали на Python с использованием библиотеки Pandas.
У вас есть таблица {название таблицы}, состоящая из столбцов {названия столбцов}. Напишите запрос, который найдет
{требования}.
Объединение данных
Я хочу, чтобы вы выступили в роли дата-сайентиста и программировали на Python с использованием библиотеки Pandas.
У вас есть таблица {название таблицы} со столбцами {названия столбцов}, а также другая таблица
{название второй таблицы}
со столбцами {названия столбцов}. Пожалуйста, объедините эти две таблицы.
{Вставьте дополнительные требования, если есть}.
Изменение формата данных
Я хочу, чтобы вы выступили в роли дата-сайентиста и программировали на Python с использованием библиотеки Pandas.
У вас есть таблица {название таблицы} со столбцами {названия столбцов}. Можете ли вы сгруппировать {значение}
по {столбцу} и преобразовать его из длинного формата в широкий формат?
Анализ данных на R
Генерация данных
Генерация Markdown
Я хочу, чтобы вы выступили в роли генератора данных на R. Можете ли вы создать файл Markdown, содержащий
{требования к данным}? Сохраните файл под именем {имя файла}.
Генерация CSV
Я хочу, чтобы вы выступили в роли генератора данных на R. Можете ли вы создать файл CSV, содержащий
{требования к данным}? Сохраните файл под именем {имя файла}.
Генерация JSON
Я хочу, чтобы вы выступили в роли генератора данных на R. Можете ли вы создать файл JSON, содержащий
{требования к данным}? Сохраните файл под именем {имя файла}.
Очистка данных
Я хочу, чтобы вы выступили в роли дата-сайентиста и программировали на R с использованием библиотеки tidyr.
У вас есть dataframe {название dataframe}, содержащий столбцы {названия столбцов}. {Вставьте требование}.
Анализ данных с использованием tidyr
Агрегация данных
Я хочу, чтобы вы выступили в роли дата-сайентиста и программировали на R с использованием библиотеки tidyr.
У вас есть dataframe {название dataframe}, содержащий столбцы {названия столбцов}. {Вставьте требование}.
Объединение данных
Я хочу, чтобы вы выступили в роли дата-сайентиста и программировали на R с использованием библиотеки tidyr.
У вас есть dataframe {название dataframe}, содержащий столбцы {названия столбцов}. У вас также есть dataframe
{название второго dataframe}, содержащий столбцы {названия столбцов}. Найдите {требуемый результат}.
Преобразование данных (из длинного в широкий)
Я хочу, чтобы вы выступили в роли дата-сайентиста и программировали на R с использованием библиотеки tidyr.
У вас есть dataframe {название dataframe}, содержащий столбцы {названия столбцов}. Пожалуйста, преобразуйте
данные в широкий формат.
Преобразование данных (из широкого в длинный)
Я хочу, чтобы вы выступили в роли дата-сайентиста и программировали на R с использованием библиотеки tidyr.
У вас есть dataframe {название dataframe}, содержащий столбцы {названия столбцов}. Пожалуйста, преобразуйте данные
в длинный формат.
Визуализации данных
Визуализация данных на R
Создание графиков в ggplot2
Я хочу, чтобы вы выступили в роли датасаентиста и написали код на R. Учитывая таблицу данных {имя таблицы} с колонками
{имена колонок}, используйте ggplot2 для построения {тип графика и требование}.
Визуализация сетки графиков в ggplot2
Я хочу, чтобы вы выступили в роли датасаентиста и написали код на R. Учитывая таблицу данных {имя таблицы} с колонками
{имена колонок}, используйте ggplot2 для построения сетки графиков, отображающих взаимосвязь одной переменной с другой.
Аннотация и форматирование графиков
Я хочу, чтобы вы выступили в роли датасаентиста и написали код на R. Учитывая таблицу данных {имя таблицы} с колонками
{имена колонок}, используйте ggplot2 для построения {тип графика}, отображающего взаимосвязь между {переменными}.
{Вставьте требования по аннотации и форматированию}.
Изменение темы графиков в ggplot2
Я хочу, чтобы вы выступили в роли датасаентиста и написали код на R. Учитывая таблицу данных {имя таблицы} с колонками
{имена колонок}, используйте ggplot2 для построения {тип графика}, отображающего взаимосвязь между {переменными}.
Измените цветовую тему в соответствии с {темой}.
Визуализация данных на Python
Создание графиков с помощью matplotlib
Я хочу, чтобы вы выступили в роли датасаентиста и написали код на Python. Учитывая таблицу данных {имя таблицы} с
колонками {имена колонок}, используйте matplotlib для построения {типа графика и требования}.
Создание графиков-пар в matplotlib.
Я хочу, чтобы вы выступили в роли датасаентиста и написали код на Python. Учитывая таблицу данных {имя таблицы} с
колонками {имена колонок}, используйте matplotlib для построения сетки графиков, отображающей взаимосвязь
одной переменной с другой.
Аннотация и форматирование графиков в matplotlib
Я хочу, чтобы вы выступили в роли датасаентиста и написали код на Python. Учитывая таблицу данных {имя таблицы} с
колонками {имена колонок}, используйте matplotlib для построения {типа графика}, отображающего взаимосвязь между
{переменными}. {Вставьте требования по аннотации и форматированию}.
Изменение темы графиков в matplotlib.
Я хочу, чтобы вы выступили в роли датасаентиста и написали код на Python. Учитывая таблицу данных {имя таблицы} с
колонками {имена колонок}, используйте matplotlib для построения {типа графика}, отображающего взаимосвязь между
{переменными}. Измените цветовую тему в соответствии с {темой}.
Промпты для машинного обучения
Общий процесс машинного обучения
Идеи для инженерии признаков.
Я хочу, чтобы вы выступили в роли датасаентиста. Учитывая набор данных {имя набора
данных}, содержащий {колонки}, вам нужно предсказать {предсказываемую переменную}. Предложите данные, которые будут
полезны для этой проблемы, и выполните инженерию признаков для этой проблемы.
Рабочий процесс машинного обучения на Python
Рабочий процесс обучения модели.
Я хочу, чтобы вы выступили в роли датасаентиста, программировавшего на Python. Учитывая набор данных
{имя таблицы данных}, содержащий {имя колонки}, напишите код для предсказания {выходной переменной}.
Рабочий процесс настройки гиперпараметров.
Я хочу, чтобы вы выступили в роли датасаентиста, программировавшего на Python. Учитывая модель
{тип модели}, напишите код для настройки гиперпараметров.
Рабочий процесс объяснения модели.
Я хочу, чтобы вы выступили в роли датасаентиста, программировавшего на Python. Учитывая модель
{тип модели}, предсказывающую {предсказываемую переменную}, напишите код, который объясняет результаты
с помощью значений Shap.
Рабочий процесс машинного обучения на R
Обучение классификационной модели на R. Рабочий процесс обучения модели.
Я хочу, чтобы вы выступили в роли датасаентиста, программировавшего на R. Учитывая таблицу данных
{имя таблицы данных}, содержащую {имена колонок}, напишите код для предсказания {выхода}.
Рабочий процесс настройки гиперпараметров.
Я хочу, чтобы вы выступили в роли датасаентиста, программировавшего на R. Учитывая модель
{тип модели}, напишите код для настройки гиперпараметров.
Рабочий процесс объяснения модели.
Я хочу, чтобы вы выступили в роли датасаентиста, программировавшего на R. Учитывая модель
{тип модели}, предсказывающую {предсказываемую переменную}, напишите код, который объясняет результаты с
помощью значений Shap.
Промпты для анализа временных рядов на Python
Изменение временных горизонтов с использованием pandas.
Я хочу, чтобы вы выступили в роли датасаентиста, программировавшего на Python. Учитывая временной
ряд данных в DataFrame Pandas {имя таблицы данных} с индексом времени в частоте {исходная частота} и
одной колонкой {имя колонки}, преобразуйте частоту временного индекса в {желаемую частоту}.
Построение модели прогнозирования временных рядов.
Я хочу, чтобы вы выступили в роли датасаентиста, программировавшего на Python. Учитывая временной
ряд данных в DataFrame {имя таблицы данных} с индексом времени в частоте {исходная частота}
и одной колонкой {имя колонки}, постройте модель прогнозирования, предполагая, что данные стационарны.
Промпты для обработки естественного языка:
Классификация тональности текста.
Я хочу, чтобы вы выступили в роли классификатора тональности. Классифицируйте следующий текст,
полученный из {описание источника текста}, как "положительный", "отрицательный", "нейтральный" или "неуверенный":
{Вставьте текст для классификации}.
Создание регулярных выражений.
Я хочу, чтобы вы выступили в роли программиста, пишущего на Python. Используйте регулярные выражения для проверки
строки {вставьте требования}.
Генерация текстового набора данных.
Я хочу, чтобы вы выступили в роли генератора наборов данных. Пожалуйста, сгенерируйте {количество текстов} текстов
на основе {требуемого текста и контекста}. {Вставьте дополнительные требования}.
Машинный перевод.
Я хочу, чтобы вы выступили в роли переводчика. Пожалуйста, переведите {фразу} с {исходного языка} на {язык перевода}.
Концептуальные и ориентированные на карьеру промпты
Объяснение концептов данных для бизнес-руководителей.
Я хочу, чтобы вы выступили в роли датасаентиста корпоративной компании. {Подробно опишите содержание, если требуется}
Пожалуйста, объясните руководителю бизнеса, что означает {концепт}.
Резюме статьи/исследования.
Я хочу, чтобы вы выступили в роли датасаентиста в
исследовательской стартап-компании. Пожалуйста,
объясните статью {статья} {уровню сложности, например,
разработчику программного обеспечения
пятилетнему ребенку,
бизнес-руководителю, профессору}.
Предложение проектов и идей для портфолио.
Я хочу, чтобы вы выступили в роли карьерного тренера
в области data science. Я {опишите ваш опыт} и
хотел бы {опишите свою карьерную цель}.
Предложите проекты и идеи для портфолио
{опишите цель портфолио}.
Написание учебных пособий.