1202 lines
846 KiB
Plaintext
Raw Normal View History

2024-11-08 13:47:36 +03:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Лабораторная работа №3\n",
"\n",
"## Набор данных Students Performance in Exams (Успеваемость студентов на экзаменах)\n",
"\n",
"Выгрузка данных из CSV файла в датафрейм"
]
},
{
"cell_type": "code",
2024-11-23 01:16:49 +03:00
"execution_count": 363,
2024-11-08 13:47:36 +03:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Index(['gender', 'race/ethnicity', 'parental level of education', 'lunch',\n",
" 'test preparation course', 'math score', 'reading score',\n",
" 'writing score'],\n",
" dtype='object')\n",
"\n",
"<class 'pandas.core.frame.DataFrame'>\n",
"RangeIndex: 1000 entries, 0 to 999\n",
"Data columns (total 8 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 gender 1000 non-null object\n",
" 1 race/ethnicity 1000 non-null object\n",
" 2 parental level of education 1000 non-null object\n",
" 3 lunch 1000 non-null object\n",
" 4 test preparation course 1000 non-null object\n",
" 5 math score 1000 non-null int64 \n",
" 6 reading score 1000 non-null int64 \n",
" 7 writing score 1000 non-null int64 \n",
"dtypes: int64(3), object(5)\n",
"memory usage: 62.6+ KB\n"
]
}
],
"source": [
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"import numpy as np\n",
"\n",
"# Загрузка данных\n",
"df = pd.read_csv(\"..//..//static//csv//StudentsPerformance.csv\")\n",
"\n",
"# Вывод колонок\n",
"print(df.columns)\n",
"\n",
"print()\n",
"\n",
"df.info()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Описание набора \n",
"\n",
"Контекст\n",
"Оценки, полученные студентами\n",
"\n",
"Содержание\n",
"Этот набор данных состоит из оценок, полученных учащимися по различным предметам.\n",
"\n",
"Вдохновение\n",
"Понять влияние происхождения родителей, подготовки к тестированию и т. д. на успеваемость учащихся."
]
},
{
"cell_type": "code",
2024-11-23 01:16:49 +03:00
"execution_count": 364,
2024-11-08 13:47:36 +03:00
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>gender</th>\n",
" <th>race/ethnicity</th>\n",
" <th>parental level of education</th>\n",
" <th>lunch</th>\n",
" <th>test preparation course</th>\n",
" <th>math score</th>\n",
" <th>reading score</th>\n",
" <th>writing score</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>female</td>\n",
" <td>group B</td>\n",
" <td>bachelor's degree</td>\n",
" <td>standard</td>\n",
" <td>none</td>\n",
" <td>72</td>\n",
" <td>72</td>\n",
" <td>74</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>female</td>\n",
" <td>group C</td>\n",
" <td>some college</td>\n",
" <td>standard</td>\n",
" <td>completed</td>\n",
" <td>69</td>\n",
" <td>90</td>\n",
" <td>88</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>female</td>\n",
" <td>group B</td>\n",
" <td>master's degree</td>\n",
" <td>standard</td>\n",
" <td>none</td>\n",
" <td>90</td>\n",
" <td>95</td>\n",
" <td>93</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>male</td>\n",
" <td>group A</td>\n",
" <td>associate's degree</td>\n",
" <td>free/reduced</td>\n",
" <td>none</td>\n",
" <td>47</td>\n",
" <td>57</td>\n",
" <td>44</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>male</td>\n",
" <td>group C</td>\n",
" <td>some college</td>\n",
" <td>standard</td>\n",
" <td>none</td>\n",
" <td>76</td>\n",
" <td>78</td>\n",
" <td>75</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" gender race/ethnicity parental level of education lunch \\\n",
"0 female group B bachelor's degree standard \n",
"1 female group C some college standard \n",
"2 female group B master's degree standard \n",
"3 male group A associate's degree free/reduced \n",
"4 male group C some college standard \n",
"\n",
" test preparation course math score reading score writing score \n",
"0 none 72 72 74 \n",
"1 completed 69 90 88 \n",
"2 none 90 95 93 \n",
"3 none 47 57 44 \n",
"4 none 76 78 75 "
]
},
2024-11-23 01:16:49 +03:00
"execution_count": 364,
2024-11-08 13:47:36 +03:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Вывод столбцов\n",
"df.head()"
]
},
{
"cell_type": "code",
2024-11-23 01:16:49 +03:00
"execution_count": 365,
2024-11-08 13:47:36 +03:00
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>math score</th>\n",
" <th>reading score</th>\n",
" <th>writing score</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>1000.00000</td>\n",
" <td>1000.000000</td>\n",
" <td>1000.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>66.08900</td>\n",
" <td>69.169000</td>\n",
" <td>68.054000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>15.16308</td>\n",
" <td>14.600192</td>\n",
" <td>15.195657</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>0.00000</td>\n",
" <td>17.000000</td>\n",
" <td>10.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>57.00000</td>\n",
" <td>59.000000</td>\n",
" <td>57.750000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>66.00000</td>\n",
" <td>70.000000</td>\n",
" <td>69.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>77.00000</td>\n",
" <td>79.000000</td>\n",
" <td>79.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>100.00000</td>\n",
" <td>100.000000</td>\n",
" <td>100.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" math score reading score writing score\n",
"count 1000.00000 1000.000000 1000.000000\n",
"mean 66.08900 69.169000 68.054000\n",
"std 15.16308 14.600192 15.195657\n",
"min 0.00000 17.000000 10.000000\n",
"25% 57.00000 59.000000 57.750000\n",
"50% 66.00000 70.000000 69.000000\n",
"75% 77.00000 79.000000 79.000000\n",
"max 100.00000 100.000000 100.000000"
]
},
2024-11-23 01:16:49 +03:00
"execution_count": 365,
2024-11-08 13:47:36 +03:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Краткая статистическая сводка для данных:\n",
"df.describe()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Анализ содержимого\n",
"\n",
"*Объекты наблюдения:* студенты, участвующие в экзаменах.\n",
"\n",
"*Атрибуты объектов:* \n",
"\n",
2024-11-23 01:16:49 +03:00
"1. gender — пол: определяет гендерную принадлежность студента (мужской, женский). \n",
"2. race/ethnicity — этническая принадлежность: группа, к которой относится студент (например, различные расовые/этнические категории). \n",
"3. parental level of education — уровень образования родителей(например, среднее образование, высшее образование и т.д.). \n",
"4. lunch — тип обеда: информация о том, получает ли студент бесплатный или платный обед. \n",
"5. test preparation course — курс подготовки к тесту\n",
"6. math score — результаты экзаменов по математике.\n",
"7. reading score — результаты экзаменов по чтению.\n",
"8. writing score — результаты экзаменов по письму.\n",
2024-11-08 13:47:36 +03:00
"\n",
"\n",
"### Бизнес-цель\n",
"1. Анализ факторов, влияющих на успеваемость студентов:\n",
"\n",
" **Цель:** Исследовать, как различные факторы, такие как пол, этническая принадлежность, уровень образования родителей, тип обеда и наличие курса подготовки к тесту, влияют на оценки студентов по математике, чтению и письму.\n",
"\n",
" **Эффект:** Это поможет образовательным учреждениям и политикам лучше понять, какие аспекты могут быть улучшены для повышения успеваемости студентов, а также выявить возможные неравенства в образовательных возможностях.\n",
"\n",
"2. Прогнозирование успеваемости студентов\n",
"\n",
" **Цель:** Разработать модель прогнозирования успеваемости студентов на основе имеющихся данных, таких как пол, раса/этническая принадлежность, уровень образования родителей, тип обеда и участие в подготовительных курсах.\n",
"\n",
" **Эффект:** Это позволит предсказать, какие студенты могут столкнуться с трудностями в обучении, и принять меры для их поддержки. Например, образовательные учреждения могут инициировать дополнительные занятия или индивидуальные консультации для студентов, у которых ожидаются низкие результаты на экзаменах, тем самым повышая их шансы на успешную сдачу экзаменов.\n",
"\n",
"### Техническая цель\n",
"1. Разработка системы анализа факторов успеваемости студентов:\n",
"\n",
" **Цель:** Создать аналитическую платформу, которая будет собирать, обрабатывать и визуализировать данные о студентах, включая их оценки и соответствующие факторы (пол, этническая принадлежность, уровень образования родителей, тип обеда, наличие подготовительных курсов).\n",
"\n",
"2. Создание модели прогнозирования успеваемости студентов:\n",
"\n",
" **Цель:** Разработать и внедрить предсказательную модель, которая будет оценивать вероятную успеваемость студентов на основании их характеристик и данных.\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Анализ данных "
]
},
{
"cell_type": "code",
2024-11-23 01:16:49 +03:00
"execution_count": 366,
2024-11-08 13:47:36 +03:00
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"gender 0\n",
"race/ethnicity 0\n",
"parental level of education 0\n",
"lunch 0\n",
"test preparation course 0\n",
"math score 0\n",
"reading score 0\n",
"writing score 0\n",
"dtype: int64"
]
},
2024-11-23 01:16:49 +03:00
"execution_count": 366,
2024-11-08 13:47:36 +03:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Проверка на пропущенные данные\n",
"df.isnull().sum()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Нет пропущенных данных"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"gender — пол: определяет гендерную принадлежность студента (мужской, женский). \n",
"race/ethnicity — этническая принадлежность: группа, к которой относится студент (например, различные расовые/этнические категории). \n",
"parental level of education — уровень образования родителей(например, среднее образование, высшее образование и т.д.). \n",
"lunch — тип обеда: информация о том, получает ли студент бесплатный или платный обед. \n",
"test preparation course — курс подготовки к тесту\n",
"math score — результаты экзаменов по математике.\n",
"reading score — результаты экзаменов по чтению.\n",
"writing score — результаты экзаменов по письму."
]
},
{
"cell_type": "code",
2024-11-23 01:16:49 +03:00
"execution_count": 367,
2024-11-08 13:47:36 +03:00
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1000x1000 with 8 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Построим графики boxplot для обнаружения выбросов по каждой характеристике\n",
"plt.figure(figsize=(10, 10))\n",
"\n",
"# Создание boxplot\n",
"for i, column in enumerate(['gender', 'race/ethnicity','parental level of education','lunch','test preparation course','math score','reading score','writing score'], 1):\n",
" plt.subplot(8, 3, i)\n",
" sns.boxplot(x=df[column])\n",
" plt.title(f\"Boxplot для {column}\")\n",
" \n",
"plt.tight_layout()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2024-11-23 01:16:49 +03:00
"Для автоматического анализа выбросов мы можем использовать несколько методов, которые помогут оценить, являются ли данные выбросами и какие из них стоит оставить или удалить. Давайте используем следующие подходы:\n",
"\n",
"Метод межквартильного размаха (IQR) — это один из самых популярных способов для обнаружения выбросов. Мы будем искать значения, которые выходят за пределы \n",
"1.5×IQR, где IQR — это разница между 75-м и 25-м процентилем данных.\n",
"\n",
"Z-оценка — этот метод позволяет определить, насколько отклоняется значение от среднего в терминах стандартного отклонения. Обычно выбросами считаются значения, для которых Z-оценка больше 3 или меньше -3."
2024-11-08 13:47:36 +03:00
]
},
{
"cell_type": "code",
2024-11-23 01:16:49 +03:00
"execution_count": 368,
2024-11-08 13:47:36 +03:00
"metadata": {},
2024-11-23 01:16:49 +03:00
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Выбросы по методу IQR:\n",
"math score: 8 выбросов\n",
"reading score: 6 выбросов\n",
"writing score: 5 выбросов\n",
"\n",
"Выбросы по методу Z-оценки:\n",
"math score: 4 выбросов\n",
"reading score: 4 выбросов\n",
"writing score: 4 выбросов\n"
]
}
],
"source": [
"import numpy as np\n",
"\n",
"# Функция для поиска выбросов по методу IQR\n",
"def find_outliers_iqr(df, columns):\n",
" outliers = {}\n",
" for column in columns:\n",
" Q1 = df[column].quantile(0.25)\n",
" Q3 = df[column].quantile(0.75)\n",
" IQR = Q3 - Q1\n",
" lower_bound = Q1 - 1.5 * IQR\n",
" upper_bound = Q3 + 1.5 * IQR\n",
" outliers[column] = df[(df[column] < lower_bound) | (df[column] > upper_bound)]\n",
" return outliers\n",
"\n",
"# Функция для поиска выбросов по методу Z-оценки\n",
"def find_outliers_z(df, columns, threshold=3):\n",
" outliers = {}\n",
" for column in columns:\n",
" z_scores = (df[column] - df[column].mean()) / df[column].std()\n",
" outliers[column] = df[np.abs(z_scores) > threshold]\n",
" return outliers\n",
"\n",
"# Вычисление выбросов для математических, чтения и письма\n",
"columns_to_check = ['math score', 'reading score', 'writing score']\n",
"outliers_iqr = find_outliers_iqr(df, columns_to_check)\n",
"outliers_z = find_outliers_z(df, columns_to_check)\n",
"\n",
"# Выводим результаты\n",
"print(\"Выбросы по методу IQR:\")\n",
"for col, data in outliers_iqr.items():\n",
" print(f\"{col}: {data.shape[0]} выбросов\")\n",
"\n",
"print(\"\\nВыбросы по методу Z-оценки:\")\n",
"for col, data in outliers_z.items():\n",
" print(f\"{col}: {data.shape[0]} выбросов\")\n"
]
2024-11-08 13:47:36 +03:00
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2024-11-23 01:16:49 +03:00
"Так как выбросы по Z-оценке и IQR частично совпадают, это подтверждает их значимость в данных.\n",
"\n",
"Попробуем решить устранить проблему выбросов для writing score и reading score и math score, заменив их на медиану. "
]
},
{
"cell_type": "code",
"execution_count": 369,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1000x500 with 3 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Функция для замены выбросов на медиану\n",
"def replace_outliers_with_median(df, columns):\n",
" for column in columns:\n",
" # Находим границы по методу IQR\n",
" Q1 = df[column].quantile(0.25)\n",
" Q3 = df[column].quantile(0.75)\n",
" IQR = Q3 - Q1\n",
" lower_bound = Q1 - 1.5 * IQR\n",
" upper_bound = Q3 + 1.5 * IQR\n",
" \n",
" # Заменяем выбросы на медиану\n",
" median = df[column].median()\n",
" df[column] = df[column].apply(lambda x: median if x < lower_bound or x > upper_bound else x)\n",
" \n",
" return df\n",
"\n",
"# Заменим выбросы на медиану для баллов\n",
"df = replace_outliers_with_median(df.copy(), columns_to_check)\n",
"\n",
"\n",
"# Построим графики для проверки\n",
"plt.figure(figsize=(10, 5))\n",
"\n",
"# Создание boxplot\n",
"for i, column in enumerate(['math score','reading score','writing score'], 1):\n",
" plt.subplot(3, 3, i)\n",
" sns.boxplot(x=df[column])\n",
" plt.title(f\"Boxplot для {column}\")\n",
" \n",
"plt.tight_layout()\n",
"plt.show()\n"
2024-11-08 13:47:36 +03:00
]
},
{
"cell_type": "markdown",
"metadata": {},
2024-11-23 01:16:49 +03:00
"source": [
"### Связи между объектами:\n",
"\n",
" Анализ данных покажет, как каждый из атрибутов (пол, этническая принадлежность, уровень образования родителей, тип обеда, курс подготовки) влияет на оценки студентов, что поможет выявить ключевые факторы, способствующие или препятствующие успеваемости."
]
},
{
"cell_type": "code",
"execution_count": 370,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 800x600 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Расчет корреляции между оценками по математике, чтению и письму\n",
"correlation_matrix = df[['math score', 'reading score', 'writing score']].corr()\n",
"\n",
"# Визуализация матрицы корреляций\n",
"import seaborn as sns\n",
"import matplotlib.pyplot as plt\n",
"\n",
"plt.figure(figsize=(8, 6))\n",
"sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', fmt='.2f', linewidths=0.5)\n",
"plt.title('Корреляция между оценками по математике, чтению и письму')\n",
"plt.show()\n"
]
2024-11-08 13:47:36 +03:00
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2024-11-23 01:16:49 +03:00
"Корреляция между всеми тремя оценками высока, особенно между оценками по чтению и письму (0.95), а также между чтением и математикой (0.78). Это говорит о том, что студенты, которые показывают высокие результаты в одном из этих предметов, обычно показывают хорошие результаты и в других предметах.\n",
"\n",
"Математика имеет наиболее слабую корреляцию с другими предметами (0.78 и 0.76), но все равно достаточно значимую. Это может означать, что успехи в математике несколько менее связаны с успехами в чтении и письме, чем между чтением и письмом, но все же есть определенная связь.\n",
"\n",
"Чтение и письмо имеют почти идеальную корреляцию (0.95), что указывает на очень высокую взаимосвязь между этими двумя видами деятельности. Это может свидетельствовать о том, что навыки, необходимые для хорошего выполнения задания по чтению, схожи с теми, что необходимы для успешного написания текста.\n",
"\n",
"Если целью является улучшение успеваемости студентов, стоит сосредоточиться на факторах, которые могут улучшить все три навыка одновременно. Например, можно обратить внимание на методы, развивающие как читаемость, так и письмо, так как они сильно взаимосвязаны.\n",
"Математика может потребовать отдельного внимания или подхода, так как ее корреляция с чтением и письмом ниже, чем между чтением и письмом."
2024-11-08 13:47:36 +03:00
]
},
{
"cell_type": "code",
2024-11-23 01:16:49 +03:00
"execution_count": 371,
2024-11-08 13:47:36 +03:00
"metadata": {},
2024-11-23 01:16:49 +03:00
"outputs": [
{
"data": {
"image/png": "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evSQn5+fMjIy9PTTT2v79u3q37+/qlatqoMHD2rmzJn6888/mU8LAPIRfSP6RreTH32jgQMHqmTJkho3bpyuXr0q6ebPUK9evdS6dWu9/fbbunbtmubPn6/GjRtr37595gBx48aNOnnypPr06SN/f38dOnRICxcu1KFDh7Rz505zAHrw4EG1atVKJUuW1IQJE5SWlqbx48fLz88v1+c6ZMgQFStWTOPHj9epU6c0a9YsDR48WJ999pl5nVGjRmn69Ol66qmn1Lp1a/32229q3bq1kpOT77j/jRs3qlu3bnr00UfNfbLDhw9rx44deuWVVyTdDHCbNGmiw4cPq2/fvnrwwQd1/vx5ff311/r777/1wAMP6Pr162revLmOHz+uwYMHKyQkRJGRkerdu7cSEhLM+8q0ZMkSJScnq3///nJ1dVXx4sV16NAhNWrUSKVKldLIkSPl6empzz//XO3bt9cXX3yhDh065Pp1w33MAJBrS5YsMSRlebi6uhpLly7NdpvRo0cbJpPJoi04ONjo1auX+fn48eONW38d4+PjjaJFixqPP/64Icn46aefzMu6detm+Pj4GNevXze3/fTTT4YkIzIy0tzWrFkzo3r16lnqeeeddwxJRnR0dI71zJs3z3B1dTVatGhhBAcHm9u3bdtmSDJWrFhhsc/169dn2/5PvXr1Mjw9PbO0R0ZGWpxnamqq4evra9SoUcPiPL/55htDkjFu3DiL7W/cuGFIMiZOnGhuy/xe3Xqe165dy3Ls1q1bG+XKlbtt3XmpPafjREREGCaTyTh9+vRtj5NZd+vWrY2MjAxze2hoqGEymYyXXnrJ3JaWlmaULl3aaNasmcU+/nn81NRUo0aNGkbLli0t2j09PS2+75kyfx779u1r0d6hQwejRIkSt61/3759WX4W/+nYsWOGg4OD0aFDByM9Pd1iWeY5x8fHGy4uLkarVq0s1vnggw8MScZ//vMfc1uzZs0MScaCBQss9rV8+XLDwcHB2LZtm0X7ggULDEnGjh07bnsuAIA7o29E3+hOted0nLz2jRo3bmykpaWZ2y9fvmz4+PgYL774osX6sbGxhre3t0V7dsf/9NNPDUnG1q1bzW3t27c33NzcLGr6448/DEdHR4ufR8PI+jOSWWdYWJhFH2748OGGo6OjkZCQYK7PycnJaN++vcX+JkyYYEjKtm92q1deecXw8vKyeC3+ady4cYYk47///W+WZZm1zZo1y5BkfPLJJ+ZlqampRmhoqFGkSBEjKSnJMAzDiI6ONiQZXl5eRnx8vMW+Hn30UaNmzZpGcnKyxf4bNmxoVKxY8bbnAWTi43vAXZg7d642btyojRs36pNPPlGLFi30wgsv6L///W+WdVNTU/P8mfPJkyfL29tbQ4cOzbLs8uXL8vDwkJub2x33k56ervPnz1s87vTxq2vXrmnSpEkaPHiwgoKCLJZFRkbK29tbjz32mMU+69WrpyJFiuinn37K03nmZM+ePYqPj9fAgQMtzvPJJ59UlSpV9O2331qsn5qaKunOn+13d3c3f535jm6zZs108uTJLB8ty8k/X8/Lly/f9jhXr17V+fPn1bBhQxmGoX379uXqOP369bP42EKDBg1kGIb69etnbnN0dFT9+vV18uTJHI9/6dIlJSYmqkmTJvr1119zdex
"text/plain": [
"<Figure size 1200x800 with 3 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Влияние пола на оценки\n",
"plt.figure(figsize=(12, 8))\n",
"\n",
"# Boxplot для math score по полу\n",
"plt.subplot(2, 2, 1)\n",
"sns.boxplot(x='gender', y='math score', data=df)\n",
"plt.title('Влияние пола на math score')\n",
"\n",
"# Boxplot для reading score по полу\n",
"plt.subplot(2, 2, 2)\n",
"sns.boxplot(x='gender', y='reading score', data=df)\n",
"plt.title('Влияние пола на reading score')\n",
"\n",
"# Boxplot для writing score по полу\n",
"plt.subplot(2, 2, 3)\n",
"sns.boxplot(x='gender', y='writing score', data=df)\n",
"plt.title('Влияние пола на writing score')\n",
"\n",
"plt.tight_layout()\n",
"plt.show()\n"
]
2024-11-08 13:47:36 +03:00
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2024-11-23 01:16:49 +03:00
"Женщины, как правило, демонстрируют лучшие результаты в чтении и письме, чем мужчины, в то время как в математике различие менее выражено.\n",
"\n",
"Для мужчин характерны выбросы с низкими оценками в чтении и письме, что может свидетельствовать о необходимости дополнительной поддержки или изменений в методиках обучения.\n",
"\n",
"Женщины могут иметь более высокие и стабильные результаты, что также заслуживает внимания для дальнейших исследований."
2024-11-08 13:47:36 +03:00
]
},
{
"cell_type": "code",
2024-11-23 01:16:49 +03:00
"execution_count": 372,
2024-11-08 13:47:36 +03:00
"metadata": {},
2024-11-23 01:16:49 +03:00
"outputs": [
{
"data": {
"image/png": "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byspKSlH+2effaYBAwaoZcuWGjx4sHx9fbV//3699tprN/ZibLhy5YpGjRplc9kzzzyj+fPnq0+fPhoyZIji4+M1c+ZM7dixQxs3brT7V97Dhw8rKSlJgwcPVpkyZfTbb79p+vTpWrVqlTZs2CAfHx916tRJ1apVs2wzbNgw1a5dW/3797e01a5du1BfX15kZWXpkUce0YYNG9S/f3/Vrl1be/bs0ZQpU/T7779b3WBo/PjxGjdunJo2baoJEybI09NTW7Zs0erVq/XAAw/Y3P/YsWM1d+5cffbZZ1b/mRg3bpzGjx+v1q1b67nnntPBgwc1e/Zsbd26Ndf3XpJeeumlfL3GihUrKiYmxqrtu+++0yeffJJj3UOHDunxxx/Xs88+q169emnevHnq0qWLli9frvvvv9/uMRYuXHjT80bGxcXp4sWLeu6551S2bFn98ssvmjFjhv7880/FxcXZ3KZBgwYaPny4JCk+Pl5jxozJ9Ri5fXeTkpJ09913y2QyadCgQSpfvry+//579evXT6mpqZbpPB566CG98847GjZsmGrUqKFHHnkkx3HS09PVsWNHubu768svv7yh0RpJSUlq2rSpLl68qCFDhqhs2bJasGCBHnnkES1ZskT/+c9/JEmZmZlq166dVq1apa5du+r555/XuXPn9OOPP2rv3r1q3bq11ev+4osv9OWXX1q1Va1aNdf3rDDmBN26dat+/vlnde3aVRUrVtTRo0c1e/ZstWzZUvv27VPJkiWvu49FixYpIyNDgwcP1pkzZzR58mQ99thjuvfee7V27Vq99NJL+uOPPzRjxgy98MILVv9Bmz9/vkqVKqXo6GiVKlVKq1ev1pgxY5Samqo333xTkjRq1CilpKTozz//1JQpUyQpx39SX3/9dbm5uemFF15QSkqKJk+erO7du2vLli25xv7ss89qyZIlGjRokOrUqaPTp09rw4YN2r9/v+68805J0o8//qh27dopODhYzz//vIKCgrR//37997//1fPPPy9JWrlypdq2basqVapo3LhxunTpkmbMmKFmzZpp+/btOf5D0KVLF1WvXl2vvfaaDMOQJE2aNEmjR4/WY489pqeeekp///23ZsyYoRYtWmjHjh3y9/e/7mcBALkh3ybfJt/+H/Jt8m1b75mz5tvz5s1TWlqa+vfvLy8vLwUEBOi3335Ts2bNdNttt+nll1+Wr6+vPv/8c3Xs2FFLly61vG9HjhzRsmXL1KVLF4WHhyspKUnvvfeeoqKitG/fPoWEhEiSLl26pPvuu08JCQkaMmSIQkJCtHDhQq1evTrPr3Xx4sWWexuYTCZNnjxZnTp10pEjRyzf9W+//VaPP/646tevr5iYGJ09e1b9+vXTbbfddt39nzp1Sg888IDKly+vl19+Wf7+/jp69GiOP4D169dP8+fPV9u2bfXUU0/pypUrWr9+vTZv3my5Iuupp57SggUL9Oijj2r48OHasmWLYmJitH//fn355ZdW+zt48KC6deumZ555Rk8//bRq1qypixcvKioqSidOnNAzzzyj0NBQ/fzzzxo5cqT++usv7ufkKgzAhcybN8+QlOPh5eVlzJ8/3+Y2o0aNMkwmk1VbWFiY0atXL8vzsWPHGld/HU6dOmWULl3aaNu2rSHJWLNmjWVZt27dDH9/f+P
"text/plain": [
"<Figure size 1500x1000 with 3 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Влияние этнической принадлежности на оценки\n",
"plt.figure(figsize=(15, 10))\n",
"\n",
"# Boxplot для math score по этнической принадлежности\n",
"plt.subplot(3, 2, 1)\n",
"sns.boxplot(x='race/ethnicity', y='math score', data=df)\n",
"plt.title('Влияние этнической принадлежности на math score')\n",
"\n",
"# Boxplot для reading score по этнической принадлежности\n",
"plt.subplot(3, 2, 2)\n",
"sns.boxplot(x='race/ethnicity', y='reading score', data=df)\n",
"plt.title('Влияние этнической принадлежности на reading score')\n",
"\n",
"# Boxplot для writing score по этнической принадлежности\n",
"plt.subplot(3, 2, 3)\n",
"sns.boxplot(x='race/ethnicity', y='writing score', data=df)\n",
"plt.title('Влияние этнической принадлежности на writing score')\n",
"\n",
"plt.tight_layout()\n",
"plt.show()\n"
]
2024-11-08 13:47:36 +03:00
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2024-11-23 01:16:49 +03:00
"Этническая принадлежность имеет значительное влияние на успеваемость студентов, особенно между группами с более высокими и более низкими результатами. Это подтверждается тем, что группы E и D стабильно показывают более высокие результаты, чем другие.\n",
"\n",
"Этот фактор следует учитывать при разработке методов поддержания успеха студентов, особенно в группах с более низкими результатами."
]
},
{
"cell_type": "code",
"execution_count": 373,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABccAAAKyCAYAAAAQImbfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzde3zP9f//8ft7sxM7mdghNnMeWcQn5pjQQiKi5JNDSuWUUyLEHFoppYQiH8qhA6rvp5NjiTRyJjKHxio2RductrE9f3/47f3xto2NzXvv7Xa9XHbh/Xq93q/X43V8P96P9/P1fFmMMUYAAAAAAAAAAJQgTvYOAAAAAAAAAACAW43iOAAAAAAAAACgxKE4DgAAAAAAAAAocSiOAwAAAAAAAABKHIrjAAAAAAAAAIASh+I4AAAAAAAAAKDEoTgOAAAAAAAAAChxKI4DAAAAAAAAAEociuMAir1Lly7p5MmTio+Pt3coAAAAQLFEzg0AcEQUxwEUS4cOHdJTTz2lwMBAubq6yt/fXxERETLG2Ds0oND88ssv+uKLL6yvd+3apa+//tp+ARVRffr0kaenp73DAADA4ZFzoyQi586bPn36qHLlyjbDLBaLJk6caJd4gNxQHEehW7hwoSwWi81fhQoV1KpVK3377bf2Dg/F0ObNm3X33Xfru+++0+jRo7Vq1SqtWbNGX3zxhSwWi73DAwrNmTNn9PTTT2vz5s06dOiQnnvuOe3du9feYdnF+fPnNXHiRK1fv97eoQDALUHOjVuNnBslFTk3ULyUsncAKDkmTZqk0NBQGWOUmJiohQsXqn379vryyy/1wAMP2Ds8FBPp6enq27evatSoodWrV8vHx8feIQG3TEREhPVPkmrUqKGnnnrKzlHZx/nz5xUVFSVJuueee+wbDADcQuTcuBXIuVGSkXPfuAsXLqhUKUqRKFo4InHLtGvXTg0bNrS+7tevn/z9/fXRRx+RqKPAfPnll4qNjdWBAwdI0lEiffHFF9q/f78uXLigunXrytXV1d4hoYAZY5SamioPDw97hwKgCCLnxq1Azo2SzhFz7nPnzqlMmTJ2jcHd3d2uy7en1NRUubq6ysmJTjyKGvYI7MbX11ceHh45/mo4ceLEbLeFWiwW9enTJ9s0Vzp79qwCAgJksViy3Uo/Z84c3XHHHSpdurTNPJcvX26d5p577tEdd9yRLZ7XX39dFotFR48etQ6rXLmyTTyStGzZMlkslmz9amVmZmrGjBmqU6eO3N3d5e/vr6efflr//PPPNbfRggULZLFYtHPnzmzjXn75ZTk7O+vPP/+0iX379u1q0qSJPDw8FBoaqnfffTfbe0+ePGn9ouTu7q4777xTH3zwgc00R48etdlOLi4uqly5sp5//nmlp6dbp8u6hXfbtm027//7779z7E/s+++/V/PmzVW2bFmb+Q8aNOia2yKvcW/evFmhoaFasWKFqlatKldXVwUHB2vUqFG6cOGCzbSVK1fWAw88oNWrV6tevXpyd3dX7dq19dlnn9lMd/r0aY0cOVJ169aVp6envL291a5dO+3evdtmuh9//FHNmjXTbbfdJnd3d1WpUkUvvPCCUlNTbab77bff1K1bN/n5+al06dJq3Lhxtj7q1q9fb7N93NzcVKNGDUVHR9v04Xjs2DENGDBANWvWlIeHh8qVK6du3brZHKtS/vZTYZxbOclazoEDB9S9e3d5e3urXLlyeu6557Jts0uXLmny5MmqWrWq3NzcVLlyZb344otKS0vLNt+rj90r/67cLlnb5MphmZmZCg8Pl8Vi0cKFCyVd7isvt/nlNN9vv/1WzZs3V5kyZeTl5aUOHTpo3759OW6DvMxPkhYvXqwGDRrIw8NDfn5+evTRR/X777/bTHPPPfdYW0jXrl1bDRo00O7du63zvJ78XP/+7//+Tx06dFBQUJDc3NxUtWpVTZ48WRkZGdddTtZ+P3jwoP7973/Lx8dH5cuX1/jx42WM0e+//65OnTrJ29tbAQEBmj59us3709PT9dJLL6lBgwby8fFRmTJl1Lx5c33//ffWaY4ePary5ctLkqKioqzb4Orr0Z9//qnOnTvL09NT5cuX18iRI/O0Dtu2bVNkZKRuu+0267X2iSeesJkmMzNTb731lurWrSt3d3eVL19e999/v805mNfjOutatWrVKjVs2FAeHh567733JElJSUkaOnSoKlWqJDc3N1WrVk2vvvqqMjMzr7seAEoGcm5ybnJucm5y7pKbc+/fv1+PPfaYypYtq2bNmuVrXTdu3Khu3bopODhYbm5uqlSpkoYNG5btHJcu/1hwxx13yN3dXXfccYc+//zzHOPK7Tw4fPiw+vTpI19fX/n4+Khv3746f/68zXsvXLigIUOG6LbbbpOXl5cefPBB/fnnnzleA3Myc+ZM1alTR6VLl1bZsmXVsGFDLV261GaaP//8U/369bNu89DQUD377LM21+P8XFs+/vhjjRs3TrfffrtKly6tlJQUSdKWLVt0//33y8fHR6VLl1bLli21adOm664DCgctx3HLJCcn6++//5YxRidPntTMmTN19uxZ/fvf/871PYsWLbL+f9iwYdddxvTp05WYmJht+CeffKIBAwbonnvu0eDBg1WmTBn9+uuvevnll29sZXJw6dIljR07NsdxTz/9tBYuXKi+fftqyJAhiouL0zvvvKOdO3dq06ZNcnFxyfF9Dz/8sAYOHKglS5aofv36NuOWLFmie+65R7fffrt12D///KP27dure/fu6tGjhz799FM9++yzcnV1tRZuLly4oHvuuUeHDx/WoEGDFBoaqmXLlqlPnz5KSkrSc889Z7Oc/v37q3nz5kpLS9OqVav0+uuvy93dXZMnT873NoqLi1OHDh0UGBiol156yVq8evzxx6/73rzGferUKf3222968cUX1aVLF40YMULbtm3Ta6+9pl9++UVff/21TdJy6NAhPfLII3rmmWfUu3dvLViwQN26ddPKlSvVtm1bSZc//L744gt169ZNoaGhSkxM1HvvvaeWLVtq//79CgoKknS577mwsDB1795dpUuXVkxMjKZNm6bz589r5syZkqTExEQ1adJE58+f15AhQ1SuXDl98MEHevDBB7V8+XI99NBDNuv94osvKiwsTBcuXNAnn3yiF198URUqVFC/fv0kSVu3btVPP/2kRx99VBUrVtTRo0c1Z84c3XPPPdq/f79Kly6d7/2Uk8I8t7p3767KlSsrOjpamzdv1ttvv61//vlHH374oXWaJ598Uh988IEefvhhjRgxQlu2bFF0dLR+/fXXXBOvHj16qH379pKkb775Rh999NF1Y1m0aFG2/gKffvpptWnTxvr68ccf10MPPaQuXbpYh2Udy4sWLVLv3r0VGRmpV199VefPn9ecOXPUrFkz7dy5M9uXeEk289q4caPmzp1rM37q1KkaP368unfvrieffFJ//fWXZs6cqRYtWmjnzp3y9fXNdX1eeOGF667zjVi4cKE8PT01fPhweXp66rvvvtNLL72klJQUvfbaa3maxyOPPKKwsDC98sor+vrrrzVlyhT5+fnpvffe07333qtXX31VS5Ys0ciRI/Wvf/1LLVq0kCSlpKTo/fffV48ePfTUU0/pzJkzmj9/viIjI/Xzzz+rXr16Kl++vObMmaNnn33WZvuGh4dbl5+RkaHIyEg1atRIr7/+utauXavp06eratWqevbZZ3ON++TJk7rvvvtUvnx5jR49Wr6+vjp69Gi2L/j9+vXTwoUL1a5dOz355JO6dOmSNm7cqM2bN1tbdObnuI6NjVWPHj309NNP66mnnlLNmjV1/vx5tWzZUn/++aeefvppBQcH66efftKYMWN04sQJzZgxI0/7AkDxQs5Nzk3OTc6dE3Lukplzd+vWTdWrV9fLL79s/cEnr+u6bNkynT9/Xs8++6zKlSunn3/+WTNnztQff/yhZcuWWZexevVqde3aVbVr11Z0dLROnTqlvn37qmLFinle1+7duys0NFTR0dHasWOH3n//fVWoUEGvvvqqdZo+ffro008/1eOPP67GjRv
"text/plain": [
"<Figure size 1500x1000 with 3 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Влияние уровня образования родителей на оценки\n",
"plt.figure(figsize=(15, 10))\n",
"\n",
"# Boxplot для math score по уровню образования родителей\n",
"plt.subplot(3, 2, 1)\n",
"sns.boxplot(x='parental level of education', y='math score', data=df)\n",
"plt.title('Влияние уровня образования родителей на math score')\n",
"\n",
"# Boxplot для reading score по уровню образования родителей\n",
"plt.subplot(3, 2, 2)\n",
"sns.boxplot(x='parental level of education', y='reading score', data=df)\n",
"plt.title('Влияние уровня образования родителей на reading score')\n",
"\n",
"# Boxplot для writing score по уровню образования родителей\n",
"plt.subplot(3, 2, 3)\n",
"sns.boxplot(x='parental level of education', y='writing score', data=df)\n",
"plt.title('Влияние уровня образования родителей на writing score')\n",
"\n",
"plt.tight_layout()\n",
"plt.show()\n"
2024-11-08 13:47:36 +03:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2024-11-23 01:16:49 +03:00
"Уровень образования родителей оказывает значительное влияние на успеваемость студентов по всем предметам: математике, чтению и письму. Студенты с родителями, имеющими высшее образование (особенно степень бакалавра или выше), показывают наивысшие результаты, а также более стабильные оценки. \n",
"\n",
"Студенты с родителями, имеющими среднее образование или диплом старшей школы, имеют более низкие результаты и большую вариативность, что может свидетельствовать о разнице в образовательных возможностях, доступных этим студентам. \n",
"\n",
"Выбросы в некоторых группах (особенно у студентов с родителями с средним образованием и дипломом старшей школы) могут указывать на случаи, когда студенты из этих категорий столкнулись с дополнительными трудностями в учебе, возможно, из-за менее квалифицированных условий обучения или недостаточной поддержки."
2024-11-08 13:47:36 +03:00
]
},
{
"cell_type": "code",
2024-11-23 01:16:49 +03:00
"execution_count": 374,
2024-11-08 13:47:36 +03:00
"metadata": {},
"outputs": [
{
"data": {
2024-11-23 01:16:49 +03:00
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAMWCAYAAAAgRDUeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAADJI0lEQVR4nOzdeXgN5///8deJyCKRxJpIScS+VbW0FbuiKC2ltGhRWtpaaummai9RrX2tth9U0TZ0o7VTRVFrqSWUELUktSQhJCG5f3/45XwdSUg0OSfh+biuc8m555573jM5c9x5zz33WIwxRgAAAAAAAIAdOTk6AAAAAAAAANx/SEoBAAAAAADA7khKAQAAAAAAwO5ISgEAAAAAAMDuSEoBAAAAAADA7khKAQAAAAAAwO5ISgEAAAAAAMDuSEoBAAAAAADA7khKAQAAAAAAwO5ISgEA7ktdu3aVp6eno8MAAADIEbp27aqSJUvalFksFg0fPtwh8eD+QFIKWWbu3LmyWCw2r6JFi6phw4Zavny5o8MDcB+6cuWKhg8frl9//dXRoQC4D9E3AgDg9pwdHQDuPSNHjlRQUJCMMYqMjNTcuXP11FNPaenSpWrZsqWjwwNwH7ly5YpGjBghSWrQoIFjgwFw36JvBCC3unr1qpydSRsg+/DpQpZr3ry5atSoYX3fvXt3+fr6atGiRXS8ACCLGGMUHx8vd3d3R4cC4A7oGwG4G3FxcfLw8HBoDG5ubg7dviPFx8fLxcVFTk7cYJadOLrIdj4+PnJ3d08zwz58+PBUw9otFou6du2aqs7NLl++LD8/P1ksllS35cycOVNVqlRRvnz5bNpcvHixtU6DBg1UpUqVVPF88sknslgsOn78uLWsZMmSNvFIUmhoqCwWS6p7rpOTkzVp0iRVrlxZbm5u8vX1Vc+ePXXx4sXbHySlfQ/3V199JScnJ40dO1aSNGfOHFksFu3evTvV+mPGjFGePHl06tQpm33cuXOnatWqJXd3dwUFBWnWrFmp1o2Pj9fw4cNVrlw5ubm5qVixYmrTpo2OHj1qc2xq1aqlQoUKyd3dXdWrV7c5prfToEGDNH/PKa+bj7ckzZgxQ5UrV5arq6v8/f3Vq1cvRUdHp9l2em3e/Ln49ddf0623adMma73du3erefPm8vLykqenpxo1aqStW7dal6d1G8atr7lz51rrr1u3TnXr1pWHh4d8fHzUqlUrHTx40Cb+W8+B/Pnz67HHHtMPP/yQ6hjeOtJn9OjRcnJy0sKFC29bb/v27db27yQz58aPP/6oFi1ayN/fX66uripdurRGjRqlpKSkO24nZb8PHz6sF198Ud7e3ipSpIiGDBkiY4xOnjypVq1aycvLS35+fho/frzN+omJiRo6dKiqV68ub29veXh4qG7dulq/fr21zvHjx1WkSBFJ0ogRI6zH4NZ5EU6dOqXWrVvL09NTRYoU0VtvvZWhfdixY4eaNm2qwoULW8+vbt262dRJTk7W5MmT9eCDD8rNzU1FihRRs2bNtGPHDmud69eva9SoUSpdurRcXV1VsmRJvf/++0pISLBpq2TJkmrZsqVWrlypGjVqyN3dXZ9++qkkKTo6Wv369VOJEiXk6uqqMmXK6KOPPlJycvId9wOA/dE3om9E34i+0a1S9vvAgQPq2LGjChQooDp16liXf/XVV6pevbrc3d1VsGBBvfDCCzp58qRNGxs3blS7du0UEBAgV1dXlShRQv3799fVq1dTbe+HH35QlSpV5ObmpipVquj7779PM65b+04pcf7999/q2rWrfHx85O3trZdffllXrlyxWffq1avq27evChcurPz58+uZZ57RqVOnMjxP1dSpU1W5cmXly5dPBQoUUI0aNWx+t9KNflz37t2txzwoKEivv/66EhMTrXWOHTumdu3aqWDBgsqXL59q1qypn3/+2aadlHPi66+/1gcffKAHHnhA+fLlU2xsrCRp27Ztatasmby9vZUvXz7Vr19fmzdvvuM+4M4YKYUsFxMTo3PnzskYo6ioKE2dOlWXL1/Wiy++mO468+fPt/7cv3//O25j/PjxioyMTFX+zTff6I033lCDBg3Up08feXh46ODBgxozZszd7Uwarl+/rsGDB6e5rGfPnpo7d65efvll9e3bV+Hh4Zo2bZp2796tzZs3K2/evBnezqpVq9StWzf17t1b7733niTpueeeU69evbRgwQI9/PDDNvUXLFigBg0a6IEHHrCWXbx4UU899ZTat2+vDh066Ntvv9Xrr78uFxcX6x/PSUlJatmypdauXasXXnhBb775pi5duqTVq1frr7/+UunSpSVJkydP1jPPPKNOnTopMTFRX3/9tdq1a6dly5apRYsWd9yf4sWLKyQkxKbsl19+0aJFi2zKhg8frhEjRqhx48Z6/fXXFRYWppkzZ2r79u3pHsMmTZqoc+fOkm50MqZMmZJmDH379tWjjz5qU1a+fHlJ0v79+1W3bl15eXnpnXfeUd68efXpp5+qQYMG2rBhgx5//HHVq1fP5rM6evRoSbL5PNSqVUuStGbNGjVv3lylSpXS8OHDdfXqVU2dOlW1a9fWrl27UnWyU9o9d+6cZsyYoXbt2umvv/6yxnerOXPm6IMPPtD48ePVsWPHNOukePfdd2+7/G7NnTtXnp6eGjBggDw9PbVu3ToNHTpUsbGx+vjjjzPUxvPPP6+KFStq7Nix+vnnn/Xhhx+qYMGC+vTTT/XEE0/oo48+0oIFC/TWW2/p0UcfVb169SRJsbGx+vzzz9WhQwe9+uqrunTpkr744gs1bdpUf/zxh6pVq6YiRYpo5syZev311/Xss8+qTZs2kqSqVatat5+UlKSmTZvq8ccf1yeffKI1a9Zo/PjxKl26tF5//fV0446KitKTTz6pIkWK6L333pOPj4+OHz+u7777zqZe9+7dNXfuXDVv3lyvvPKKrl+/ro0bN2rr1q3WUROvvPKK5s2bp+eee04DBw7Utm3bFBISooMHD6bqIIaFhalDhw7q2bOnXn31VZUvX15XrlxR/fr1derUKfXs2VMBAQH6/fffNWjQIJ05c0aTJk3K0O8CQPahb0TfKC30jegbpaVdu3YqW7asxowZI2OMpBvHdciQIWrfvr1eeeUV/fvvv5o6darq1aun3bt3y8fHR9KN5PCVK1f0+uuvq1ChQvrjjz80depU/fPPPwoNDbVuY9WqVWrbtq0qVaqkkJAQnT9/Xi+//LKKFy+e4X1t3769goKCFBISol27dunzzz9X0aJF9dFHH1nrdO3aVd9++61eeukl1axZUxs2bMjQuSFJn332mfr27avnnntOb775puLj47V3715t27bN+vs9ffq0HnvsMUVHR6tHjx6qUKGCTp06pcWLF+vKlStycXFRZGSkatWqpStXrqhv374qVKiQ5s2bp2eeeUaLFy/Ws88+a7PdUaNGycXFRW+99ZYSEhLk4uKidevWqXnz5qpevbqGDRsmJycnzZkzR0888YQ2btyoxx57LMPHDWkwQBaZM2eOkZTq5erqaubOnZvmOoMHDzYWi8WmLDAw0HTp0sX6ftiwYebmj2pUVJTJnz+/ad68uZFk1q9fb13WoUMH4+PjY65evWotW79+vZFkQkNDrWX169c3lStXThXPxx9/bCSZ8PDwdOOZMWOGcXV1NQ0bNjSBgYHW8o0bNxpJZsGCBTZtrlixIs3yW3Xp0sXa3o4dO4ynp6dp166dSUpKsqnXoUMH4+/vb1O+a9cuI8nMmTPHZh8lmfHjx1vLEhISTLVq1UzRokVNYmKiMcaY//3vf0aSmTBhQqqYkpOTrT9fuXLFZlliYqKpUqWKeeKJJ267XymxZOR4R0VFGRcXF/Pkk0/a7N+0adOMJPO///0vVQySTO/eva1loaGhqT4XaX0GbtW6dWvj4uJijh49ai07ffq0yZ8/v6lXr166+1W/fv00l6Uc5/Pnz1vL/vzzT+Pk5GQ6d+5sLbv1822MMatWrTKSzLfffpvmtn7++Wfj7OxsBg4ceMeYfvnlFyPJNGvWLNV20tunjJ4bt34mjDGmZ8+
2024-11-08 13:47:36 +03:00
"text/plain": [
2024-11-23 01:16:49 +03:00
"<Figure size 1200x800 with 3 Axes>"
2024-11-08 13:47:36 +03:00
]
},
"metadata": {},
2024-11-23 01:16:49 +03:00
"output_type": "display_data"
}
],
"source": [
"# Влияние курса подготовки на оценки\n",
"plt.figure(figsize=(12, 8))\n",
"\n",
"# Boxplot для math score по курсу подготовки\n",
"plt.subplot(2, 2, 1)\n",
"sns.boxplot(x='test preparation course', y='math score', data=df)\n",
"plt.title('Влияние курса подготовки на math score')\n",
"\n",
"# Boxplot для reading score по курсу подготовки\n",
"plt.subplot(2, 2, 2)\n",
"sns.boxplot(x='test preparation course', y='reading score', data=df)\n",
"plt.title('Влияние курса подготовки на reading score')\n",
"\n",
"# Boxplot для writing score по курсу подготовки\n",
"plt.subplot(2, 2, 3)\n",
"sns.boxplot(x='test preparation course', y='writing score', data=df)\n",
"plt.title('Влияние курса подготовки на writing score')\n",
"\n",
"plt.tight_layout()\n",
"plt.show()\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Курс подготовки оказывает положительное влияние на успеваемость студентов во всех трех предметах, особенно по математике и письму. \n",
"\n",
"Студенты, прошедшие курс подготовки, имеют значительно более высокие оценки и меньше выбросов с низкими баллами.\n",
"\n",
"Это подтверждает важность подготовки студентов перед экзаменами, что помогает улучшить их успеваемость и снизить уровень неудач в учебе."
]
},
{
"cell_type": "code",
"execution_count": 375,
"metadata": {},
"outputs": [
2024-11-08 13:47:36 +03:00
{
"data": {
2024-11-23 01:16:49 +03:00
"image/png": "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CRMm6OLFi2rTpo32799/n1fk9u+lAQMGyM/PT++99566du2qjz76SK1btzYf9+XLlyVJo0aN0rlz5xQeHq7hw4drz549aty4sU6cOGHeXmxsrB555BGtX79eAwcO1KxZs1S5cmX17dtXM2fOzDaOqKiobI9Rup0/3rhxQ6+99prmzJmjNm3aaM6cOXrxxRfve4y5sXv3bv3000/q1q2bZs+erVdffVUbNmxQixYtdOPGjRxtY8GCBZozZ4769eun9957T15eXjpy5IgeeeQR/frrrxo5cqTee+89ubq6qnPnzvrqq6/M6/7+++9atWqVOnTooPfff18jRozQoUOH1Lx5c509e9bc7+bNm3rssce0du1aDRw4UKNHj9bWrVv15ptv5vhYly1bpnfffVevvPKKJk+erNOnT6tLly4W7/fVq1fr2WeflYODgyIiItSlSxf17dtXe/fuve/2L1y4oNatW+v06dMaOXKk5syZox49emjnzp0W/fr27WsuFr3zzjsaOXKknJ2dLfq99NJLGjdunOrXr68ZM2aoefPmioiIULdu3TLt9/jx4+revbtatWqlWbNmqW7durpx44aaN2+uJUuW6MUXX9Ts2bPVuHFjjRo1SsOGDcvxa4YCxgAKsQULFhiSjPXr1xsXL140Lly4YBw+fNh45ZVXDDs7O+OHH37ItM748eMNScbixYvNj9KlSxs9e/bM1OdOEyZMMCQZkoyNGzea2z///HNDktGiRQvjww8/NBYvXmy8/fbbhiRjxYoV5n7Nmzc3goKCMsXz7rvvGpKM6Ohoc1tAQIBFPLdu3TKqVKliSDICAgIs1n/ppZeMYsWKGS+//LLx4YcfGm+99Zbh6upqPPTQQ0ZKSkq2r91PP/1k8RpIMp588kmLtmvXruUqnujoaEOS0b17d4vtLF682ChXrpzRvHlzc9+LFy8avr6+xrBhw4yoqChj+vTpRrVq1QwHBwdj37592cadIeNnFBYWZsyZM8cYOHCgYW9vb3HcmzdvNv/MqlSpYkyfPt2YOHGi4e3tbbi7uxvHjx83b+/8+fNGuXLljPLlyxsTJ040oqKijCeeeMKQZMyYMSPb/UdFRWV7jIZhGIMGDTLat29vTJ061fjoo4+Mvn37Gvb29sZTTz1132PMeH/v3r3bov3ixYuGJGP8+PHmthUrVhh16tQxxo0bZ8ybN894++23jZIlSxoBAQHG9evX77mfjJ9b3bp1jZo1axrvv/++MWbMGMPR0dF45JFHjLffftto1KiRMXv2bGPw4MGGyWQyevfubbGNzp07G88884zx7rvvGlFRUcbTTz9tSDKGDx9u7vPDDz8YdevWNUqXLm1+zb766ivDMAxj48aNhiSjXr16RkhIiDFjxgxjwoQJRvHixY2HH374vq/Vc889Zzg6OhrDhg0zPvnkE+Odd94xOnbsaCxZssRi/46OjkZAQIAxfvx4Iyoqyhg8eLARFhZm7rNu3TqjWLFiRtWqVY3p06cb4eHhRunSpY2SJUtafEYzfv41a9Y0OnXqZERGRhpz5841DMMwJk+ebJhMJuPZZ581IiMjzduoUKGCceXKlfseCwD8XRm/N+5+ODk5GQsXLsxyndGjRxsmk8mi7e7f+3fnRRcuXDDc3NyMdu3aZcqLunfvbnh6eho3b940t2V
2024-11-08 13:47:36 +03:00
"text/plain": [
2024-11-23 01:16:49 +03:00
"<Figure size 1200x800 with 3 Axes>"
2024-11-08 13:47:36 +03:00
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
2024-11-23 01:16:49 +03:00
"# Влияние курса подготовки на оценки\n",
"plt.figure(figsize=(12, 8))\n",
"\n",
"# Boxplot для math score по курсу подготовки\n",
"plt.subplot(2, 2, 1)\n",
"sns.boxplot(x='lunch', y='math score', data=df)\n",
"plt.title('Влияние типа обеда на math score')\n",
"\n",
"# Boxplot для reading score по курсу подготовки\n",
"plt.subplot(2, 2, 2)\n",
"sns.boxplot(x='lunch', y='reading score', data=df)\n",
"plt.title('Влияние типа обеда на reading score')\n",
2024-11-08 13:47:36 +03:00
"\n",
2024-11-23 01:16:49 +03:00
"# Boxplot для writing score по курсу подготовки\n",
"plt.subplot(2, 2, 3)\n",
"sns.boxplot(x='lunch', y='writing score', data=df)\n",
"plt.title('Влияние типа обеда на writing score')\n",
"\n",
"plt.tight_layout()\n",
"plt.show()"
2024-11-08 13:47:36 +03:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2024-11-23 01:16:49 +03:00
"Тип обеда действительно может оказывать влияние на успеваемость студентов. Разница в оценках между группами standard и free/reduced указывает на то, что этот признак важен для анализа.\n",
"\n",
"Студенты с бесплатными обедами в среднем показывают меньше стабильности в результатах, что можно связать с другими социальными и экономическими факторами, влияющими на их учебный процесс."
2024-11-08 13:47:36 +03:00
]
},
{
"cell_type": "code",
2024-11-23 01:16:49 +03:00
"execution_count": 376,
2024-11-08 13:47:36 +03:00
"metadata": {},
"outputs": [
2024-11-23 01:16:49 +03:00
{
"name": "stdout",
"output_type": "stream",
"text": [
"p-значение: 0.48669808284196514\n"
]
},
2024-11-08 13:47:36 +03:00
{
"data": {
2024-11-23 01:16:49 +03:00
"image/png": "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
2024-11-08 13:47:36 +03:00
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
2024-11-23 01:16:49 +03:00
"from scipy.stats import chi2_contingency\n",
2024-11-08 13:47:36 +03:00
"\n",
2024-11-23 01:16:49 +03:00
"# Создаем кросс-таблицу\n",
"crosstab = pd.crosstab(df['lunch'], df['race/ethnicity'])\n",
2024-11-08 13:47:36 +03:00
"\n",
2024-11-23 01:16:49 +03:00
"# Выполняем хи-квадрат тест\n",
"chi2, p_value, dof, expected = chi2_contingency(crosstab)\n",
"\n",
"# Выводим результаты\n",
"print(f\"p-значение: {p_value}\")\n",
"\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# Строим столбчатую диаграмму с накоплением\n",
"crosstab = pd.crosstab(df['race/ethnicity'], df['lunch'])\n",
"\n",
"# Строим график\n",
"crosstab.plot(kind='bar', stacked=True)\n",
"plt.title('Тип обеда по этнической принадлежности')\n",
"plt.xlabel('Этническая принадлежность')\n",
"plt.ylabel('Частота')\n",
"plt.show()"
2024-11-08 13:47:36 +03:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2024-11-23 01:16:49 +03:00
"p-значение больше 0.05, это означает, что тип обеда, скорее всего, не зависит от этнической принадлежности студентов в данном наборе данных, и можно сделать вывод, что этническая принадлежность не оказывает влияния на распределение типов обеда среди студентов.\n",
"\n",
"Несмотря на различия в частотах типов обеда среди различных этнических групп (например, группа C имеет значительно больше студентов с стандартным обедом, чем с бесплатным), не существует статистически значимой связи между этими двумя переменными.\n",
"\n",
"Это может означать, что тип обеда для студентов в разных этнических группах распределяется случайным образом и не имеет четкой зависимости от этнической принадлежности."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Исходя из анализа и результатов, мы можем выбрать только те признаки, которые действительно оказывают влияние на успеваемость студентов:\n",
"\n",
"1. gender (пол) — оказывает влияние на успеваемость, особенно в письме и чтении. \n",
"2. parental level of education (уровень образования родителей) — важный фактор, сильно влияющий на успеваемость.\n",
"3. test preparation course (курс подготовки к тесту) — влияет на результаты студентов, особенно по математике и письму.\n",
"4. lunch (тип обеда) — имеет влияние, хоть и менее выраженное, но все же важно для предсказания успеваемости.\n",
"5. race/ethnicity (этническая принадлежность) — оказывает влияние на успеваемость, особенно в различиях между группами с высокими и низкими результатами.\n",
"\n",
"Эти признаки имеют заметное влияние на успеваемость студентов, и они будут полезны для построения более точной модели."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Выявление проблем датасета\n",
"\n",
"Оценим распределение признаков и сбалансированность данных, смещение по каждому признаку. "
2024-11-08 13:47:36 +03:00
]
},
{
"cell_type": "code",
2024-11-23 01:16:49 +03:00
"execution_count": 377,
2024-11-08 13:47:36 +03:00
"metadata": {},
"outputs": [
{
"data": {
2024-11-23 01:16:49 +03:00
"image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAISCAYAAAAjjoaeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd3hUZfrG8e/MpPfeSAIhdAigNAFpGkHEgqIuLipWXF101d9a2BUFRFnLuggWdNdVXHHtYgUFRAFFeif0FFoS0nud8/sjZJaYhJpwUu7PdeW6mDlnztyTzPDOPPOe57UYhmEgIiIiIiIiIiIiIiK1WM0OICIiIiIiIiIiIiLSVKmILiIiIiIiIiIiIiJSDxXRRURERERERERERETqoSK6iIiIiIiIiIiIiEg9VEQXEREREREREREREamHiugiIiIiIiIiIiIiIvVQEV1EREREREREREREpB4qoouIiIiIiIiIiIiI1ENFdBERERERERERERGReqiILiJismnTpmGxWMjIyDA7ioiISKtWPSafqF27dtx2223mBBIREWnFhg8fzvDhw09r39tuu4127do1ah5p3VREl7P2zjvvYLFYHD9ubm506tSJyZMnk5aWZnY8kSbn2WefZeHChWbHEJEWSGOyiIhI86VxXOT0HDlyhGnTprF582azo0gr5GR2AGn+ZsyYQUxMDCUlJaxatYrXX3+db7/9lu3bt+Ph4WF2PJEm49lnn+X6669n7NixZkcRkRZKY7JIw9u9ezdWq+YeiUjj0zguUtP3339f4/KRI0eYPn067dq1o3fv3jW2/fOf/8Rut5/HdNLaqIgu52z06NH07dsXgLvuuovAwEBeeuklvvjiC2666SaT04nI+VBUVKQ39iJNgMZkaWkKCwvx9PQ0NYOrq6up92+miooK7HY7Li4uZkcRaRU0jotUqf58eSbjj7OzcyMmatoMw6CkpAR3d3ezo7RomlIhDe6SSy4BIDExEYCsrCz+/Oc/ExcXh5eXFz4+PowePZotW7bUum1JSQnTpk2jU6dOuLm5ER4eznXXXcf+/fsBSEpKqnGa229/TuyV9eOPP2KxWPjwww/5y1/+QlhYGJ6enlx99dUcPHiw1n2vWbOGyy+/HF9fXzw8PBg2bBg///xznY9x+PDhdd7/tGnTau373nvv0adPH9zd3QkICGD8+PF13v/JHtuJ7HY7s2fPpnv37ri5uREaGso999xDdnZ2jf3atWvHlVdeWet+Jk+eXOuYdWV/4YUXav1OAUpLS3nqqafo0KEDrq6uREVF8eijj1JaWlrn76ou9T3OH3/8sda+t91222n9rj/55BP69u2Lt7d3jf1efPHFk2apPnVy1apVPPDAAwQHB+Pn58c999xDWVkZOTk53Hrrrfj7++Pv78+jjz6KYRg1jvHiiy8yaNAgAgMDcXd3p0+fPnzyySe1HnNhYSHz5893ZPttf9WcnBxuu+02/Pz88PX15fbbb6eoqOiUv8+9e/cybtw4wsLCcHNzIzIykvHjx5Obm1tjv/fee4/+/fvj4eGBv78/Q4cOrfXN/muvvUb37t1xdXUlIiKCP/7xj+Tk5NTYZ/jw4fTo0YMNGzYwdOhQPDw8+Mtf/gI0zPNDRBqOxuSaNCbX1hTH5J9++on77ruPkJAQIiMjHdsXLVrEkCFD8PT0xNvbmzFjxrBjx44ax9i6dSu33XYb7du3x83NjbCwMO644w4yMzNr3d+qVavo168fbm5uxMbG8sYbb9SZ67c90atz/vzzzzz88MMEBwfj6enJtddey7Fjx2rc1m63M23aNCIiIvDw8GDEiBHs3LnztPusf/DBB/Tp0wdvb298fHyIi4vj5ZdfrrFPTk4ODz30EO3atcPV1ZXIyEhuvfXWGmutpKenc+eddxIaGoqbmxu9evVi/vz5NY5T/bx/8cUXmT17NrGxsbi6urJz504Adu3axfXXX09AQABubm707duXL7/88pSPQUTOnsbxmjSO19ZUxvGcnBxsNhtz5sxxXJeRkYHVaiUwMLDGZ+h7772XsLAwx+WTfb4cfkJP9B9//JF+/foBcPvttztyvfPOO47Hd2JP9BPHtTfffNMxrvXr149169bVegwff/wx3bp1w83NjR49evD555+fdp/19evXM2rUKIKCgnB3dycmJoY77rijxj52u52XX36ZuLg43NzcCA4O5vLLL2f9+vWOfSoqKnj66acdWdu1a8df/vKXWs+J6ufkd999R9++fXF3d3e8j8nJyeHBBx8kKioKV1dXOnTowHPPPadZ+g1AM9GlwVUPyoGBgQAcOHCAhQsXcsMNNxATE0NaWhpvvPEGw4YNY+fOnURERABQWVnJlVdeybJlyxg/fjx/+tOfyM/PZ8mSJWzfvp3Y2FjHfdx0001cccUVNe53ypQpdeZ55plnsFgsPPbYY6SnpzN79mzi4+PZvHmz41u6H374gdGjR9OnTx+eeuoprFYrb7/9NpdccgkrV66kf//+tY4bGRnJrFmzACgoKODee++t876nTp3KjTfeyF133cWxY8eYO3cuQ4cOZdOmTfj5+dW6zaRJkxgyZAgAn332GZ9//nmN7ffccw/vvPMOt99+Ow888ACJiYm88sorbNq0iZ9//rlBvn3NyclxPLYT2e12rr76alatWsWkSZPo2rUr27Zt4x//+Ad79uw5o37fl112GbfeeisA69atqzHY/lZQUBD/+Mc/HJdvueWWGttXr17NjTfeSK9evfjb3/6Gr68vGRkZPPTQQ6ed5/777ycsLIzp06fz66+/8uabb+Ln58cvv/xCdHQ0zz77LN9++y0vvPACPXr0cGQHePnll7n66quZMGECZWVlfPDBB9xwww18/fXXjBkzBoD//Oc/3HXXXfTv359JkyYB1HhOA9x4443ExMQwa9YsNm7cyL/+9S9CQkJ47rnn6s1dVlbGqFGjKC0tdTyGw4cP8/XXX5OTk4Ovry8A06dPZ9q0aQwaNIgZM2bg4uLCmjVr+OGHHxg5ciRQtZja9OnTiY+P595772X37t28/vrrrFu3rtZzKzMzk9GjRzN+/HhuvvlmQkNDG/T5ISINQ2NyzfvWmFy3pjYm33fffQQHB/Pkk09SWFgIVI2jEydOZNSoUTz33HMUFRXx+uuvc/HFF7Np0ybHB9wlS5Zw4MABbr/9dsLCwtixYwdvvvkmO3bs4Ndff3UUO7Zt28bIkSMJDg5m2rRpVFRU8NRTTxEaGnraOe+//378/f156qmnSEpKYvbs2UyePJkPP/zQsc+UKVN4/vnnueqqqxg1ahRbtmxh1KhRlJSUnPL4S5Ys4aabbuLSSy91vBdISEjg559/5k9/+hNQ9XwfMmQICQkJ3HHHHVx44YVkZGTw5ZdfcujQIYKCgiguLmb48OHs27ePyZMnExMTw8cff8xtt91GTk6O41jV3n77bUpKSpg0aRKurq4EBASwY8cOBg8eTJs2bXj88cfx9PTko48+YuzYsXz66adce+21p/17E5HTp3G85n1rHK9bUxjH/fz86NGjBytWrOCBBx4Aqr6stlgsZGVlsXPnTrp37w7AypUrHX+XanV9vvytrl27MmPGDJ588skaf9tBgwadNNv7779Pfn4+99xzDxaLheeff57rrruOAwcOOP7G33zzDb/73e+Ii4tj1qxZZGdnc+edd9KmTZuTHhuqvqiufk/x+OOP4+fnR1JSEp999lmN/e68807eeecdRo8ezV133UVFRQUrV67k119/rXEGyvz587n++uv5v//7P9asWcOsWbNISEio9fzdvXs3N910E/fccw933303nTt3pqioiGHDhnH48GHuueceoqOj+eWXX5gyZQpHjx5l9uzZp3w8chKGyFl6++23DcBYunSpcezYMePgwYPGBx98YAQGBhru7u7GoUOHDMMwjJKSEqOysrLGbRMTEw1XV1djxowZjuv+/e9/G4Dx0ksv1bovu93uuB1gvPDCC7X26d69uzFs2DDH5eXLlxuA0aZNGyMvL89x/UcffWQAxssvv+w4dseOHY1Ro0Y57scwDKOoqMi
2024-11-08 13:47:36 +03:00
"text/plain": [
2024-11-23 01:16:49 +03:00
"<Figure size 1500x1000 with 3 Axes>"
2024-11-08 13:47:36 +03:00
]
},
"metadata": {},
2024-11-23 01:16:49 +03:00
"output_type": "display_data"
2024-11-08 13:47:36 +03:00
},
{
"data": {
2024-11-23 01:16:49 +03:00
"image/png": "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0z/+8Q/7+tK830pNTdWDDz4oSbr77ruLnHe7Yu5hfuTIEfXv318hISHy9PRUs2bN9M477xQbc2ne81QGjDCH0xW+AQoKCpIk/fTTT1qwYIEefPBBRUZGKjMzU2+88Ybatm2rnTt3Kjw8XJJ09uxZ3XPPPVq1apV69uypv/71rzp+/LhWrFih7du3q06dOvZjPPLII+rSpYvDcZOSkoqN5/nnn5fFYtGzzz6rI0eO6JVXXlF0dLS2bNkiLy8vSX/+ZCc2NlZRUVEaM2aMXFxc7Anp888/1x133FFkvzVq1FBycrIk6cSJExo0aFCxxx41apQeeughPfbYY/rtt980ZcoUtWnTRt9++22x33oOHDhQrVu3liTNmzevyB/hxx9/XKmpqerXr5+eeuop7du3T6+//rq+/fZbffnll5f00+SSZGVl2c/tXAUFBbr33nv1xRdfaODAgWrQoIG2bdumyZMn68cff9SCBQtKfYyOHTuqT58+kqTNmzfrtddeK7FttWrVHH5O1bt3b4f1aWlpeuihh9SsWTO98MIL8vf31++//16qe5X9+uuv9qSSlJQkb29v/fvf/5bVai3S9r333lN8fLxiYmL04osv6uTJk5o+fbpatWqlb7/91uGnT2fPnlVMTIxatGihSZMmaeXKlfrXv/6lOnXq2K8VY4zuu+8+ffHFF3riiSfUoEEDzZ8/X/Hx8UWOvWPHDt1111264YYb9Le//U3e3t766KOP1L17d3388ce6//77Hdo/+eSTql69ukaPHq3c3NyL9gOAq4Mc6XhscmTxKkqOLFRcTtm8ebM2bNignj17qkaNGtq/f7+mT5+udu3aaefOnfaRdydOnFDr1q31/fff69FHH9Wtt96q33//XZ988ol++eUXVatW7ZL7bsmSJYqKilJISIikP0f6tW3bVr/++qsef/xx1apVSxs2bFBSUpIOHz6sV155RdWrV9f06dM1aNAg3X///erRo4ckqWnTpvb9liZ3F5o9e7aOHz+uxx9/XBaLRRMnTlSPHj30008/XfA6GzdunMaOHas777xT48ePl4eHhzZt2qTVq1erU6dORdo3aNBA48eP1+jRox2u/zvvvFOtWrXS+PHj9eGHHyoxMdG+TX5+vubOnau4uDh5enqW9r8ZKBZ5y/HY5K3iVbS8lZiYqICAAI0dO1a7du3S9OnT9fPPP9uLmdKfRUYfHx8NGzZMPj4+Wr16tUaPHq2cnBy99NJLDvs7evSoYmNj1bNnT/3f//2fQkJCLrn/vvjiC82bN09PPvmkfH199dprrykuLk4HDhxQUFCQevTooR9//FH/+c9/NHnyZFWrVk2S7F/2Tp8+XY0aNdK9994rNzc3LVq0SE8++aQKCgqUkJBQ6r4pSWlyqbu7u+6//37NmzdPb7zxhsPI5QULFigvL089e/aUVL7Xl/TnZ+d7771Xa9asUf/+/dW8eXMtW7ZMw4cP16+//qrJkyerevXqeu+99/T888/rxIkT9uu+QYMGJe63tJ/xly9frri4ODVs2FDJyck6evSo+vXrd1mD07777ju1bt1a7u7uGjhwoGrXrq29e/dq0aJFev755yWV7v1WmzZt9NRTT+m1117T3//+d/v5lnTef/zxh9q1a6c9e/YoMTFRkZGRmjNnjvr27ausrCz99a9
2024-11-08 13:47:36 +03:00
"text/plain": [
2024-11-23 01:16:49 +03:00
"<Figure size 1500x1000 with 5 Axes>"
2024-11-08 13:47:36 +03:00
]
},
"metadata": {},
"output_type": "display_data"
2024-11-23 01:16:49 +03:00
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Коэффициенты асимметрии (skewness):\n",
"math score: -0.06868258599956258\n",
"reading score: -0.13966907569164858\n",
"writing score: -0.16409966338743373\n"
]
2024-11-08 13:47:36 +03:00
}
],
"source": [
2024-11-23 01:16:49 +03:00
"import pandas as pd\n",
"import seaborn as sns\n",
"import matplotlib.pyplot as plt\n",
"from scipy.stats import skew\n",
"\n",
"# Строим гистограммы для количественных признаков\n",
"def plot_histograms(df, numerical_columns):\n",
" plt.figure(figsize=(15, 10))\n",
" for i, column in enumerate(numerical_columns, 1):\n",
" plt.subplot(2, 3, i)\n",
" sns.histplot(df[column], kde=True, bins=20)\n",
" plt.title(f'Распределение для {column}')\n",
" plt.tight_layout()\n",
" plt.show()\n",
"\n",
"# Строим барплоты для категориальных признаков\n",
"def plot_barplots(df, categorical_columns):\n",
" plt.figure(figsize=(15, 10))\n",
" for i, column in enumerate(categorical_columns, 1):\n",
" plt.subplot(2, 3, i)\n",
" sns.countplot(data=df, x=column)\n",
" plt.title(f'Распределение для {column}')\n",
" plt.tight_layout()\n",
" plt.show()\n",
"\n",
"# Вычисляем коэффициент асимметрии (skewness) для количественных признаков\n",
"def check_skewness(df, numerical_columns):\n",
" skewness = {}\n",
" for column in numerical_columns:\n",
" skewness[column] = skew(df[column])\n",
" print(\"Коэффициенты асимметрии (skewness):\")\n",
" for column, value in skewness.items():\n",
" print(f\"{column}: {value}\")\n",
"\n",
"\n",
"\n",
"# Указываем признаки для анализа\n",
"numerical_columns = ['math score', 'reading score', 'writing score']\n",
"categorical_columns = ['gender', 'race/ethnicity', 'parental level of education', 'lunch', 'test preparation course']\n",
"\n",
"# Визуализируем распределения признаков\n",
"plot_histograms(df, numerical_columns)\n",
"plot_barplots(df, categorical_columns)\n",
"\n",
"# Проверяем на смещение (skewness)\n",
"check_skewness(df, numerical_columns)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Распределение оценок:**\n",
"\n",
"Все три оценки (математика, чтение, письмо) имеют нормальное или близкое к нормальному распределение, с небольшим левым смещением. Это означает, что большинство студентов набирают средние баллы, а на крайних значениях (как низкие, так и высокие) распределение становится реже.\n",
"\n",
"Таким образом, модель, вероятно, будет работать хорошо, так как данные достаточно близки к нормальному распределению, что способствует лучшему обучению модели.\n",
"\n",
"**Смещение (Skewness):**\n",
"\n",
"Смещение не очень сильное. Для большинства признаков смещение не критичное, так как коэффициенты асимметрии близки к нулю, но все же указывают на небольшое смещение влево. Это может означать, что студенты с низкими оценками по этим предметам встречаются чаще, чем с высокими.\n",
"\n",
"**Группировка категориальных признаков:**\n",
"\n",
"1. Пол: Данные сбалансированы между мужчинами и женщинами.\n",
"2. Этническая принадлежность: Распределение студентов неравномерное, с наибольшим количеством студентов в группе C, что важно учитывать при обучении модели.\n",
"3. Уровень образования родителей: Студенты с родителями, имеющими диплом бакалавра, составляют наибольшую часть данных.\n",
"4. Тип обеда: Преобладание студентов с стандартным обедом над бесплатным/сниженным.\n",
"5. Курс подготовки: Большинство студентов не прошли курс подготовки, что нужно учитывать в модели.\n",
"\n",
"\n",
"Для корректной работы модели стоит обратить внимание на несбалансированность данных по таким признакам, как тип обеда и курс подготовки, что может потребовать дополнительной обработки данных (например, с использованием методов балансировки данных)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Разбиение датасета на три части: обучающую, контрольную и тестовую выборки\n",
"\n",
"Обучающая выборка (training set): используется для обучения модели. Это основная часть данных, на которой модель обучается находить зависимости.\n",
"\n",
"Валидационная выборка (validation set): используется для настройки гиперпараметров модели. Во время обучения модель проверяется на этой выборке, чтобы выбрать оптимальные параметры и избежать переобучения.\n",
"\n",
"Тестовая выборка (test set): используется для окончательной проверки модели после завершения процесса обучения. Тестовые данные не используются в процессе обучения и позволяют объективно оценить качество модели."
]
},
{
"cell_type": "code",
"execution_count": 378,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Размер обучающей выборки: (700, 5)\n",
"Размер контрольной выборки: (150, 5)\n",
"Размер тестовой выборки: (150, 5)\n"
]
}
],
"source": [
"from sklearn.model_selection import train_test_split\n",
"\n",
"# Предполагаем, что df — это DataFrame, содержащий все ваши данные\n",
"X = df[['gender', 'race/ethnicity', 'parental level of education', 'lunch', 'test preparation course']] # Признаки\n",
"y = df[['math score', 'reading score', 'writing score']] # Несколько целевых признаков\n",
"\n",
"# Разбиение на обучающую и тестовую выборки\n",
"X_train, X_temp, y_train, y_temp = train_test_split(X, y, test_size=0.3, random_state=42)\n",
"\n",
"# Разбиение временной выборки на контрольную и тестовую\n",
"X_val, X_test, y_val, y_test = train_test_split(X_temp, y_temp, test_size=0.5, random_state=42)\n",
"\n",
"# Печатаем размеры выборок\n",
"print(f\"Размер обучающей выборки: {X_train.shape}\")\n",
"print(f\"Размер контрольной выборки: {X_val.shape}\")\n",
"print(f\"Размер тестовой выборки: {X_test.shape}\")\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"### Оценка сбалансированности выборок\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAHqCAYAAADrpwd3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd1xT5/4H8E8WYYcd9hAHiLhw702ttrVae9urrdplh112eu9tq9Zbu2uX2vbX2mVra4faobaOulfdAxERjIAEAoQVkpDk/P5Aco2Ai8Ah8Hm/Xnm9zMnJk08g+OR8z3OeRyIIggAiIiIiIiIiIiIiIqpDKnYAIiIiIiIiIiIiIqKWikV0IiIiIiIiIiIiIqIGsIhORERERERERERERNQAFtGJiIiIiIiIiIiIiBrAIjoRERERERERERERUQNYRCciIiIiIiIiIiIiagCL6EREREREREREREREDWARnYiIiIiIiIiIiIioASyiExERERERERERERE1gEV0IqJmNnfuXEgkEuh0OrGjEBERtWm1ffLFYmNjMX36dHECERERtWHDhg3DsGHDrmrf6dOnIzY2tknzEF2MRXS6ap9//jkkEon95u7ujo4dO2LWrFnQarVixyNqcV555RWsWrVK7BhE1AqxTyYiInJd7MeJrk5eXh7mzp2LQ4cOiR2FCHKxA5DrmT9/PuLi4mA0GrF9+3YsWbIEv//+O44dOwZPT0+x4xG1GK+88gpuu+02TJgwQewoRNRKsU8mcr709HRIpRxrRERNj/04kaM//vjD4X5eXh7mzZuH2NhYdO/e3eGxTz75BDabrRnTUVvHIjpds7Fjx6JXr14AgPvuuw+BgYF4++23sXr1atx5550ipyOi5mAwGPjFnqgFYJ9MrU1lZSW8vLxEzaBUKkV9fTFZLBbYbDa4ubmJHYWoTWA/TlSj9vjyWvofhULRhIlaNkEQYDQa4eHhIXaUNoVDLKjRRowYAQDIysoCABQXF+Ppp59GcnIyvL294evri7Fjx+Lw4cN1nms0GjF37lx07NgR7u7uCAsLw8SJE5GZmQkAyM7OdrjM7dLbxXNl/fXXX5BIJPjuu+/wr3/9C6GhofDy8sLNN9+Mc+fO1XntPXv24IYbboBKpYKnpyeGDh2KHTt21Psehw0bVu/rz507t86+X3/9NVJSUuDh4YGAgADccccd9b7+5d7bxWw2GxYtWoSkpCS4u7tDrVZj5syZKCkpcdgvNjYW48ePr/M6s2bNqtNmfdnfeOONOj9TADCZTHjppZfQvn17KJVKREVF4dlnn4XJZKr3Z1Wfht7nX3/9VWff6dOnX9XP+ocffkCvXr3g4+PjsN+bb7552Sy1l05u374djz32GIKDg+Hn54eZM2fCbDZDr9fj7rvvhr+/P/z9/fHss89CEASHNt58800MGDAAgYGB8PDwQEpKCn744Yc677myshJffPGFPdul86vq9XpMnz4dfn5+UKlUmDFjBgwGwxV/nhkZGZg0aRJCQ0Ph7u6OyMhI3HHHHSgtLXXY7+uvv0afPn3g6ekJf39/DBkypM6Z/cWLFyMpKQlKpRLh4eF45JFHoNfrHfYZNmwYunTpgv3792PIkCHw9PTEv/71LwDO+XwQkfOwT3bEPrmultgnb9myBQ8//DBCQkIQGRlpf3zt2rUYPHgwvLy84OPjg3HjxuH48eMObRw5cgTTp09Hu3bt4O7ujtDQUNxzzz0oKiqq83rbt29H79694e7ujvj4eHz00Uf15rp0TvTanDt27MDs2bMRHBwMLy8v3HrrrSgsLHR4rs1mw9y5cxEeHg5PT08MHz4cJ06cuOp51lesWIGUlBT4+PjA19cXycnJePfddx320ev1ePLJJxEbGwulUonIyEjcfffdDmutFBQU4N5774VarYa7uzu6deuGL774wqGd2s/9m2++iUWLFiE+Ph5KpRInTpwAAJw8eRK33XYbAgIC4O7ujl69emHNmjVXfA9EdP3YjztiP15XS+nH9Xo9ZDIZ3nvvPfs2nU4HqVSKwMBAh2Pohx56CKGhofb7lzu+HHbRnOh//fUXevfuDQCYMWOGPdfnn39uf38Xz4l+cb/28ccf2/u13r17Y9++fXXew8qVK9G5c2e4u7ujS5cu+Pnnn696nvW///4bqampCAoKgoeHB+Li4nDPPfc47GOz2fDuu+8iOTkZ7u7uCA4Oxg033IC///7bvo/FYsHLL79szxobG4t//etfdT4TtZ/J9evXo1evXvDw8LB/j9Hr9XjiiScQFRUFpVKJ9u3b47XXXuMo/SbAkejUaLWdcmBgIADgzJkzWLVqFSZPnoy4uDhotVp89NFHGDp0KE6cOIHw8HAAgNVqxfjx47Fx40bccccdePzxx1FeXo4///wTx44dQ3x8vP017rzzTtx4440Orztnzpx68/z3v/+FRCLBc889h4KCAixatAijRo3CoUOH7GfpNm3ahLFjxyIlJQUvvfQSpFIpli1bhhEjRmDbtm3o06dPnXYjIyOxcOFCAEBFRQUeeuihel/7hRdewO2334777rsPhYWFeP/99zFkyBAcPHgQfn5+dZ7zwAMPYPDgwQCAn376CT///LPD4zNnzsTnn3+OGTNm4LHHHkNWVhY++OADHDx4EDt27HDK2Ve9Xm9/bxez2Wy4+eabsX37djzwwANITEzE0aNH8c477+DUqVPXNN/36NGjcffddwMA9u3b59DZXiooKAjvvPOO/f5dd93l8PiuXbtw++23o1u3bnj11VehUqmg0+nw5JNPXnWeRx99FKGhoZg3bx52796Njz/+GH5+fti5cyeio6Pxyiuv4Pfff8cbb7yBLl262LMDwLvvvoubb74ZU6ZMgdlsxooVKzB58mT8+uuvGDduHADgq6++wn333Yc+ffrggQceAACHzzQA3H777YiLi8PChQtx4MAB/N///R9CQkLw2muvNZjbbDYjNTUVJpPJ/h5yc3Px66+/Qq/XQ6VSAQDmzZuHuXPnYsCAAZg/fz7c3NywZ88ebNq0CWPGjAFQs5javHnzMGrUKDz00ENIT0/HkiVLsG/fvjqfraKiIowdOxZ33HEHpk6dCrVa7dTPBxE5B/tkx9dmn1y/ltYnP/zwwwgODsaLL76IyspKADX96LRp05CamorXXnsNBoMBS5YswaBBg3Dw4EH7Ae6ff/6JM2fOYMaMGQgNDcXx48fx8ccf4/jx49i9e7e92HH06FGMGTMGwcHBmDt3LiwWC1566SWo1eqrzvnoo4/C398fL730ErKzs7Fo0SLMmjUL3333nX2fOXPm4PXXX8dNN92E1NRUHD58GKmpqTAajVds/88//8Sdd96JkSNH2r8LpKWlYceOHXj88ccB1HzeBw8ejLS0NNxzzz3o2bMndDod1qxZg5ycHAQFBaGqqgrDhg3D6dOnMWvWLMTFxWHlypWYPn069Hq9va1ay5Ytg9FoxAMPPAClUomAgAAcP34cAwcOREREBJ5//nl4eXnh+++/x4QJE/Djjz/i1ltvveqfGxFdPfbjjq/Nfrx+LaEf9/PzQ5cuXbB161Y89thjAGpOVkskEhQXF+PEiRNISkoCAGzbts3+e6lV3/HlpRITEzF//ny8+OKLDr/bAQMGXDbbN998g/LycsycORMSiQSvv/46Jk6ciDNnzth/x7/99hv+8Y9/IDk5GQsXLkRJSQnuvfdeREREXLZtoOZEde13iueffx5+fn7Izs7GTz/95LDfvffei88//xxjx47FfffdB4vFgm3btmH37t0OV6B88cUXuO222/DUU09hz549WLhwIdLS0up8ftPT03HnnXdi5syZuP/++9GpUycYDAYMHToUubm5mDlzJqKjo7Fz507MmTMH58+fx6JFi674fugaCERXadmyZQIAYcOGDUJhYaFw7tw5YcWKFUJgYKDg4eEh5OTkCIIgCEajUbBarQ7PzcrKEpRKpTB//nz7ts8++0wAILz99tt1Xstms9mfB0B444036uyTlJQkDB061H5/8+bNAgAhIiJCKCsrs2///vvvBQDCu+++a2+7Q4cOQmp
"text/plain": [
"<Figure size 1500x500 with 3 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Коэффициенты асимметрии (skewness) для целевых переменных:\n",
"math score: -0.009831373587054385\n",
"reading score: -0.09142001190462311\n",
"writing score: -0.14592365848290204\n"
]
}
],
"source": [
"import seaborn as sns\n",
"import matplotlib.pyplot as plt\n",
"from scipy.stats import skew\n",
"\n",
"# Строим гистограммы и рассчитываем skewness для количественных признаков\n",
"def plot_numerical_balance(y_train):\n",
" plt.figure(figsize=(15, 5))\n",
" skewness = {}\n",
" for i, column in enumerate(y_train.columns, 1):\n",
" # Гистограмма с плотностью\n",
" plt.subplot(1, 3, i)\n",
" sns.histplot(y_train[column], kde=True, bins=20)\n",
" plt.title(f'Распределение для {column}')\n",
" \n",
" # Вычисление skewness\n",
" skewness[column] = skew(y_train[column])\n",
" \n",
" plt.tight_layout()\n",
" plt.show()\n",
"\n",
" # Вывод коэффициентов асимметрии (skewness)\n",
" print(\"Коэффициенты асимметрии (skewness) для целевых переменных:\")\n",
" for column, value in skewness.items():\n",
" print(f\"{column}: {value}\")\n",
"\n",
"# Оценка сбалансированности количественных признаков\n",
"plot_numerical_balance(y_train)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Все целевые переменные (оценки) имеют незначительное смещение влево, что говорит о том, что большинство студентов набирают средние и ниже средние баллы. Эти данные не требуют аугментации с точки зрения смещения."
2024-11-08 13:47:36 +03:00
]
}
],
"metadata": {
"kernelspec": {
"display_name": "aimvenv",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.6"
}
},
"nbformat": 4,
"nbformat_minor": 2
}