{ "cells": [ { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Бизнес-цели для набора данных онлайн обучения\n", "\n", "1. Увеличение удержания пользователей\n", "\n", " Цель: Повысить процент пользователей, которые продолжают обучение на платформе после регистрации. Для достижения этой цели необходимо анализировать поведение пользователей, выявлять факторы, способствующие оттоку, и разрабатывать меры по улучшению пользовательского опыта, такие как персонализированные рекомендации курсов и активная поддержка через наставников.\n", "\n", "2. Оптимизация контента курсов\n", "\n", " Цель: Улучшить качество и релевантность курсов, предлагаемых на платформе, на основе анализа повышенных результатов и отзывов пользователей. Это включает в себя регулярный анализ эффективности курсов, выявление тем, которые вызывают наибольший интерес, и использование данных для создания новых курсов или обновления существующих." ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Цели технического проекта для бизнес-целей\n", "\n", "1. Цели технического проекта для увеличения удержания пользователей\n", "\n", " - Разработка системы аналитики поведения пользователей \n", " Создать инструмент, который будет отслеживать действия пользователей на платформе, включая время, проведенное на курсах, и этапы завершения.\n", "\n", " - Создание программы менторства \n", " Реализовать функционал, который позволит участникам связываться с наставниками для получения индивидуальной поддержки и консультаций.\n", "\n", "2. Цели технического проекта для оптимизации контента курсов\n", "\n", " - Анализ эффективности курсов \n", " Разработать систему сбора и анализа отзывов от пользователей по каждому курсу, включая оценку контента, преподавателей и общей полезности.\n", "\n", " - Инструмент для мониторинга трендов \n", " Создать систему, которая будет отслеживать актуальность тем курсов на основе запросов пользователей и популярных направлений в области образования.\n", "\n", " - Интеграция функциональности для обновления контента \n", " Разработать систему, которая позволит преподавателям легко обновлять материалы курсов на основе полученной обратной связи и анализа данных." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Age\n", "23 374\n", "11 353\n", "18 278\n", "9 81\n", "27 68\n", "10 51\n", "Name: count, dtype: int64" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Обучающая выборка: '" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "(723, 3)" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "Age\n", "23 224\n", "11 212\n", "18 167\n", "9 48\n", "27 41\n", "10 31\n", "Name: count, dtype: int64" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Контрольная выборка: '" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "(241, 3)" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "Age\n", "23 75\n", "11 71\n", "18 55\n", "9 16\n", "27 14\n", "10 10\n", "Name: count, dtype: int64" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "'Тестовая выборка: '" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "(241, 3)" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "Age\n", "23 75\n", "11 70\n", "18 56\n", "9 17\n", "27 13\n", "10 10\n", "Name: count, dtype: int64" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import pandas as pd\n", "# загрузка данных\n", "df = pd.read_csv(\"data/students_education.csv\")\n", "\n", "# Вывод распределения количества наблюдений по меткам (классам)\n", "from src.utils import split_stratified_into_train_val_test\n", "\n", "\n", "display(df.Age.value_counts())\n", "display()\n", "\n", "data = df[[\"Age\", \"Device\", \"Education Level\"]].copy()\n", "\n", "df_train, df_val, df_test, y_train, y_val, y_test = split_stratified_into_train_val_test(\n", " data, stratify_colname=\"Age\", frac_train=0.60, frac_val=0.20, frac_test=0.20\n", ")\n", "\n", "display(\"Обучающая выборка: \", df_train.shape)\n", "display(df_train.Age.value_counts())\n", "\n", "display(\"Контрольная выборка: \", df_val.shape)\n", "display(df_val.Age.value_counts())\n", "\n", "display(\"Тестовая выборка: \", df_test.shape)\n", "display(df_test.Age.value_counts())" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | Institution Type | \n", "Gender | \n", "Age | \n", "Device | \n", "IT Student | \n", "Location | \n", "Financial Condition | \n", "Internet Type | \n", "Network Type | \n", "Flexibility Level | \n", "education_College | \n", "education_School | \n", "education_University | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "Private | \n", "Male | \n", "23 | \n", "Tab | \n", "No | \n", "Town | \n", "Mid | \n", "Wifi | \n", "4G | \n", "Moderate | \n", "False | \n", "False | \n", "True | \n", "
1 | \n", "Private | \n", "Female | \n", "23 | \n", "Mobile | \n", "No | \n", "Town | \n", "Mid | \n", "Mobile Data | \n", "4G | \n", "Moderate | \n", "False | \n", "False | \n", "True | \n", "
2 | \n", "Public | \n", "Female | \n", "18 | \n", "Mobile | \n", "No | \n", "Town | \n", "Mid | \n", "Wifi | \n", "4G | \n", "Moderate | \n", "True | \n", "False | \n", "False | \n", "
3 | \n", "Private | \n", "Female | \n", "11 | \n", "Mobile | \n", "No | \n", "Town | \n", "Mid | \n", "Mobile Data | \n", "4G | \n", "Moderate | \n", "False | \n", "True | \n", "False | \n", "
4 | \n", "Private | \n", "Female | \n", "18 | \n", "Mobile | \n", "No | \n", "Town | \n", "Poor | \n", "Mobile Data | \n", "3G | \n", "Low | \n", "False | \n", "True | \n", "False | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
1200 | \n", "Private | \n", "Female | \n", "18 | \n", "Mobile | \n", "No | \n", "Town | \n", "Mid | \n", "Wifi | \n", "4G | \n", "Low | \n", "True | \n", "False | \n", "False | \n", "
1201 | \n", "Private | \n", "Female | \n", "18 | \n", "Mobile | \n", "No | \n", "Rural | \n", "Mid | \n", "Wifi | \n", "4G | \n", "Moderate | \n", "True | \n", "False | \n", "False | \n", "
1202 | \n", "Private | \n", "Male | \n", "11 | \n", "Mobile | \n", "No | \n", "Town | \n", "Mid | \n", "Mobile Data | \n", "3G | \n", "Moderate | \n", "False | \n", "True | \n", "False | \n", "
1203 | \n", "Private | \n", "Female | \n", "18 | \n", "Mobile | \n", "No | \n", "Rural | \n", "Mid | \n", "Wifi | \n", "4G | \n", "Low | \n", "True | \n", "False | \n", "False | \n", "
1204 | \n", "Private | \n", "Female | \n", "11 | \n", "Mobile | \n", "No | \n", "Town | \n", "Poor | \n", "Mobile Data | \n", "3G | \n", "Moderate | \n", "False | \n", "True | \n", "False | \n", "
1205 rows × 13 columns
\n", "\n", " | Institution Type | \n", "Gender | \n", "Age | \n", "Device | \n", "IT Student | \n", "Location | \n", "Financial Condition | \n", "Internet Type | \n", "Network Type | \n", "Flexibility Level | \n", "education_College | \n", "education_School | \n", "education_University | \n", "age_group | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "Private | \n", "Male | \n", "23 | \n", "Tab | \n", "No | \n", "Town | \n", "Mid | \n", "Wifi | \n", "4G | \n", "Moderate | \n", "False | \n", "False | \n", "True | \n", "19-23 | \n", "
1 | \n", "Private | \n", "Female | \n", "23 | \n", "Mobile | \n", "No | \n", "Town | \n", "Mid | \n", "Mobile Data | \n", "4G | \n", "Moderate | \n", "False | \n", "False | \n", "True | \n", "19-23 | \n", "
2 | \n", "Public | \n", "Female | \n", "18 | \n", "Mobile | \n", "No | \n", "Town | \n", "Mid | \n", "Wifi | \n", "4G | \n", "Moderate | \n", "True | \n", "False | \n", "False | \n", "10-18 | \n", "
3 | \n", "Private | \n", "Female | \n", "11 | \n", "Mobile | \n", "No | \n", "Town | \n", "Mid | \n", "Mobile Data | \n", "4G | \n", "Moderate | \n", "False | \n", "True | \n", "False | \n", "10-18 | \n", "
4 | \n", "Private | \n", "Female | \n", "18 | \n", "Mobile | \n", "No | \n", "Town | \n", "Poor | \n", "Mobile Data | \n", "3G | \n", "Low | \n", "False | \n", "True | \n", "False | \n", "10-18 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
1200 | \n", "Private | \n", "Female | \n", "18 | \n", "Mobile | \n", "No | \n", "Town | \n", "Mid | \n", "Wifi | \n", "4G | \n", "Low | \n", "True | \n", "False | \n", "False | \n", "10-18 | \n", "
1201 | \n", "Private | \n", "Female | \n", "18 | \n", "Mobile | \n", "No | \n", "Rural | \n", "Mid | \n", "Wifi | \n", "4G | \n", "Moderate | \n", "True | \n", "False | \n", "False | \n", "10-18 | \n", "
1202 | \n", "Private | \n", "Male | \n", "11 | \n", "Mobile | \n", "No | \n", "Town | \n", "Mid | \n", "Mobile Data | \n", "3G | \n", "Moderate | \n", "False | \n", "True | \n", "False | \n", "10-18 | \n", "
1203 | \n", "Private | \n", "Female | \n", "18 | \n", "Mobile | \n", "No | \n", "Rural | \n", "Mid | \n", "Wifi | \n", "4G | \n", "Low | \n", "True | \n", "False | \n", "False | \n", "10-18 | \n", "
1204 | \n", "Private | \n", "Female | \n", "11 | \n", "Mobile | \n", "No | \n", "Town | \n", "Poor | \n", "Mobile Data | \n", "3G | \n", "Moderate | \n", "False | \n", "True | \n", "False | \n", "10-18 | \n", "
1205 rows × 14 columns
\n", "\n", " | Institution Type | \n", "Gender | \n", "Age | \n", "Device | \n", "IT Student | \n", "Location | \n", "Financial Condition | \n", "Internet Type | \n", "Network Type | \n", "Flexibility Level | \n", "education_College | \n", "education_School | \n", "education_University | \n", "age_group | \n", "internet | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "Private | \n", "Male | \n", "23 | \n", "Tab | \n", "No | \n", "Town | \n", "Mid | \n", "Wifi | \n", "4G | \n", "Moderate | \n", "False | \n", "False | \n", "True | \n", "19-23 | \n", "Wifi_4G | \n", "
1 | \n", "Private | \n", "Female | \n", "23 | \n", "Mobile | \n", "No | \n", "Town | \n", "Mid | \n", "Mobile Data | \n", "4G | \n", "Moderate | \n", "False | \n", "False | \n", "True | \n", "19-23 | \n", "Mobile Data_4G | \n", "
2 | \n", "Public | \n", "Female | \n", "18 | \n", "Mobile | \n", "No | \n", "Town | \n", "Mid | \n", "Wifi | \n", "4G | \n", "Moderate | \n", "True | \n", "False | \n", "False | \n", "10-18 | \n", "Wifi_4G | \n", "
3 | \n", "Private | \n", "Female | \n", "11 | \n", "Mobile | \n", "No | \n", "Town | \n", "Mid | \n", "Mobile Data | \n", "4G | \n", "Moderate | \n", "False | \n", "True | \n", "False | \n", "10-18 | \n", "Mobile Data_4G | \n", "
4 | \n", "Private | \n", "Female | \n", "18 | \n", "Mobile | \n", "No | \n", "Town | \n", "Poor | \n", "Mobile Data | \n", "3G | \n", "Low | \n", "False | \n", "True | \n", "False | \n", "10-18 | \n", "Mobile Data_3G | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
1200 | \n", "Private | \n", "Female | \n", "18 | \n", "Mobile | \n", "No | \n", "Town | \n", "Mid | \n", "Wifi | \n", "4G | \n", "Low | \n", "True | \n", "False | \n", "False | \n", "10-18 | \n", "Wifi_4G | \n", "
1201 | \n", "Private | \n", "Female | \n", "18 | \n", "Mobile | \n", "No | \n", "Rural | \n", "Mid | \n", "Wifi | \n", "4G | \n", "Moderate | \n", "True | \n", "False | \n", "False | \n", "10-18 | \n", "Wifi_4G | \n", "
1202 | \n", "Private | \n", "Male | \n", "11 | \n", "Mobile | \n", "No | \n", "Town | \n", "Mid | \n", "Mobile Data | \n", "3G | \n", "Moderate | \n", "False | \n", "True | \n", "False | \n", "10-18 | \n", "Mobile Data_3G | \n", "
1203 | \n", "Private | \n", "Female | \n", "18 | \n", "Mobile | \n", "No | \n", "Rural | \n", "Mid | \n", "Wifi | \n", "4G | \n", "Low | \n", "True | \n", "False | \n", "False | \n", "10-18 | \n", "Wifi_4G | \n", "
1204 | \n", "Private | \n", "Female | \n", "11 | \n", "Mobile | \n", "No | \n", "Town | \n", "Poor | \n", "Mobile Data | \n", "3G | \n", "Moderate | \n", "False | \n", "True | \n", "False | \n", "10-18 | \n", "Mobile Data_3G | \n", "
1205 rows × 15 columns
\n", "\n", " | Institution Type | \n", "Gender | \n", "Age | \n", "Device | \n", "IT Student | \n", "Location | \n", "Financial Condition | \n", "Internet Type | \n", "Network Type | \n", "Flexibility Level | \n", "education_College | \n", "education_School | \n", "education_University | \n", "age_group | \n", "internet | \n", "age_normalized | \n", "age_standardized | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "Private | \n", "Male | \n", "23 | \n", "Tab | \n", "No | \n", "Town | \n", "Mid | \n", "Wifi | \n", "4G | \n", "Moderate | \n", "False | \n", "False | \n", "True | \n", "19-23 | \n", "Wifi_4G | \n", "0.777778 | \n", "1.018272 | \n", "
1 | \n", "Private | \n", "Female | \n", "23 | \n", "Mobile | \n", "No | \n", "Town | \n", "Mid | \n", "Mobile Data | \n", "4G | \n", "Moderate | \n", "False | \n", "False | \n", "True | \n", "19-23 | \n", "Mobile Data_4G | \n", "0.777778 | \n", "1.018272 | \n", "
2 | \n", "Public | \n", "Female | \n", "18 | \n", "Mobile | \n", "No | \n", "Town | \n", "Mid | \n", "Wifi | \n", "4G | \n", "Moderate | \n", "True | \n", "False | \n", "False | \n", "10-18 | \n", "Wifi_4G | \n", "0.500000 | \n", "0.160338 | \n", "
3 | \n", "Private | \n", "Female | \n", "11 | \n", "Mobile | \n", "No | \n", "Town | \n", "Mid | \n", "Mobile Data | \n", "4G | \n", "Moderate | \n", "False | \n", "True | \n", "False | \n", "10-18 | \n", "Mobile Data_4G | \n", "0.111111 | \n", "-1.040771 | \n", "
4 | \n", "Private | \n", "Female | \n", "18 | \n", "Mobile | \n", "No | \n", "Town | \n", "Poor | \n", "Mobile Data | \n", "3G | \n", "Low | \n", "False | \n", "True | \n", "False | \n", "10-18 | \n", "Mobile Data_3G | \n", "0.500000 | \n", "0.160338 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
1200 | \n", "Private | \n", "Female | \n", "18 | \n", "Mobile | \n", "No | \n", "Town | \n", "Mid | \n", "Wifi | \n", "4G | \n", "Low | \n", "True | \n", "False | \n", "False | \n", "10-18 | \n", "Wifi_4G | \n", "0.500000 | \n", "0.160338 | \n", "
1201 | \n", "Private | \n", "Female | \n", "18 | \n", "Mobile | \n", "No | \n", "Rural | \n", "Mid | \n", "Wifi | \n", "4G | \n", "Moderate | \n", "True | \n", "False | \n", "False | \n", "10-18 | \n", "Wifi_4G | \n", "0.500000 | \n", "0.160338 | \n", "
1202 | \n", "Private | \n", "Male | \n", "11 | \n", "Mobile | \n", "No | \n", "Town | \n", "Mid | \n", "Mobile Data | \n", "3G | \n", "Moderate | \n", "False | \n", "True | \n", "False | \n", "10-18 | \n", "Mobile Data_3G | \n", "0.111111 | \n", "-1.040771 | \n", "
1203 | \n", "Private | \n", "Female | \n", "18 | \n", "Mobile | \n", "No | \n", "Rural | \n", "Mid | \n", "Wifi | \n", "4G | \n", "Low | \n", "True | \n", "False | \n", "False | \n", "10-18 | \n", "Wifi_4G | \n", "0.500000 | \n", "0.160338 | \n", "
1204 | \n", "Private | \n", "Female | \n", "11 | \n", "Mobile | \n", "No | \n", "Town | \n", "Poor | \n", "Mobile Data | \n", "3G | \n", "Moderate | \n", "False | \n", "True | \n", "False | \n", "10-18 | \n", "Mobile Data_3G | \n", "0.111111 | \n", "-1.040771 | \n", "
1205 rows × 17 columns
\n", "\n", " | Institution Type | \n", "Gender | \n", "Age | \n", "Device | \n", "IT Student | \n", "Location | \n", "Financial Condition | \n", "Internet Type | \n", "Network Type | \n", "Flexibility Level | \n", "education_College | \n", "education_School | \n", "education_University | \n", "age_group | \n", "internet | \n", "age_normalized | \n", "age_standardized | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "0 | \n", "1 | \n", "23 | \n", "2 | \n", "0 | \n", "1 | \n", "0 | \n", "1 | \n", "2 | \n", "2 | \n", "0 | \n", "0 | \n", "1 | \n", "1 | \n", "5 | \n", "0.777778 | \n", "1.018272 | \n", "
1 | \n", "0 | \n", "0 | \n", "23 | \n", "1 | \n", "0 | \n", "1 | \n", "0 | \n", "0 | \n", "2 | \n", "2 | \n", "0 | \n", "0 | \n", "1 | \n", "1 | \n", "2 | \n", "0.777778 | \n", "1.018272 | \n", "
2 | \n", "1 | \n", "0 | \n", "18 | \n", "1 | \n", "0 | \n", "1 | \n", "0 | \n", "1 | \n", "2 | \n", "2 | \n", "1 | \n", "0 | \n", "0 | \n", "0 | \n", "5 | \n", "0.500000 | \n", "0.160338 | \n", "
3 | \n", "0 | \n", "0 | \n", "11 | \n", "1 | \n", "0 | \n", "1 | \n", "0 | \n", "0 | \n", "2 | \n", "2 | \n", "0 | \n", "1 | \n", "0 | \n", "0 | \n", "2 | \n", "0.111111 | \n", "-1.040771 | \n", "
4 | \n", "0 | \n", "0 | \n", "18 | \n", "1 | \n", "0 | \n", "1 | \n", "1 | \n", "0 | \n", "1 | \n", "1 | \n", "0 | \n", "1 | \n", "0 | \n", "0 | \n", "1 | \n", "0.500000 | \n", "0.160338 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
1200 | \n", "0 | \n", "0 | \n", "18 | \n", "1 | \n", "0 | \n", "1 | \n", "0 | \n", "1 | \n", "2 | \n", "1 | \n", "1 | \n", "0 | \n", "0 | \n", "0 | \n", "5 | \n", "0.500000 | \n", "0.160338 | \n", "
1201 | \n", "0 | \n", "0 | \n", "18 | \n", "1 | \n", "0 | \n", "0 | \n", "0 | \n", "1 | \n", "2 | \n", "2 | \n", "1 | \n", "0 | \n", "0 | \n", "0 | \n", "5 | \n", "0.500000 | \n", "0.160338 | \n", "
1202 | \n", "0 | \n", "1 | \n", "11 | \n", "1 | \n", "0 | \n", "1 | \n", "0 | \n", "0 | \n", "1 | \n", "2 | \n", "0 | \n", "1 | \n", "0 | \n", "0 | \n", "1 | \n", "0.111111 | \n", "-1.040771 | \n", "
1203 | \n", "0 | \n", "0 | \n", "18 | \n", "1 | \n", "0 | \n", "0 | \n", "0 | \n", "1 | \n", "2 | \n", "1 | \n", "1 | \n", "0 | \n", "0 | \n", "0 | \n", "5 | \n", "0.500000 | \n", "0.160338 | \n", "
1204 | \n", "0 | \n", "0 | \n", "11 | \n", "1 | \n", "0 | \n", "1 | \n", "1 | \n", "0 | \n", "1 | \n", "2 | \n", "0 | \n", "1 | \n", "0 | \n", "0 | \n", "1 | \n", "0.111111 | \n", "-1.040771 | \n", "
1205 rows × 17 columns
\n", "