Перейти к содержанию

Шпаргалка ChatGPT для работы с Data Science

Что такое ChatGPT?

ChatGPT - это языковая модель, разработанная OpenAI, которая привлекла значительное внимание благодаря своей удивительной способности генерировать человекоподобные ответы на заданные ей запросы. ChatGPT полезна для различных задач, связанных с языком, включая перевод языка, ответы на вопросы, дополнение текста и многое другое. Она также очень полезна для рабочих процессов в области Data Science.

Чтобы начать, просто перейдите на сайт OpenAI и начните вводить запросы. Зарегистрируйтесь бесплатно или перейдите на платную версию для приоритетного доступа.

Как начать работу?

В этой шпаргалке вы найдете конкретные примеры использования ChatGPT для общих задач Data Science, включая визуализацию данных, анализ данных, машинное обучение и многое другое.

Руководство по созданию хороших запросов (prompts)

  1. Начинайте запросы с описания роли AI. Например: "Ты - {z}" или "Я хочу, чтобы ты вел себя как {z}". Если вы не уверены, попробуйте "Ты - полезный помощник". Например:
     ты - специалист по данным в OpenAI, работаешь над большими языковыми моделями. Объясни мне, как работает GPT-3.
    
  2. Используйте его для обычных задач. Чем обычнее задача, тем больше шансов на успех с ChatGPT.
  3. Предоставляйте контекст. Предоставление контекста при задании вопроса ChatGPT позволяет ему давать конкретные ответы. Предоставление контекста позволяет модели понять тонкости проблемы и генерировать более осведомленные ответы. Например:
     ты - специалист по данным в OpenAI, работаешь над большими языковыми
     моделями. Объясни, как работает GPT-3 деловому руководителю без технической
     подготовки.
    
  4. Будьте точны. Точность - это еще одна лучшая практика, которая может уменьшить необходимость в корректировке вывода. При задании вопроса будьте ясны относительно входных данных (если они есть) и желаемого результата.
  5. Продолжайте пробовать. Не бойтесь пробовать разные запросы. Использование различных запросов может дать разные точки зрения на проблему и позволить модели генерировать разнообразные ответы.

Ограничения 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. Я  {опишите ваш опыт} и 
хотел бы {опишите свою карьерную цель}. 
Предложите проекты и идеи для портфолио 
{опишите цель портфолио}.

Написание учебных пособий.

Я хочу, чтобы вы выступили в роли писателя-датасаентиста. 
Пожалуйста, напишите введение на {количество слов} слов
в учебное пособие по {заголовку}. 
{Вставьте соответствующие ключевые моменты}.