{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "5c805c2f-73c8-4308-916c-e7c56b3b5c1f", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import missingno as msno\n", "import seaborn as sns\n", "import matplotlib.pyplot as plt\n", "from scipy.stats import mannwhitneyu\n", "from sklearn.neighbors import KNeighborsClassifier\n", "from sklearn.ensemble import RandomForestClassifier\n", "from sklearn.ensemble import GradientBoostingClassifier" ] }, { "cell_type": "code", "execution_count": 2, "id": "912d67c8-0d78-476d-99ce-13964af3e8ef", "metadata": {}, "outputs": [], "source": [ "def check(df):\n", " # Проверка данных на валидность\n", " for column in df.columns:\n", " print(f\"{column}: {X[column].sum()}; \")" ] }, { "cell_type": "code", "execution_count": 3, "id": "069dbbdb-42fd-4011-8cc2-cdd7053d1a57", "metadata": {}, "outputs": [], "source": [ "data_dir = \"/home/user/dev/dataScience/titanic/data/\"\n", "df = pd.read_csv (data_dir + 'gender_submission.csv')\n", "test = pd.read_csv (data_dir + 'test.csv')\n", "train = pd.read_csv (data_dir + 'train.csv')" ] }, { "cell_type": "code", "execution_count": 4, "id": "fa4461d6-b183-4245-8d77-3b4fca232d84", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 891 entries, 0 to 890\n", "Data columns (total 12 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 PassengerId 891 non-null int64 \n", " 1 Survived 891 non-null int64 \n", " 2 Pclass 891 non-null int64 \n", " 3 Name 891 non-null object \n", " 4 Sex 891 non-null object \n", " 5 Age 714 non-null float64\n", " 6 SibSp 891 non-null int64 \n", " 7 Parch 891 non-null int64 \n", " 8 Ticket 891 non-null object \n", " 9 Fare 891 non-null float64\n", " 10 Cabin 204 non-null object \n", " 11 Embarked 889 non-null object \n", "dtypes: float64(2), int64(5), object(5)\n", "memory usage: 83.7+ KB\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PassengerIdSurvivedPclassAgeSibSpParchFare
count891.000000891.000000891.000000714.000000891.000000891.000000891.000000
mean446.0000000.3838382.30864229.6991180.5230080.38159432.204208
std257.3538420.4865920.83607114.5264971.1027430.80605749.693429
min1.0000000.0000001.0000000.4200000.0000000.0000000.000000
25%223.5000000.0000002.00000020.1250000.0000000.0000007.910400
50%446.0000000.0000003.00000028.0000000.0000000.00000014.454200
75%668.5000001.0000003.00000038.0000001.0000000.00000031.000000
max891.0000001.0000003.00000080.0000008.0000006.000000512.329200
\n", "
" ], "text/plain": [ " PassengerId Survived Pclass Age SibSp \\\n", "count 891.000000 891.000000 891.000000 714.000000 891.000000 \n", "mean 446.000000 0.383838 2.308642 29.699118 0.523008 \n", "std 257.353842 0.486592 0.836071 14.526497 1.102743 \n", "min 1.000000 0.000000 1.000000 0.420000 0.000000 \n", "25% 223.500000 0.000000 2.000000 20.125000 0.000000 \n", "50% 446.000000 0.000000 3.000000 28.000000 0.000000 \n", "75% 668.500000 1.000000 3.000000 38.000000 1.000000 \n", "max 891.000000 1.000000 3.000000 80.000000 8.000000 \n", "\n", " Parch Fare \n", "count 891.000000 891.000000 \n", "mean 0.381594 32.204208 \n", "std 0.806057 49.693429 \n", "min 0.000000 0.000000 \n", "25% 0.000000 7.910400 \n", "50% 0.000000 14.454200 \n", "75% 0.000000 31.000000 \n", "max 6.000000 512.329200 " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Анализ датасета\n", "\n", "#Первые несколько строк\n", "train.head()\n", "# Информация о датасете\n", "train.info()\n", "# Описательная статистика\n", "train.describe()" ] }, { "cell_type": "code", "execution_count": 5, "id": "e0c46663-f8e8-4cc9-965b-b6f25e8f9c53", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHFCAYAAAAUpjivAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAzGklEQVR4nO3df3xP9f//8fuLba/NfsU2r5dpflSraJNMib6Y3wmJeksU3tRbJtkbzVsqUm/zo1Bv0bveGAl9vNHPd6JChPdnrQhFquVHbU2ZzY/ZZjvfP7rsfLxsfs14zdPtermcy6XzPM/zPI9zttm95znnNYdlWZYAAAAMVcXbBQAAAFxMhB0AAGA0wg4AADAaYQcAABiNsAMAAIxG2AEAAEYj7AAAAKMRdgAAgNEIOwAAwGiEHVzRUlJS5HA4PJaIiAjFx8fr/fff93Z5uEKsXbu21Pfh6RYA58/H2wUAlcG8efN04403yrIsZWZmaubMmerWrZveffdddevWzdvlwXBNmjTRpk2bPNp69Oiha6+9Vi+88IKXqgLMQdgBJMXExKhp06b2+p133qnq1atr8eLFhB1cdCEhIbr99ts92pxOp6666qpS7QDOH7exgDL4+/vLz89Pvr6+dttPP/0kh8Nxxv/THj9+vMethr1796pu3bq66667VFhYaLfHx8crPj7eXi8sLNRdd92lunXrat++fXa7w+HQ+PHjPY7x3HPPyeFweOx/6m0Qp9Opa6+9Vs8884yKiorsfgcOHFBCQoIaNmyooKAg1axZU23bttX69etLnUtBQYGef/553XjjjXI6nYqIiNCf//xnHThwwKNfvXr15HA4NHTo0FJjtGnTRg6HQ127dvVo37t3rx588EHVrFlTTqdTDRo00Isvvqji4mKPfvn5+ZowYYIaNGggf39/hYWFqU2bNtq4caN9fc60lFyjkuvz73//u1SNZ3Omr3tMTIzH1+H48eMaOXKkGjdurNDQUNWoUUPNmzfXO++8c97HPZNTv88kKTs7WxEREXI4HFq7dq2kP77PzvW22CuvvKJWrVqpZs2aCgwMVGxsrKZMmeLxfVsyZkxMTKmaXnjhBTkcDv300092W7169TRgwACPfm+88YYcDofq1atnt5Vc45SUFLvtt99+U6NGjdSgQQNlZmba7ZZladasWWrcuLECAgJUvXp13Xffffrxxx/P8erhSsTMDiCpqKhIJ06ckGVZ+vXXXzV16lQdPXpUffr0uaBx69Spo48//lgtW7bUgw8+qMWLF6tKFc//xyguLlbfvn315Zdfav369YqKijrteHv27FFycrKqVq1a5vZXXnlFTZo0UV5enpYuXarnnntOQUFBSkpKkiQdPHhQkjRu3Di53W4dOXJEK1asUHx8vD755BP7F3dxcbG6d++u9evXKykpSS1atNCePXs0btw4xcfH64svvlBAQIB93Bo1amjBggVKTk5WSEiIJGnHjh36/PPP7fUSBw4cUIsWLVRQUKDnnntO9erV0/vvv69Ro0bphx9+0KxZsyRJJ06cUOfOnbV+/XolJiaqbdu2OnHihDZv3qy9e/eqRYsWHrd+PvjgAz3//PNavny5atWqJUmljn2x5efn6+DBgxo1apRq166tgoICffzxx+rZs6fmzZunfv36XbRjjx07VtnZ2R5ts2bNUm5uriQpIyNDPXv21FNPPaUuXbqU2v+HH35Qnz59VL9+ffn5+Wnr1q36+9//rp07d2ru3LkVUmNubq6SkpJO+/1b4rffflPbtm1VWFioNWvWyO1229sGDx6slJQUPf7445o8ebIOHjyoCRMmqEWLFtq6datcLleF1ArDWMAVbN68eZakUovT6bRmzZrl0Tc9Pd2SZE2dOvW0440bN84q68dq69atVvXq1a1BgwZZxcXFVuvWra3WrVtbxcXF1sCBA63q1atbW7duLbWfJGvcuHH2+j333GPdcsstVsuWLa3WrVvb7WvWrLEkWWvWrPHY/6qrrrJ69ep12npPnDhhFRYWWu3atbN69Ohhty9evNiSZC1btsyjf2pqqiXJ49rUrVvX6tKli9WwYUPrpZdestsfffRRq1evXvb2En/7298sSdZ///tfj7GHDBliORwOa9euXZZlWdaCBQssSdbrr79+2vpPVvK1TE9PL7Wt5PosXbr0nMY62Zm+7jfddJPH1+FUJdd30KBB1i233HJexz31up3s1O+zL7/80qpSpYr1+OOPl/l9cPJ5zJs376zHLioqsgoLC60FCxZYVatWtQ4ePGhva926tXXTTTeV2mfq1Kmlrn/dunWt/v372+uJiYlW7dq1rXvvvdeqW7dumbUdOHDAatSokXXjjTdaGRkZHsfYtGmTJcl68cUXPdr37dtnBQQEWElJSWc9N1yZuI0FSFqwYIFSU1OVmpqqDz/8UP3799fQoUM1c+bMUn2Li4t14sSJUrdczqRRo0aaNGmS5syZo5EjR9rtI0aM0Ny5czVp0iQ1atTojGOsXLlS77zzjl555ZVSs0MlSmaoDh8+rDlz5ujQoUNq166dR59XX31VTZo0kb+/v3x8fOTr66tPPvlE3377rd3n/fff11VXXaVu3brpxIkT9tK4cWO53W77NsnJHnvsMb3yyiuyLEs5OTl64403yry19emnn6phw4a67bbbPNoHDBggy7L06aefSpI+/PBD+fv7a+DAgWe8LuejPF+7U/c9eSnL0qVLdccddygoKMi+vnPmzPG4vhXJsiwlJCSoQ4cO6tGjR7nH+eqrr3T33XcrLCxMVatWla+vr/r166eioiJ99913pfqfei3Odk23b9+umTNn6sUXX1RQUFCZfX7//Xe1a9dOX3/9tZYtW+YxoyP98X3pcDj04IMPehzb7Xbr5ptvLvP7EpB4ZgeQJDVo0EBNmzZV06ZNdeedd+qf//ynOnbsqKSkJB06dMij7+jRo+Xr66uqVasqPDxcXbt21datW884/rFjxzR16lTdeuutmj17tjZt2qRNmzbp1Vdf1a233qqpU6fq2LFjp90/Pz9fjz/+uAYMGKDmzZuftl/79u3l6+urkJAQPfzwwxo0aJAGDRpkb582bZqGDBmiZs2aadmyZdq8ebNSU1N15513Ki8vz+7366+/6tChQ/ZzSycvmZmZ+u2330odu1+/fvr111+1atUqzZs3T9dee61atWpVqt/vv/9u32Y6WWRkpL1d+uN2V2Rk5GmDXXncf//98vX1lY+Pj1wul3r37u3xjMmZlHzdT1527Njh0Wf58uXq1auXateurYULF2rTpk1KTU3VwIEDdfz48Qo7j5PNmzdPX375pf7xj3+Ue4y9e/eqZcuW+vnnn/XSSy9p/fr1Sk1N1SuvvCJJHt8b0h+3KE+9FqNHjz7jMYYOHaqWLVvq/vvvP22fJ598UgUFBXK73Xr66adLbf/1119lWZZcLlep42/evLnM70tA4pkd4LQaNWqkjz76SN99953HLMTw4cP14IMPqri4WOnp6XrqqafUvn17/fLLL6cda/To0Tp48KA+++wzffHFF+rZs6ckadmyZYqLi1NMTIz+9re/6eWXXy5z/xdeeEEHDhzQ5MmTz1jzq6++qri4OJ04cUI7d+7U6NGjlZubq//5n/+RJC1cuFDx8fGaPXu2x36HDx/2WA8PD1dYWJhWrlxZ5nGCg4NLtQUGBmrAgAF6+eWXtXv3bo0aNarMfcPCwpSRkVGqveT6hYeHS5IiIiK0YcMGFRcXV1jgmTx5stq2bauioiJ9++23SkpK0j333KMtW7acdd+Sr/vJevfu7bG+cOFC1a9fX2+99ZbHw7/5+fkVUv+pDh06pL/97W964oknFB0drZ9//rlc47z99ts6evSoli9frrp169rtp7su1157rZYsWeLRtnDhQr300ktl9n/zzTe1adOms17na665RmvWrNHWrVvVuXNnzZkzxyOsh4eHy+FwaP369XI6naX2L6sNkAg7wGmV/MMcERHh0X711Vfbr6nfdtttyszMVGJiotLT08scZ82aNXrllVe0aNEi1apVS926ddMdd9whSfZbSjNnzlTfvn3Vo0cPtWnTxmP/vXv36q233tKUKVNK1XKqG264wa7t9ttv15YtW/Tyyy8rPz9fTqfTflPrZF9//bU2bdrk8WB0165dtWTJEhUVFalZs2ZnPObJhg4dqhtuuEGhoaGlgkGJdu3aKTk5WV9++aWaNGlity9YsEAOh8M+/86dO2vx4sVKSUmpsFtZ11xzjX19mjVrpq1bt2rGjBn29TmTk7/uJfz9/T3WHQ6H/Pz8PIJOZmZmhb+NVeKpp55SQECAnnzyyQsap6Tek6+BZVl6/fXXy+zv7+9f6lqc7hbS4cOH9cQTT2j48OFq2LDhGesYPXq03G633G63hg0bpuHDh6tly5a6/vrrJf3xfTlp0iT9/PPP6tWr17meHkDYAaQ/nicoeQbj999/1/Lly7V69Wr16NFD9evX9+h74MAB7dy5U8XFxdqzZ4/+9a9/KSIiolQ/6Y9/6AcOHKh777231CzAyR544AEtW7ZMAwcO1LZt2zyeaViwYIEaNWqkRx999Kzn8c0338jf318nTpzQrl27tGjRIjVo0MD+Jda1a1c999xzGjdunFq3bq1du3ZpwoQJql+/vsczKL1799abb76pu+66S8OHD9dtt90mX19f7d+/X2vWrFH37t3LfD4kOjpa69evV2BgoKpVq1ZmjX/961+1YMECdenSRRMmTFDdunX1wQcfaNasWRoyZIj9i+2BBx7QvHnz9Oijj2rX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RdUFAABQIcr1gPLRo0c1cOBA1apVS61atVLLli0VGRmpQYMG6dixYxVdIwAAQLmVK+yMGDFC69at03vvvadDhw7p0KFDeuedd7Ru3TqNHDmyomsEAAAot3Ldxlq2bJn+/e9/Kz4+3m676667FBAQoF69emn27NkVVR8AAMAFKdfMzrFjx+RyuUq116xZk9tYAACgUilX2GnevLnGjRun48eP2215eXl69tln1bx58worDgAA4EKV6zbWjBkz1LlzZ1199dW6+eab5XA4tGXLFjmdTq1ataqiawQAACi3coWd2NhY7d69WwsXLtTOnTtlWZZ69+6tvn37KiAgoKJrBAAAKLdyhZ3k5GS5XC498sgjHu1z587VgQMHNHr06AopDgAA4EKV65mdf/7zn7rxxhtLtd9000169dVXL7goAACAilKusJOZmalatWqVao+IiFBGRsYFFwUAAFBRyhV2oqKi9Pnnn5dq//zzzxUZGXnBRQEAAFSUcj2z8/DDDysxMVGFhYVq27atJOmTTz5RUlISn6AMAAAqlXKFnaSkJB08eFAJCQkqKCiQJPn7+2v06NEaM2ZMhRYIAABwIcoVdhwOhyZPnqynn35a3377rQICAhQdHS2n01nR9QEAAFyQcoWdEkFBQbr11lsrqhYAAIAKV64HlAEAAC4XhB0AAGA0wg4AADAaYQcAABiNsAMAAIxG2AEAAEYj7AAAAKMRdgAAgNEIOwAAwGiEHQAAYDTCDgAAMBphBwAAGI2wAwAAjEbYAQAARiPsAAAAoxF2AACA0Qg7AADAaIQdAABgNMIOAAAwGmEHAAAYjbADAACMRtgBAABGI+wAAACjEXYAAIDRCDsAAMBohB0AAGA0wg4AADAaYQcAABiNsAMAAIxG2AEAAEbzathJTk7WrbfequDgYNWsWVP33HOPdu3a5dHHsiyNHz9ekZGRCggIUHx8vHbs2OHRJz8/X8OGDVN4eLgCAwN19913a//+/ZfyVAAAQCXl1bCzbt06DR06VJs3b9bq1at14sQJdezYUUePHrX7TJkyRdOmTdPMmTOVmpoqt9utDh066PDhw3afxMRErVixQkuWLNGGDRt05MgRde3aVUVFRd44LQAAUIn4ePPgK1eu9FifN2+eatasqbS0NLVq1UqWZWnGjBkaO3asevbsKUmaP3++XC6XFi1apMGDBysn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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Построение гистограммы выживших и погибших\n", "sns.countplot(x='Survived', data=train)\n", "plt.title('Выживаемость на Титанике')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 6, "id": "16e5e321-e738-4606-b0dd-1bf619fab970", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHFCAYAAAAOmtghAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA3k0lEQVR4nO3de1wWZf7/8fctRxO5TQTEDRE7GEZmghmeTWM1dVNrPeUpsSK1NNZM176m2HexdE1bFdM8fKk8ZKZtrifWPFB2UBKr1exkQoaKVKCmNwLz+8Pl/nl3gwKSg+Pr+XjM4+Fc93XNfObmbu/3XjNzj80wDEMAAAAWUcPsAgAAAKoS4QYAAFgK4QYAAFgK4QYAAFgK4QYAAFgK4QYAAFgK4QYAAFgK4QYAAFgK4QYAAFgK4QbXvGXLlslms7ksgYGB6tixo9avX292eQCACiLcAP+1dOlSffjhh9q1a5cWLlwoDw8P9ezZU++++67ZpQEAKsDT7AKA6iIyMlLR0dHO9a5du+r666/XihUr1LNnTxMrAwBUBDM3QBl8fX3l7e0tLy8vZ9v3338vm82mmTNnljluypQpstlszvXMzEyFhYXpvvvu07lz55ztHTt2VMeOHZ3r586d03333aewsDBlZWU52202m6ZMmeKyj2nTpslms7mM3759u8upNR8fH914442aPHmyioqKnP1ycnI0cuRINW3aVH5+fgoKCtI999yjtLQ0t2MpKCjQ888/r1tvvVU+Pj4KDAzUww8/rJycHJd+jRo1ks1m06hRo9y20alTJ9lsNvXo0cOlPTMzU4MGDVJQUJB8fHwUERGhv//97youLnbp53A4lJiYqIiICPn6+iogIECdOnXSrl27nO/PxZaS96jk/XnrrbfcaryUkr/7pfZR0WMrTaNGjTRs2DDnelFRkQYNGqTatWvr/fffL3ddF5o6dapatWqlunXryt/fXy1atNDixYtV2nOTly9frpiYGPn5+cnPz0/NmzfX4sWLXfps2rRJnTt3lt1u13XXXaeIiAglJSU5X9+zZ4/69++vRo0aqWbNmmrUqJEGDBigw4cPu2yn5JSwl5eXfvzxR5fXduzY4TyWPXv2XPJ9Ay7EzA3wX0VFRSosLJRhGDp27JhmzJih06dPa+DAgZe13YYNG+rf//632rVrp0GDBmnFihWqUcP1/1cUFxfroYce0qeffqq0tDSFhoaWub3Dhw8rKSlJHh4epb4+b948tWjRQmfOnNHq1as1bdo0+fn5afz48ZKkn376SZL03HPPqX79+jp16pTWrl2rjh07auvWrc4v6uLiYt1///1KS0vT+PHj1bp1ax0+fFjPPfecOnbsqD179qhmzZrO/datW1cpKSlKSkqSv7+/JOk///mPPvjgA+d6iZycHLVu3VoFBQWaNm2aGjVqpPXr12vcuHH69ttvNX/+fElSYWGhunXrprS0NI0dO1b33HOPCgsL9dFHHykzM1OtW7fWhx9+6Nzuv/71Lz3//PN6++23FRISIklu+74cTzzxhNvn4aGHHqrUsZVHcXGxhg4dqnfeeUcbN25U27ZtS+337LPPqnv37pKkV1991S2MfP/993rsscfUsGFDSdJHH32kJ554QkeOHNHkyZOd/SZPnqxp06apT58++stf/iK73a4vvvjCJZQsXrxYjzzyiDp06KAFCxYoKChIX331lb744guX/TVp0kT9+/dX3bp1lZ2dreTkZLVs2VL79+9XvXr1XOrz9/fXggULlJiY6GybO3euAgIClJubW+73C3AygGvc0qVLDUlui4+PjzF//nyXvocOHTIkGTNmzChze88995xR2n9a+/btM66//nojLi7OKC4uNjp06GB06NDBKC4uNoYPH25cf/31xr59+9zGSTKee+4553qvXr2MO++802jXrp3RoUMHZ/u2bdsMSca2bdtcxtepU8fo27dvmfUWFhYa586dMzp37mz07t3b2b5ixQpDkrFmzRqX/rt37zYkubw3YWFhRvfu3Y2mTZsac+bMcbbHx8cbffv2db5eYsKECYYk4+OPP3bZ9uOPP27YbDbj4MGDhmEYRkpKiiHJWLRoUZn1X6jkb3no0CG310ren9WrV5drWxe62N/9tttuc/k7lPfYyhIWFmYMHTrUKCoqMgYNGmT4+fkZaWlppfY9ePCgIcl47bXXnG1lff5KFBUVGefOnTMSExONgIAAo7i42DAMw/juu+8MDw8P46GHHipz7MmTJw1/f3+jbdu2znHlUVhYaJw6dcqoVauWy+ej5O/19NNPG8HBwYbD4TAMwzB++OEHw8vLy3j66acNScbu3bvLvS/AMAyD01LAf6WkpGj37t3avXu3Nm7cqKFDh2rUqFGaO3euW9/i4mIVFhaW6zRDiWbNmmn69OlavHix/vKXvzjbExIStGTJEk2fPl3NmjW76DY2bdqkd955R/PmzXOb/SlRMgN18uRJLV68WL/88os6d+7s0mfBggVq0aKFfH195enpKS8vL23dulUHDhxw9lm/fr3q1Kmjnj17qrCw0Lk0b95c9evX1/bt2932PXr0aM2bN0+GYSgvL0+vvfZaqaeq3nvvPTVt2lR33XWXS/uwYcNkGIbee+89SdLGjRvl6+ur4cOHX/R9qYjK/O0qorzHdqkahw0bptdff10vvPBCmTM2Z86ckXT+FOqlaurSpYvsdrs8PDzk5eWlyZMnKzc3V8ePH5ckpaamqqioqNS/V4ldu3YpPz9fI0eOdDv1daFTp07pmWee0U033SRPT095enrKz89Pp0+fdvmMlejTp488PT21evVqSVJycrLatm2rpk2bXvS4gLIQboD/ioiIUHR0tKKjo9W1a1e98sorio2N1fjx4/XLL7+49H3mmWfk5eUlDw8P1atXTz169NC+ffsuuv1ff/1VM2bMUMuWLZWcnKwPP/xQH374oRYsWKCWLVtqxowZ+vXXX8sc73A49OSTT2rYsGGKiYkps1+XLl3k5eUlf39/jRgxQnFxcYqLi3O+PmvWLD3++ONq1aqV1qxZo48++ki7d+9W165dnV+WknTs2DH98ssvzuuOLlyOHj2qEydOuO17yJAhOnbsmLZs2aKlS5fqxhtvVPv27d365ebmOk8bXahBgwbO16Xzp3gaNGhQZpCrjH79+snLy0uenp4KDg5W//799f3331fZ9st7bBezatUqrV27VtHR0Zo5c6by8/NL7VfyN/jtaZ4LffLJJ4qNjZUkLVq0SB988IF2796tSZMmSfr/AankOqobbrihzG2Vp48kDRw4UHPnztWIESO0efNmffLJJ9q9e7cCAwNdPmMlPD09FR8fr7lz56qgoECLFi3S6NGjL7oP4GK45ga4iGbNmmnz5s366quvXP6f+JgxYzRo0CAVFxfr0KFDevbZZ9WlSxe3iyIv9Mwzz+inn37Szp07tWfPHvXp00eStGbNGkVFRSkyMlITJkzQyy+/XOr4mTNnKicnRy+88MJFa16wYIGioqJUWFioL7/8Us8884zy8/P15ptvSpJef/11dezYUcnJyS7jTp486bJer149BQQEaNOmTaXup3bt2m5ttWrV0rBh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OjpaL774ov7whz/olltu0bhx43TmzJkrUTIAALgKmDZzc+LECRUVFSk4ONilPTg4WEePHi11zHfffaf3339fvr6+Wrt2rU6cOKGRI0fqp59+KvO6G4fDIYfD4VzPz8+vuoMAAADVjukXFNtsNpd1wzDc2koUFxfLZrPpjTfe0F133aX77rtPs2bN0rJly8qcvUlKSpLdbncuoaGhVX4MAACg+jAt3NSrV08eHh5uszTHjx93m80pERISoj/84Q+y2+3OtoiICBmGoR9++KHUMRMnTlReXp5zycrKqrqDAAAA1Y5p4cbb21tRUVFKTU11aU9NTVXr1q1LHdOmTRv9+OOPOnXqlLPtq6++Uo0aNXTDDTeUOsbHx0f+/v4uCwAAsC5TT0slJCTo1Vdf1ZIlS3TgwAE99dRTyszMVHx8vKTzsy5Dhgxx9h84cKACAgL08MMPa//+/dq5c6eefvppDR8+XDVr1jTrMAAAQDVi6q3g/fr1U25urhITE5Wdna3IyEht2LBBYWFhkqTs7GxlZmY6+/v5+Sk1NVVPPPGEoqOjFRAQoL59++r555836xAAAEA1YzMMwzC7iCspPz9fdrtdeXl5l3WKKurplCqs6urj/8VbqlFwWpJU7F1L+ZEPmlyRudJnDLl0JwBApVXk+9v0u6UAAACqEuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYiqnPlsLVq9irVqn/BgDAbIQbVMqpJt3MLgEAgFJxWgoAAFgK4QYAAFgK4QYAAFgK4QYAAFgK4QYAAFgK4QYAAFgK4QYAAFgK4QYAAFgKP+IHwBLGjBmjnJwcSVJgYKDmzJljckUAzEK4AWAJOTk5OnbsmNllAKgGOC0FAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAsxfRwM3/+fIWHh8vX11dRUVFKS0srs+/27dtls9ncli+//PIKVgwAAKozU8PNqlWrNHbsWE2aNEl79+5Vu3bt1K1bN2VmZl503MGDB5Wdne1cbr755itUMQAAqO5MDTezZs1SXFycRowYoYiICM2ePVuh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Pn26HnvsMbMOAQAAVDM2wzAMs4u4kvLz82W325WXl3dZp6iink6pwqpwtUufMcTsEpSZeLvZJaCaaTj5c7NLAKpMRb6/TbvmBgAA4PdAuAEAAJZi6jU3AABY2ZgxY5STkyPp/A/hzpkzx+SKrg2EGwAAfic5OTk6duyY2WVcczgtBQAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALIVwAwAALMXT7AIAANbV5h9tzC7BVD75PrLJJkk6mn/0mn8/PnjigyuyH2ZuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApZgebubPn6/w8HD5+voqKipKaWlpZfZ9++23de+99yowMFD+/v6KiYnR5s2br2C1AACgujM13KxatUpjx47VpEmTtHfvXrVr107dunVTZmZmqf137type++9Vxs2bFB6ero6deqknj17au/evVe4cgAAUF2ZGm5mzZqluLg4jRgxQhEREZo9e7ZCQ0OVnJxcav/Zs2dr/PjxatmypW6++Wb97W9/080336x33333ClcOAACqK9PCTUFBgdLT0xUbG+vSHhsbq127dpVrG8XFxTp58qTq1q37e5QIAACuQp5m7fjEiRMqKipScHCwS3twcLCOHj1arm38/e9/1+nTp9W3b98y+zgcDjkcDud6fn5+5QoGAKCCjJpGqf/G78u0cFPCZrO5rBuG4dZWmhUrVmjKlCl65513FBQUVGa/pKQkTZ069bLrBACgograF5hdwjXJtNNS9erVk4eHh9sszfHjx91mc35r1apViouL05tvvqkuXbpctO/EiROVl5fnXLKysi67dgAAUH2ZFm68vb0VFRWl1NRUl/bU1FS1bt26zHErVqzQsGHDtHz5cnXv3v2S+/Hx8ZG/v7/LAgAArMvU01IJCQkaPHiwoqOjFRMTo4ULFyozM1Px8fGSzs+6HDlyRCkpKZLOB5shQ4Zozpw5uvvuu52zPjVr1pTdbjftOAAAQPVharjp16+fcnNzlZiYqOzsbEVGRmrDhg0KCwuTJGVnZ7v85s0rr7yiwsJCjRo1SqNGjXK2Dx06VMuWLbvS5QMAgGrI9AuKR44cqZEjR5b62m8Dy/bt23//ggAAwFXN9McvAAAAVCXCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTTw838+fMVHh4uX19fRUVFKS0trcy+2dnZGjhwoJo0aaIaNWpo7NixV65QAABwVTA13KxatUpjx47VpEmTtHfvXrVr107dunVTZmZmqf0dDocCAwM1adIk3XHHHVe4WgAAcDUwNdzMmjVLcXFxGjFihCIiIjR79myFhoYqOTm51P6NGjXSnDlzNGTIENnt9itcLQAAuBqYFm4KCgqUnp6u2NhYl/bY2Fjt2rXLpKoAAMDVztOsHZ84cUJFRUUKDg52aQ8ODtbRo0erbD8Oh0MOh8O5np+fX2XbBgAA1Y/pFxTbbDaXdcMw3NouR1JSkux2u3MJDQ2tsm0DAIDqx7RwU69ePXl4eLjN0hw/ftxtNudyTJw4UXl5ec4lKyuryrYNAACqH9PCjbe3t6KiopSamurSnpqaqtatW1fZfnx8fOTv7++yAAAA6zLtmhtJSkhI0ODBgxUdHa2YmBgtXLhQmZmZio+Pl3R+1uXIkSNKSUlxjsnIyJAknTp1Sjk5OcrIyJC3t7eaNm1qxiEAAIBqxtRw069fP+Xm5ioxMVHZ2dmKjIzUhg0bFBYWJun8j/b99jdv7rzzTue/09PTtXz5coWFhen777+/kqUDAIBqytRwI0kjR47UyJEjS31t2bJlbm2GYfzOFQEAgKuZ6XdLAQAAVCXCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTTw838+fMVHh4uX19fRUVFKS0t7aL9d+zYoaioKPn6+qpx48ZasGDBFaoUAABcDUwNN6tWrdLYsWM1adIk7d27V+3atVO3bt2UmZlZav9Dhw7pvvvuU7t27bR371799a9/1ZNPPqk1a9Zc4coBAEB1ZWq4mTVrluLi4jRixAhFRERo9uzZCg0NVXJycqn9FyxYoIYNG2r27NmKiIjQiBEjNHz4cM2cOfMKVw4AAKor08JNQUGB0tPTFRsb69IeGxurXbt2lTrmww8/dOv/xz/+UXv27NG5c+d+t1oBAMDVw9OsHZ84cUJFRUUKDg52aQ8ODtbRo0dLHXP06NFS+xcWFurEiRMKCQlxG+NwOORwOJzreXl5kqT8/PzLqr/IceayxsNaLvfzVBVOni0yuwRUM9Xhc1l4ptDsElCNXM5nsmSsYRiX7GtauClhs9lc1g3DcGu7VP/S2kskJSVp6tSpbu2hoaEVLRUok/0f8WaXALhLsptdAeDC/szlfyZPnjwpu/3i2zEt3NSrV08eHh5uszTHjx93m50pUb9+/VL7e3p6KiAgoNQxEydOVEJCgnO9uLhYP/30kwICAi4aonBp+fn5Cg0NVVZWlvz9/c0uB+AziWqJz2XVMAxDJ0+eVIMGDS7Z17Rw4+3traioKKWmpqp3797O9tTUVN1///2ljomJidG7777r0rZlyxZFR0fLy8ur1DE+Pj7y8fFxaatTp87lFQ8X/v7+/AeLaoXPJKojPpeX71IzNiVMvVsqISFBr776qpYsWaIDBw7oqaeeUmZmpuLjz0/xT5w4UUOGDHH2j4+P1+HDh5WQkKADBw5oyZIlWrx4scaNG2fWIQAAgGrG1Gtu+vXrp9zcXCUmJio7O1uRkZHasGGDwsLCJEnZ2dkuv3kTHh6uDRs26KmnntK8efPUoEEDvfzyy3rggQfMOgQAAFDN2IzyXHYMlMLhcCgpKUkTJ050O/UHmIHPJKojPpdXHuEGAABYiunPlgIAAKhKhBsAAGAphBsAAGAphBsAAGAphBtU2M6dO9WzZ081aNBANptN69atM7skXOOSkpLUsmVL1a5dW0FBQerVq5cOHjxodlm4hiUnJ6tZs2bOH+6LiYnRxo0bzS7rmkG4QYWdPn1ad9xxh+bOnWt2KYAkaceOHRo1apQ++ugjpaamqrCwULGxsTp9+rTZpeEadcMNN2j69Onas2eP9uzZo3vuuUf333+//vOf/5hd2jWBW8FxWWw2m9auXatevXqZXQrglJOTo6CgIO3YsUPt27c3uxxAklS3bl3NmDFDcXFxZpdieaY/FRwAqlpeXp6k818mgNmKioq0evVqnT59WjExMWaXc00g3ACwFMMwlJCQoLZt2yoyMtLscnAN+/zzzxUTE6OzZ8/Kz89Pa9euVdOmTc0u65pAuAFgKaNHj9Znn32m999/3+xScI1r0qSJMjIy9Msvv2jNmjUaOnSoduzYQcC5Agg3ACzjiSee0D//+U/t3LlTN9xwg9nl4Brn7e2tm266SZIUHR2t3bt3a86cOXrllVdMrsz6CDcArnqGYeiJJ57Q2rVrtX37doWHh5tdEuDGMAw5HA6zy7gmEG5QYadOndI333zjXD906JAyMjJUt25dNWzY0MTKcK0aNWqUli9frnfeeUe1a9fW0aNHJUl2u101a9Y0uTpci/7617+qW7duCg0N1cmTJ7Vy5Upt375dmzZtMru0awK3gqPCtm/frk6dOrm1Dx06VMuWLbvyBeGaZ7PZSm1funSphg0bdmWLASTFxcVp69atys7Olt1uV7NmzfTMM8/o3nvvNbu0awLhBgAAWAq/UAwAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAPgqjVs2DD16tXL7DIAVDOEGwCmGjZsmGw2m2w2m7y8vNS4cWONGzdOp0+fNrs0AFcpni0FwHRdu3bV0qVLde7cOaWlpWnEiBE6ffq0kpOTzS4NwFWImRsApvPx8VH9+vUVGhqqgQMH6qGHHtK6deskSf/5z3/UvXt3+fv7q3bt2mrXrp2+/fbbUrezadMmtW3bVnXq1FFAQIB69Ojh0regoECjR49WSEiIfH191ahRIyUlJTlfnzJliho2bCgfHx81aNBATz755O963AB+H8zcAKh2atasqXPnzunIkSNq3769OnbsqPfee0/+/v764IMPVFhYWOq406dPKyEhQbfffrtOnz6tyZMnq3fv3srIyFCNGjX08ssv65///KfefPNNNWzYUFlZWcrKypIkvfXWW3rppZe0cuVK3XbbbTp69Kj27dt3JQ8bQBUh3ACoVj755BMtX75cnTt31rx582S327Vy5Up5eXlJkm655ZYyxz7wwAMu64sXL1ZQUJD279+vyMhIZWZm6uabb1bbtm1ls9kUFhbm7JuZman69eurS5cu8vLyUsOGDXXXXXf9PgcJ4HfFaSkAplu/fr38/Pzk6+urmJgYtW/fXv/4xz+UkZGhdu3aOYPNpXz77bcaOHCgGjduLH9/f4WHh0s6H1yk8xcvZ2RkqEmTJnryySe1ZcsW59g///nPOnPmjBo3bqxHHnlEa9euLXOGCED1RrgBYLpOnTopIyNDBw8e1NmzZ/X2228rKChINWvWrNB2evbsqdzcXC1atEgff/yxPv74Y0nnr7WRpBYtWujQoUOaNm2azpw5o759++rBBx+UJIWGhurgwYOaN2+eatasqZEjR6p9+/Y6d+5c1R4sgN8d4QaA6WrVqqWbbrpJYWFhLrM0zZo1U1paWrkCRm5urg4cOKBnn31WnTt3VkREhH7++We3fv7+/urXr58WLVqkVatWac2aNfrpp58knb/W509/+pNefvllbd++XR9++KE+//zzqjtQAFcE19wAqLZGjx6tf/zjH+rfv78mTpwou92ujz76SHfddZeaNGni0vf6669XQECAFi5cqJCQEGVmZmrChAkufV566SWFhISoefPmqlGjhlavXq369eurTp06WrZsmYqKitSqVStdd911eu2111SzZk2X63IAXB2YuQFQbQUEBOi9997TqVOn1KFDB0VFRWnRokWlXoNTo0YNrVy5Uunp6YqMjNRTTz2lGTNmuPTx8/PTCy+8oOjoaLVs2VLff/+9NmzYoBo1aqhOnTpatGiR2rRpo2bNmmnr1q169913FRAQcKUOF0AVsRmGYZhdBAAAQFVh5gYAAFgK4QYAAFgK4QYAAFgK4QYAAFgK4QYAAFgK4QYAAFgK4QYAAFgK4QYAAFgK4QYAAFgK4QYAAFgK4QYAAFgK4QYAAFjK/wOjciIexYlFKgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Построение гистограммы по классам\n", "sns.barplot(x='Pclass', y='Survived', data=train)\n", "plt.title('Выживаемость по классам')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 21, "id": "1bdde2bc-d842-4eab-a217-f5a2ed5537e9", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/tmp/ipykernel_7201/3630563121.py:2: FutureWarning: The default value of numeric_only in DataFrame.corr is deprecated. In a future version, it will default to False. Select only valid columns or specify the value of numeric_only to silence this warning.\n", " corr_matrix = train.corr()\n" ] }, { "data": { "image/png": "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nR1atmwJY2NjBAUFSe8GJCIiIvnYU1XCpaWlwcLCAkDuA4bfLfZZvXp1XLlyRczQiIiIihUmVSWcq6srIiMjAQC1atXCihUr8PjxYyxfvhzW1tYiR0dERFR8cEmFEm7jxo3IzMyEv78/rl69ilatWiEpKQk6OjoIDg5G9+7dxQ6RiIioWGBSVUK9fv0aY8eORUhICDIzM9GiRQssWrRI5lmA5ubmYodJRERUbDCpKqHGjh2LpUuXolevXtDX18emTZvQtGlTbN++XezQiIiIiiUmVSWUk5MTpk+fjh49egAALl68iIYNG+Lt27fQ1NQUOToiIqLih0lVCaWjo4Po6GiUL19eWqavr487d+7AxsZGxMiIiIiKJ979V0JlZ2dDR0dHpkxLSwtZWVkiRURERFS8cfHPEkoQBPj7+0NXV1da9vbtWwwZMgQGBgbSsl27dokRHhERUbHDpKqE6tu3b56yb775RoRIiIiI1APnVBEREREpAedUERERESkBkyoiIiIiJWBSRURERKQETKqIiIiIlIBJFREREZESMKkiIiIiUgImVURERERK8D8gPHl0ezu1mAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Построение матрицы корреляции\n", "corr_matrix = train.corr()\n", "sns.heatmap(corr_matrix, annot=True, cmap='coolwarm')\n", "plt.title('Матрица корреляции')\n", "plt.show()\n", "\n", "# Матрица показывает, что явной корреляции между элементами не имеется." ] }, { "cell_type": "code", "execution_count": 26, "id": "595a8bdd-9699-496a-8810-e94f66d406e0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "T-статистика: 3.178614052332485, p-значение: 0.0015954656668372637\n" ] } ], "source": [ "# t-test\n", "\n", "from scipy.stats import ttest_ind\n", "\n", "group1 = train[train['Pclass'] == 1]['Survived']\n", "group2 = train[train['Pclass'] == 2]['Survived']\n", "\n", "t_stat, p_value = ttest_ind(group1, group2)\n", "print(f'T-статистика: {t_stat}, p-значение: {p_value}')" ] }, { "cell_type": "code", "execution_count": 28, "id": "a8ae9118-a267-414b-8bed-8ea74fc8ea8a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Хи-квадрат статистика: 102.88898875696056, p-значение: 4.549251711298793e-23\n" ] } ], "source": [ "# Хи-квадрат\n", "\n", "from scipy.stats import chi2_contingency\n", "\n", "contingency_table = pd.crosstab(train['Pclass'], train['Survived'])\n", "\n", "chi2_stat, p_value, _, _ = chi2_contingency(contingency_table)\n", "print(f'Хи-квадрат статистика: {chi2_stat}, p-значение: {p_value}')" ] }, { "cell_type": "code", "execution_count": 31, "id": "007f2b1c-c93b-4b8b-b550-d0df90897a0e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "F-статистика: 57.964817590910116, p-значение: 2.1832474151179777e-24\n" ] } ], "source": [ "# ANOVA\n", "\n", "from scipy.stats import f_oneway\n", "\n", "class1 = train[train['Pclass'] == 1]['Survived']\n", "class2 = train[train['Pclass'] == 2]['Survived']\n", "class3 = train[train['Pclass'] == 3]['Survived']\n", "\n", "f_stat, p_value = f_oneway(class1, class2, class3)\n", "print(f'F-статистика: {f_stat}, p-значение: {p_value}')" ] }, { "cell_type": "code", "execution_count": 24, "id": "9ec2c264-344a-4f47-88e6-926855779c23", "metadata": {}, "outputs": [], "source": [ "# Проверка пропущенных значений\n", "train.isnull().sum()\n", "\n", "# Обработка пропущенных значений (например, заполнение средними значениями)\n", "train['Age'].fillna(train['Age'].mean(), inplace=True)" ] }, { "cell_type": "code", "execution_count": 7, "id": "b913858e-4503-419e-abc7-4614129616a7", "metadata": {}, "outputs": [], "source": [ "# Выделение целевой колонки и колонки параметров\n", "columns_target = ['Survived']\n", "columns_train = ['Pclass', 'Sex', 'Age', 'Fare']" ] }, { "cell_type": "code", "execution_count": 8, "id": "a1e6b5a7-002b-4903-8c9a-47fd4d94179c", "metadata": {}, "outputs": [], "source": [ "# Получается красиво, прям как на той теории\n", "X = train[columns_train]\n", "Y = train[columns_target]" ] }, { "cell_type": "code", "execution_count": 9, "id": "c2dd3353-a663-47e9-895a-91cd0b9a802c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pclass: 0; \n", "Sex: 0; \n", "Age: 177; \n", "Fare: 0; \n" ] } ], "source": [ "# Проверка данных на валидность\n", "for column in columns_train:\n", " print(f\"{column}: {X[column].isnull().sum()}; \")" ] }, { "cell_type": "code", "execution_count": 10, "id": "181eab63-2b36-4c07-84ca-695862395333", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/tmp/ipykernel_7201/4142239557.py:6: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", " X['Age'] = X['Age'].fillna(X['Age'].median())\n" ] } ], "source": [ "# Корректировка данных\n", "\n", "# Заметили, что у Age много пустых значений, но удалить эти записи может быть не совсем правильным\n", "# ибо это может повлиять на выборку, поэтому мы просто заполним их медианными значениями по возрасту\n", "\n", "X['Age'] = X['Age'].fillna(X['Age'].median())" ] }, { "cell_type": "code", "execution_count": 11, "id": "851a570f-7e58-427b-86df-683ad463e308", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pclass: 0; \n", "Sex: 0; \n", "Age: 0; \n", "Fare: 0; \n" ] } ], "source": [ "# Проверка данных на валидность\n", "for column in columns_train:\n", " print(f\"{column}: {X[column].isnull().sum()}; \")" ] }, { "cell_type": "code", "execution_count": 12, "id": "244eadb7-633a-4d36-b72d-430cc25c0cf4", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/tmp/ipykernel_7201/4159695936.py:3: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", " X['Sex'] = X['Sex'].apply(lambda x:d[x])\n" ] } ], "source": [ "# Корректировка данных (замена значений категориальных значений числовыми вместо строк)\n", "d={'male':1, 'female':0}\n", "X['Sex'] = X['Sex'].apply(lambda x:d[x])" ] }, { "cell_type": "code", "execution_count": 13, "id": "ecd37e6d-2646-40be-8490-ad5220b63ef3", "metadata": {}, "outputs": [], "source": [ "# Разделение выборки на обучающую и тестовую\n", "from sklearn.model_selection import train_test_split\n", "X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.33, random_state=42, shuffle=False)" ] }, { "cell_type": "code", "execution_count": 14, "id": "42154582-dfb4-4518-86cc-395d7fa378f5", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pclass: 2057; \n", "Sex: 577; \n", "Age: 26161.17; \n", "Fare: 28693.9493; \n", "Pclass: 2057; \n", "Sex: 577; \n", "Age: 26161.17; \n", "Fare: 28693.9493; \n" ] } ], "source": [ "check(X_train)\n", "check(X_test)" ] }, { "cell_type": "code", "execution_count": 15, "id": "e73c6614-d395-4ee2-9a53-dcd85575d69a", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/lib/python3.11/site-packages/sklearn/utils/validation.py:1183: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", " y = column_or_1d(y, warn=True)\n", "/usr/lib/python3.11/site-packages/sklearn/svm/_classes.py:32: FutureWarning: The default value of `dual` will change from `True` to `'auto'` in 1.5. Set the value of `dual` explicitly to suppress the warning.\n", " warnings.warn(\n", "/usr/lib/python3.11/site-packages/sklearn/svm/_base.py:1250: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n", " warnings.warn(\n" ] }, { "data": { "text/html": [ "
LinearSVC()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "LinearSVC()" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn import svm\n", "predmodel = svm.LinearSVC()\n", "predmodel.fit(X_train, Y_train)" ] }, { "cell_type": "code", "execution_count": 16, "id": "21651a18-0919-4486-83e0-41b26c52428f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.6779661016949152" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Проверяем точность предсказаний\n", "predmodel.score(X_test, Y_test)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.11.5" } }, "nbformat": 4, "nbformat_minor": 5 }