{ "cells": [ { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "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", "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS
\n", "
" ], "text/plain": [ " PassengerId Survived Pclass \\\n", "0 1 0 3 \n", "1 2 1 1 \n", "2 3 1 3 \n", "\n", " Name Sex Age SibSp \\\n", "0 Braund, Mr. Owen Harris male 22.0 1 \n", "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 \n", "2 Heikkinen, Miss. Laina female 26.0 0 \n", "\n", " Parch Ticket Fare Cabin Embarked \n", "0 0 A/5 21171 7.2500 NaN S \n", "1 0 PC 17599 71.2833 C85 C \n", "2 0 STON/O2. 3101282 7.9250 NaN S " ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "\n", "titanic_df = pd.read_csv('/Users/t2024-m0188/Desktop/ML/titanic/train.csv')\n", "titanic_df.head(3)" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "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", "
Survived01
Sex
female81233
male468109
\n", "
" ], "text/plain": [ "Survived 0 1\n", "Sex \n", "female 81 233\n", "male 468 109" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#가설: 비상상황특성상 여성을 배려해서 많이 생존\n", "#Privot Table 만들어 확인\n", "#그래프 통해서 확인\n", "#aggfunc = size: 갯수를 다 세줌\n", "\n", "#피벗테이블 만들기\n", "\n", "pd.pivot_table(titanic_df, index = 'Sex', columns = 'Survived', aggfunc = 'size')" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "891" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 정확도: 맞춘개수/전체 데이터\n", "# 생존을 맞춤\n", "# 여성은 다 살았고, 남성은 다 죽었다\n", "\n", "len(titanic_df)" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "52.52525252525253" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 정확도: 맞춘개수/전체 데이터\n", "# 78%\n", "\n", "(468)/891*100" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAGwCAYAAABPSaTdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAApzklEQVR4nO3de3SU9Z3H8c/kSkIyiQGSkJIgiAWyXISgMJZFjIGASEEiAk0xKGI3BCykAo2LQdFtuFRBKUqLi+AWFhc50AoLQiNEhMglCiIKRRo22UNuYpNAMBeS2T9aZp1yEcIkM/nxfp0z5zDP88wz3yeeMe/zzDMTi91utwsAAMBQXu4eAAAAoCkROwAAwGjEDgAAMBqxAwAAjEbsAAAAoxE7AADAaMQOAAAwmo+7B/AEDQ0NOnPmjIKDg2WxWNw9DgAAuA52u13nzp1TVFSUvLyufv6G2JF05swZRUdHu3sMAADQCIWFherQocNV1xM7koKDgyX97YdltVrdPA0AALgelZWVio6OdvwevxpiR3K8dWW1WokdAABamO+7BIULlAEAgNGIHQAAYDRiBwAAGI1rdgAA8AANDQ2qra119xgexdfXV97e3je9H2IHAAA3q62tVX5+vhoaGtw9iscJDQ1VZGTkTX0PHrEDAIAb2e12FRUVydvbW9HR0df8crxbid1u14ULF1RaWipJat++faP3RewAAOBGFy9e1IULFxQVFaXAwEB3j+NRAgICJEmlpaUKDw9v9Fta5CMAAG5UX18vSfLz83PzJJ7pUgDW1dU1eh/EDgAAHoC/zXhlrvi5EDsAAMBoxA4AADAasQMAAC6ze/duWSwWlZeXN+nzTJo0SaNHj27S5yB2AADwYGVlZUpNTVVMTIz8/f0VGRmpxMRE7d27t0mf995771VRUZFCQkKa9HmaAx89BwDAgyUlJam2tlZr1qxR586dVVJSouzsbJ09e7ZR+7Pb7aqvr5ePz7UTwM/PT5GRkY16Dk/DmR0AADxUeXm59uzZo4ULF+r+++9Xx44ddc899ygjI0M//vGPdfr0aVksFh0+fNjpMRaLRbt375b0/29Hbdu2TXFxcfL399eqVatksVh0/Phxp+dbsmSJ7rjjDqfHlZeXq7KyUgEBAdq2bZvT9ps2bVJwcLAuXLggSSosLNSjjz6q0NBQhYWFadSoUTp9+rRj+/r6eqWnpys0NFRt2rTR7NmzZbfbXf+D+wec2WkmcbPedvcI+I68xY+5ewQA+F5BQUEKCgrS5s2bNWDAAPn7+zd6X7/85S/161//Wp07d9Ztt92mlStXau3atXrxxRcd26xdu1Y/+clPLnus1WrVQw89pHXr1mn48OFO248ePVqBgYGqq6tTYmKibDab9uzZIx8fH7300ksaNmyYPvvsM/n5+enll1/W6tWrtWrVKnXv3l0vv/yyNm3apPj4+EYf1/XgzA4AAB7Kx8dHq1ev1po1axQaGqof/ehHevbZZ/XZZ5/d8L7mz5+vIUOG6I477lBYWJiSk5P1n//5n471f/7zn5WXl6fk5OQrPj45OVmbN292nMWprKzU1q1bHdu/8847amho0JtvvqmePXuqe/fueuutt1RQUOA4y7R06VJlZGRozJgx6t69u1asWNEs1wQROwAAeLCkpCSdOXNGf/zjHzVs2DDt3r1bffv21erVq29oP/369XO6P378eJ0+fVoff/yxpL+dpenbt6+6det2xcc/+OCD8vX11R//+EdJ0saNG2W1WpWQkCBJOnLkiL766isFBwc7zkiFhYWpurpap06dUkVFhYqKitS/f3/HPn18fC6bqykQOwAAeLhWrVppyJAheu6557Rv3z5NmjRJ8+bNc/zR0O9e93K1P6vQunVrp/uRkZGKj4/XunXrJEnr1q276lkd6W8XLD/yyCNO248bN85xofP58+cVFxenw4cPO93+/Oc/X/GtseZE7AAA0MLExsaqqqpK7dq1kyQVFRU51n33YuXvk5ycrHfeeUe5ubn6y1/+ovHjx3/v9tu3b9exY8f0wQcfOMVR3759dfLkSYWHh6tLly5Ot5CQEIWEhKh9+/bav3+/4zEXL15UXl7edc/bWMQOAAAe6uzZs4qPj9fvf/97ffbZZ8rPz9eGDRu0aNEijRo1SgEBARowYIAWLFigL7/8Ujk5OZo7d+5173/MmDE6d+6cUlNTdf/99ysqKuqa2w8aNEiRkZFKTk5Wp06dnN6SSk5OVtu2bTVq1Cjt2bNH+fn52r17t55++mn97//+ryTp5z//uRYsWKDNmzfr+PHjmjp1apN/aaFE7AAA4LGCgoLUv39/LVmyRIMGDVKPHj303HPPacqUKfrNb34jSVq1apUuXryouLg4zZgxQy+99NJ17z84OFgjR47U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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 피벗테이블 시각화하기\n", "#hue: 버례\n", "\n", "import seaborn as sns\n", "sns.countplot(titanic_df, x = 'Sex', hue = 'Survived')" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [], "source": [ "#############로지스틱회궤 실습" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [], "source": [ "from sklearn.linear_model import LogisticRegression" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "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", "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS
3411Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01011380353.1000C123S
4503Allen, Mr. William Henrymale35.0003734508.0500NaNS
\n", "
" ], "text/plain": [ " PassengerId Survived Pclass \\\n", "0 1 0 3 \n", "1 2 1 1 \n", "2 3 1 3 \n", "3 4 1 1 \n", "4 5 0 3 \n", "\n", " Name Sex Age SibSp \\\n", "0 Braund, Mr. Owen Harris male 22.0 1 \n", "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 \n", "2 Heikkinen, Miss. Laina female 26.0 0 \n", "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 \n", "4 Allen, Mr. William Henry male 35.0 0 \n", "\n", " Parch Ticket Fare Cabin Embarked \n", "0 0 A/5 21171 7.2500 NaN S \n", "1 0 PC 17599 71.2833 C85 C \n", "2 0 STON/O2. 3101282 7.9250 NaN S \n", "3 0 113803 53.1000 C123 S \n", "4 0 373450 8.0500 NaN S " ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#titancic에서 사용 용이한 데이터들\n", "#숫자: age, sibsp, parch, fare\n", "#범주: pclass, sex, cabin, embarked\n", "#x변수 1개, y변수 survived\n", "\n", "\n", "titanic_df.head()" ] }, { "cell_type": "code", "execution_count": 46, "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" ] } ], "source": [ "#info: 데이터의 전체갯수와 결측치\n", "titanic_df.info()" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [], "source": [ "#X변수 fair, y변수 survivied\n", "#[[]]해야 에러 안 남\n", "x_1 = titanic_df[['Fare']]\n", "y_true = titanic_df[['Survived']]" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/t2024-m0188/Library/Python/3.9/lib/python/site-packages/sklearn/utils/validation.py:1339: 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" ] }, { "data": { "text/html": [ "
LogisticRegression()
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": [ "LogisticRegression()" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model_lor = LogisticRegression()\n", "model_lor.fit(x_1, y_true)" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [], "source": [ "#이상적인 로스틱회귀 그림이 되는지는 산점도를 보면 됨" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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VV5engoLC0P2Of/881VUVBT409Xnn3+uN954QxMnTmxxP/n5+UpOTg7csrKyInsgAACgW7FHa8dHjhyRz+dTRkZG0PKMjAzt2rUrZJ+f/OQnOnLkiMaNGyfDMFRXV6ebbrqp1T9LzZs3T3PmzAk8bvjkBgAAmFPUTyjuiA0bNmjRokX6z//8T23dulUvv/yy1q5dq/vvv7/FPk6nUy6XK+gGAADMK2qf3KSlpclms6m0tDRoeWlpqTIzM0P2mT9/vn7605/qZz/7mSRpyJAhqqys1C9+8Qvdfffdslp7VFYDAACdIGppwOFwaOTIkUEnB/v9fhUUFCg3Nzdkn6qqqmYBxmazSZKieF40AADoRqL2yY0kzZkzRzNmzNCoUaM0ZswYLV26VJWVlZo5c6Ykafr06erXr5/y8/MlSZMmTdIjjzyiESNGKCcnR3v37tX8+fM1adKkQMgBAADfblENN1OnTtVXX32lBQsWqKSkRMOHD9e6desCJxkXFxcHfVJzzz33yGKx6J577tGBAwd0yimnaNKkSXrwwQejdQgAAKCbieo8N9HQkevkAQBA99Aj5rkBAADoDIQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKoQbAABgKlEPN8uXL9eAAQMUGxurnJwcbdmypdX2x48f16xZs9SnTx85nU6dccYZeuONN7qoWgAA0N3Zo7nz1atXa86cOVqxYoVycnK0dOlSTZgwQbt371Z6enqz9l6vV5deeqnS09P10ksvqV+/fvryyy+VkpLS9cUDAIBuyWIYhhGtnefk5Gj06NFatmyZJMnv9ysrK0u33nqr5s6d26z9ihUr9NBDD2nXrl2KiYlp1z48Ho88Hk/gsdvtVlZWlsrKyuRyuSJzIAAAoFO53W4lJye36/07an+W8nq9KioqUl5e3jfFWK3Ky8tTYWFhyD6vvfaacnNzNWvWLGVkZGjw4MFatGiRfD5fi/vJz89XcnJy4JaVlRXxYwEAAN1H1MLNkSNH5PP5lJGREbQ8IyNDJSUlIft8/vnneumll+Tz+fTGG29o/vz5evjhh/XAAw+0uJ958+aprKwscNu/f39EjwMAAHQvUT3npqP8fr/S09P1X//1X7LZbBo5cqQOHDighx56SAsXLgzZx+l0yul0dnGlAAAgWqIWbtLS0mSz2VRaWhq0vLS0VJmZmSH79OnTRzExMbLZbIFl3/3ud1VSUiKv1yuHw9GpNQMAgO4van+WcjgcGjlypAoKCgLL/H6/CgoKlJubG7LP2LFjtXfvXvn9/sCyzz77TH369CHYAAAASVGe52bOnDlauXKlnnnmGX366ae6+eabVVlZqZkzZ0qSpk+frnnz5gXa33zzzfr6669122236bPPPtPatWu1aNEizZo1K1qHAAAAupmonnMzdepUffXVV1qwYIFKSko0fPhwrVu3LnCScXFxsazWb/JXVlaW/va3v+n222/X0KFD1a9fP91222266667onUIAACgm2n3PDc/+MEP2r3Rl19+OeyCOltHrpMHAADdQ6fMc9N4rhiXy6WCggJ9+OGHgfVFRUUqKChQcnJy+JUDAACcpHb/Weqpp54K3L/rrrv0ox/9SCtWrAhcueTz+XTLLbfwaQgAAIiqsL5+4ZRTTtGmTZt05plnBi3fvXu3zj//fB09ejRiBUYaf5YCAKDn6fSvX6irq9OuXbuaLd+1a1fQZdoAAABdLayrpWbOnKkbb7xR//rXvzRmzBhJ0ubNm7V48eLAZdwAAADREFa4+cMf/qDMzEw9/PDDOnTokKT62YPvvPNO3XHHHREtEAAAoCPCOuemMbfbLUk95vwVzrkBAKDn6fRzbqT6827+/ve/64UXXpDFYpEkHTx4UBUVFeFuEgAA4KSF9WepL7/8UpdffrmKi4vl8Xh06aWXKikpSUuWLJHH49GKFSsiXScAAEC7hPXJzW233aZRo0bp2LFjiouLCyyfMmVK0BdhAgAAdLWwPrnZuHGj/vGPfzT7Ju4BAwbowIEDESkMAAAgHGF9cuP3++Xz+Zot//e//62kpKSTLgoAACBcYYWbyy67TEuXLg08tlgsqqio0MKFCzVx4sRI1QYAANBhYV0K/u9//1sTJkyQYRjas2ePRo0apT179igtLU3vvvuu0tPTO6PWiOBScAAAep6OvH+HPc9NXV2dVq1apR07dqiiokLnnnuupk2bFnSCcXdEuAEAoOfpyPt3WCcU19TUKDY2Vv/xH/8RVoEAAACdJaxzbtLT0zVjxgy99dZbfFEmAADoVsIKN88884yqqqr0/e9/X/369dOvfvUrffjhh5GuDQAAoMPCCjdTpkzRmjVrVFpaqkWLFumTTz7ReeedpzPOOEP33XdfpGsEAABot5P+4swGn3zyiaZNm6YdO3aEnAOnu+CEYgAAep4u+eJMqf7E4hdffFGTJ0/Wueeeq6+//lp33nnnyWwSAADgpIR1tdTf/vY3Pf/883r11Vdlt9t17bXX6s0339QFF1wQ6foAAAA6JKxwM2XKFF111VV69tlnNXHiRMXExES6LgAAgLCEFW5KS0v5DikAANAttTvcuN3uwAk8hmHI7Xa32JYTdQEAQLS0O9ykpqbq0KFDSk9PV0pKiiwWS7M2hmHIYrF066ulAACAubU73Kxfv169evUK3A8VbgAAAKItYvPc9BTMcwMAQM/T6fPcDBo0SPfee6/27NkTVoEAAACdJaxwc8stt2jt2rU666yzNHr0aP3xj39USUlJpGsDAADosLDCze23364PPvhAn376qSZOnKjly5crKytLl112mZ599tlI1wgAANBuETvn5v3339fNN9/Md0sBAICI68j7d1iT+DW2ZcsWPf/881q9erXcbrd++MMfnuwmAQAAwhZWuPnss8/03HPP6YUXXtC+fft08cUXa8mSJfrBD36gxMTESNcIAADQbmGFm4YTiWfNmqUf//jHysjIiHRdAAAAYelwuPH5fPrTn/6ka6+9VqmpqZ1REwAAQNg6fLWUzWbTrbfequPHj3dCOQAAACcnrEvBBw8erM8//zzStQAAAJy0sMLNAw88oF//+td6/fXXdejQIbnd7qAbAABAtIQ1z43V+k0mavwFmj3hW8GZ5wYAgJ6n0+e5efvtt8MqDAAAoLOFFW4uvPDCSNcBAAAQEWGFm3fffbfV9RdccEFYxQAAAJys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NpdffrkxbNgw4/333zc2btxoZGdnG9ddd10XH0n3NGHCBOOpp54yPvroI2P79u3GxIkTjf79+xsVFRWBNjfddJORlZVlFBQUGB9++KFx3nnnGeeff35gfV1dnTF48GAjLy/P2LZtm/HGG28YaWlpxrx586JxSN3Ka6+9Zqxdu9b47LPPjN27dxu//e1vjZiYGOOjjz4yDIOxjZQtW7YYAwYMMIYOHWrcdtttgeWM78lZuHChcc455xiHDh0K3L766qvA+p48voSbCBgzZowxa9aswGOfz2f07dvXyM/Pj2JVPU/TcOP3+43MzEzjoYceCiw7fvy44XQ6jRdeeMEwDMP45JNPDEnGBx98EGjz17/+1bBYLMaBAwe6rPae4vDhw4Yk45133jEMo348Y2JijDVr1gTafPrpp4Yko7Cw0DCM+gBqtVqNkpKSQJvHH3/ccLlchsfj6doD6AFSU1ONP//5z4xthJSXlxuDBg0y3nrrLePCCy8MhBvG9+QtXLjQGDZsWMh1PX18+bPUSfJ6vSoqKlJeXl5gmdVqVV5engoLC6NYWc+3b98+lZSUBI1tcnKycnJyAmNbWFiolJQUjRo1KtAmLy9PVqtVmzdv7vKau7uysjJJUq9evSRJRUVFqq2tDRrjs846S/379w8a4yFDhigjIyPQZsKECXK73fr444+7sPruzefzadWqVaqsrFRubi5jGyGzZs3SlVdeGTSOEj+7kbJnzx717dtXp59+uqZNm6bi4mJJPX98v3VfnBlpR44ckc/nC3pyJSkjI0O7du2KUlXmUFJSIkkhx7ZhXUlJidLT04PW2+129erVK9AG9fx+v371q19p7NixGjx4sKT68XM4HEpJSQlq23SMQz0HDeu+7Xbu3Knc3FzV1NQoMTFRr7zyis4++2xt376dsT1Jq1at0tatW/XBBx80W8fP7snLycnR008/rTPPPFOHDh3S7373O40fP14fffRRjx9fwg3wLTFr1ix99NFH2rRpU7RLMZUzzzxT27dvV1lZmV566SXNmDFD77zzTrTL6vH279+v2267TW+99ZZiY2OjXY4pXXHFFYH7Q4cOVU5Ojk477TS9+OKLiouLi2JlJ48/S52ktLQ02Wy2ZmeQl5aWKjMzM0pVmUPD+LU2tpmZmTp8+HDQ+rq6On399deMfyOzZ8/W66+/rrffflunnnpqYHlmZqa8Xq+OHz8e1L7pGId6DhrWfds5HA5lZ2dr5MiRys/P17Bhw/THP/6RsT1JRUVFOnz4sM4991zZ7XbZ7Xa98847evTRR2W325WRkcH4RlhKSorOOOMM7d27t8f//BJuTpLD4dDIkSNVUFAQWOb3+1VQUKDc3NwoVtbzDRw4UJmZmUFj63a7tXnz5sDY5ubm6vjx4yoqKgq0Wb9+vfx+v3Jycrq85u7GMAzNnj1br7zyitavX6+BAwcGrR85cqRiYmKCxnj37t0qLi4OGuOdO3cGhci33npLLpdLZ599dtccSA/i9/vl8XgY25N0ySWXaOfOndq+fXvgNmrUKE2bNi1wn/GNrIqKCv3rX/9Snz59ev7Pb1RPZzaJVatWGU6n03j66aeNTz75xPjFL35hpKSkBJ1BjtDKy8uNbdu2Gdu2bTMkGY888oixbds248svvzQMo/5S8JSUFON///d/jR07dhjf//73Q14KPmLECGPz5s3Gpk2bjEGDBnEp+Ak333yzkZycbGzYsCHocs+qqqpAm5tuusno37+/sX79euPDDz80cnNzjdzc3MD6hss9L7vsMmP79u3GunXrjFNOOaVbXO4ZbXPnzjXeeecdY9++fcaOHTuMuXPnGhaLxXjzzTcNw2BsI63x1VKGwfierDvuuMPYsGGDsW/fPuO9994z8vLyjLS0NOPw4cOGYfTs8SXcRMhjjz1m9O/f33A4HMaYMWOM999/P9ol9Qhvv/22IanZbcaMGYZh1F8OPn/+fCMjI8NwOp3GJZdcYuzevTtoG0ePHjWuu+46IzEx0XC5XMbMmTON8vLyKBxN9xNqbCUZTz31VKBNdXW1ccsttxipqalGfHy8MWXKFOPQoUNB2/niiy+MK664woiLizPS0tKMO+64w6itre3io+l+brjhBuO0004zHA6HccoppxiXXHJJINgYBmMbaU3DDeN7cqZOnWr06dPHcDgcRr9+/YypU6cae/fuDazvyeNrMQzDiM5nRgAAAJHHOTcAAMBUCDcAAMBUCDcAAMBUCDcAAMBUCDcAAMBUCDcAAMBUCDcAAMBUCDcAAMBUCDcAAMBUCDcAuq3rr79eFoul2W3v3r3RLg1AN2aPdgEA0JrLL79cTz31VNCyU045pUPb8Pl8slgsslr5/xzwbcArHUC35nQ6lZmZGXT74x//qCFDhighIUFZWVm65ZZbVFFREejz9NNPKyUlRa+99prOPvtsOZ1OFRcXy+Px6Ne//rX69eunhIQE5eTkaMOGDdE7OACdgnADoMexWq169NFH9fHHH+uZZ57R+vXr9Zvf/CaoTVVVlZYsWaI///nP+vjjj5Wenq7Zs2ersLBQq1at0o4dO/TDH/5Ql19+ufbs2ROlIwHQGfhWcADd1vXXX6//+Z//UWxsbGDZFVdcoTVr1gS1e+mll3TTTTfpyJEjkuo/uZk5c6a2b9+uYcOGSZKKi4t1+umnq7i4WH379g30zcvL05gxY7Ro0aIuOCIAXYFzbgB0axdddJEef/zxwOOEhAT9/e9/V35+vnbt2iW32626ujrV1NSoqqpK8fHxkiSHw6GhQ4cG+u3cuVM+n09nnHFG0PY9Ho969+7dNQcDoEsQbgB0awkJCcrOzg48/uKLL3TVVVfp5ptv1oMPPqhevXpp06ZNuvHGG+X1egPhJi4uThaLJdCvoqJCNptNRUVFstlsQftITEzsmoMB0CUINwB6lKKiIvn9fj388MOBq59efPHFNvuNGDFCPp9Phw8f1vjx4zu7TABRxAnFAHqU7Oxs1dbW6rHHHtPnn3+u//7v/9aKFSva7HfGGWdo2rRpmj59ul5++WXt27dPW7ZsUX5+vtauXdsFlQPoKoQbAD3KsGHD9Mgjj2jJkiUaPHiwnnvuOeXn57er71NPPaXp06frjjvu0JlnnqnJkyfrgw8+UP/+/Tu5agBdiaulAACAqfDJDQAAMBXCDQAAMBXCDQAAMBXCDQAAMBXCDQAAMBXCDQAAMBXCDQAAMBXCDQAAMBXCDQAAMBXCDQAAMBXCDQAAMJX/B724jJ8xHEZvAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#산점도\n", "#기대한것은 아래는 젤 왼쪽에 몰려있는거, 위는 젤 오른쪽에 몰려있는것\n", "sns.scatterplot(titanic_df, x = 'Fare', y='Survived')" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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AABAhIoO58GLi4uVm5ur8ePHq6WlRb/4xS80adIk7dq1S3369LH7zZo1SwsWLLDXe/fubf+5tbVVU6dOldfr1QcffKD9+/fr5ptvVkxMjH7961936fkAAIDIE9aws2bNmqD1ZcuWKT4+XqWlpbrsssvs7b1795bX6213H++995527dqldevWKSEhQWPGjNEjjzyie++9Vw899JCcTmenngMAAIhsEXXPTn19vSQpLi4uaPtLL72kAQMGaMSIEcrPz9fXX39tt5WUlGjkyJFKSEiwt2VnZysQCKiioqLd4zQ1NSkQCAQtAADATGGd2fmutrY2zZ07V5dccolGjBhhb/+Xf/kXpaamKikpSTt27NC9996ryspKvfbaa5Ikv98fFHQk2et+v7/dYxUUFOjhhx/upDMBAACRJGLCTm5ursrLy7Vp06ag7bfddpv955EjRyoxMVETJ07UZ599pvPPP79Dx8rPz9e8efPs9UAgoOTk5I4VDgAAIlpEXMbKy8vTqlWr9P7772vQoEEn7ZuZmSlJ2rNnjyTJ6/WqpqYmqM/R9RPd5+NyueR2u4MWAABgprCGHcuylJeXp5UrV2r9+vVKS0s75WfKysokSYmJiZIkn8+nnTt3qra21u6zdu1aud1upaend0rdAACg+wjrZazc3FwtX75cb7zxhvr162ffY+PxeNSrVy999tlnWr58ua666ir1799fO3bs0J133qnLLrtMo0aNkiRNmjRJ6enpuummm/T444/L7/fr/vvvV25urlwuVzhPDwAARICwzuwsXrxY9fX1uvzyy5WYmGgvf/zjHyVJTqdT69at06RJkzRs2DDdddddysnJ0VtvvWXvo0ePHlq1apV69Oghn8+nn/70p7r55puDvpcHAACcvcI6s2NZ1knbk5OTVVxcfMr9pKamavXq1aEqCwAAGCQiblAGAADoLIQdAABgNMIOAAAwGmEHAAAYjbADAACMRtgBAABGI+wAAACjEXYAAIDRCDsAAMBohB0AAGA0wg4AADAaYQcAABiNsAMAAIxG2AEAAEYj7AAAAKMRdgAAgNEIOwAAwGiEHQAAYDTCDgAAMBphBwAAGI2wAwAAjEbYAQAARiPsAAAAoxF2AACA0Qg7AADAaIQdAABgNMIOAAAwGmEHAAAYjbADAACMRtgBAABGI+wAAACjEXYAAIDRCDsAAMBo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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#histogram: 데이터에 대한 분포 알기\n", "#데이터 훈련하기 전에 보기\n", "#y축이 데이터의 갯수여서 안 쓴거\n", "\n", "sns.histplot(titanic_df, x='Fare')" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "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": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#데이터 기술통계 보는 법(수치형): describe\n", "#Fare만 보려고 함\n", "titanic_df.describe()\n" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/t2024-m0188/Library/Python/3.9/lib/python/site-packages/sklearn/utils/validation.py:1339: 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" ] }, { "data": { "text/html": [ "
LogisticRegression()
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": [ "LogisticRegression()" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#모델 보려고 함\n", "model_lor = LogisticRegression()\n", "model_lor.fit(x_1, y_true)" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [], "source": [ "#데이터 학습하기(함수 만들기)\n", "\n", "def get_att(x): \n", " print(\"클래스 종류\", x.classes_)\n", " print(\"독립변수 갯수\", x.n_features_in_)\n", " print(\"들어간 독립변수(x)의 이름\", x.feature_names_in_) \n", " print(\"가중치\", x.coef_)\n", " print(\"바이어스\", x.intercept_)" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "클래스 종류 [0 1]\n", "독립변수 갯수 1\n", "들어간 독립변수(x)의 이름 ['Fare']\n", "가중치 [[0.01519617]]\n", "바이어스 [-0.94129222]\n" ] } ], "source": [ "get_att(model_lor)" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [], "source": [ "from sklearn.metrics import accuracy_score, f1_score\n", "def get_metrics(true, pred):\n", " print(\"정확도\", accuracy_score(true, pred))\n", " print(\"f1 score\", f1_score(true, pred)) " ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,\n", " 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,\n", " 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,\n", " 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0,\n", " 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1,\n", " 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,\n", " 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1,\n", " 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,\n", " 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1,\n", " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1,\n", " 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0,\n", " 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,\n", " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1,\n", " 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1,\n", " 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0,\n", " 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,\n", " 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,\n", " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,\n", " 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,\n", " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#예측하기\n", "\n", "model_lor.predict(x_1)" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [], "source": [ "y_pred_1 = model_lor.predict(x_1)\n" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "정확도 0.6655443322109988\n", "f1 score 0.354978354978355\n" ] } ], "source": [ "get_metrics(y_true,y_pred_1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#간단한(위에는) 로지스틱 회궤학습\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#이제부터 다중 로지스틱 회궤\n", "#x변수 여러개 넣는것 빼고는 차이가 별로 없음\n", "\n", "#null 값이 없어야 함\n" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 891 entries, 0 to 890\n", "Data columns (total 13 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", " 12 sex_en 891 non-null int64 \n", "dtypes: float64(2), int64(6), object(5)\n", "memory usage: 90.6+ KB\n" ] } ], "source": [ "titanic_df.info()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#y: survived\n", "#x: pclass, sex, fare, embarked\n", "\n", "#수치: fare\n", "#범주: pclass, sex" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def get_sex(x):\n", " if x == 'female':\n", " return 0\n", " else:\n", " return 1\n", " \n", "titanic_df['sex_en'] = titanic_df['Sex'].apply(get_sex)\n", "\n", "#titanic_df에 sex_en 컬럼 만들려고 함\n", "#female =0 male=1 이렇게 나타낸걸 적용시키기 위해 apply 씀\n", "#'titanic_df['Sex'].apply(get_sex)' 이걸 간단히 얘기하자면 titanic_df['sex']에서 get_sex를 계산한걸 보여주라는 뜻" ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [ { "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", "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarkedsex_en
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS1
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C0
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS0
\n", "
" ], "text/plain": [ " PassengerId Survived Pclass \\\n", "0 1 0 3 \n", "1 2 1 1 \n", "2 3 1 3 \n", "\n", " Name Sex Age SibSp \\\n", "0 Braund, Mr. Owen Harris male 22.0 1 \n", "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 \n", "2 Heikkinen, Miss. Laina female 26.0 0 \n", "\n", " Parch Ticket Fare Cabin Embarked sex_en \n", "0 0 A/5 21171 7.2500 NaN S 1 \n", "1 0 PC 17599 71.2833 C85 C 0 \n", "2 0 STON/O2. 3101282 7.9250 NaN S 0 " ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "titanic_df.head(3)" ] }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/t2024-m0188/Library/Python/3.9/lib/python/site-packages/sklearn/utils/validation.py:1339: 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" ] }, { "data": { "text/html": [ "
LogisticRegression()
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": [ "LogisticRegression()" ] }, "execution_count": 76, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x_2 = titanic_df[['Pclass', 'sex_en', 'Fare']]\n", "y_true = titanic_df[['Survived']]\n", "model_lor_2 = LogisticRegression()\n", "model_lor_2.fit(x_2,y_true)" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "클래스 종류 [0 1]\n", "독립변수 갯수 3\n", "들어간 독립변수(x)의 이름 ['Pclass' 'sex_en' 'Fare']\n", "가중치 [[-8.88331324e-01 -2.53993425e+00 1.64019087e-03]]\n", "바이어스 [3.02004403]\n" ] } ], "source": [ "get_att(model_lor_2)" ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0, 1, 1, 1, 0, 0, 0, 0, 1, 1])" ] }, "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#예측한 결과값 확인하기\n", "\n", "y_pred_2 = model_lor_2.predict(x_2)\n", "y_pred_2[:10]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "정확도 0.6655443322109988\n", "f1 score 0.354978354978355\n", "정확도 0.7867564534231201\n", "f1 score 0.7121212121212122\n" ] } ], "source": [ "#x변수가 fare\n", "get_metrics(y_true,y_pred_1)\n", "\n", "#x변수가 fare, pclass, sex\n", "get_metrics(y_true,y_pred_2)" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0.8977979 , 0.1022021 ],\n", " [0.09546762, 0.90453238],\n", " [0.40901264, 0.59098736],\n", " ...,\n", " [0.40287202, 0.59712798],\n", " [0.58880217, 0.41119783],\n", " [0.89772263, 0.10227737]])" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#각 데이터별 y=1일떄 확률 뽑아내기\n", "model_lor_2.predict_proba(x_2)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.9.6" } }, "nbformat": 4, "nbformat_minor": 2 }