{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "provenance": [] }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "language_info": { "name": "python" } }, "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 423 }, "id": "lwgSu7-P2sav", "outputId": "bd830174-40c1-4a7b-96a9-dac3ed2aca93" }, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " mpg cylinders displacement horsepower weight acceleration \\\n", "0 18.0 8 307.0 130.0 3504 12.0 \n", "1 15.0 8 350.0 165.0 3693 11.5 \n", "2 18.0 8 318.0 150.0 3436 11.0 \n", "3 16.0 8 304.0 150.0 3433 12.0 \n", "4 17.0 8 302.0 140.0 3449 10.5 \n", ".. ... ... ... ... ... ... \n", "393 27.0 4 140.0 86.0 2790 15.6 \n", "394 44.0 4 97.0 52.0 2130 24.6 \n", "395 32.0 4 135.0 84.0 2295 11.6 \n", "396 28.0 4 120.0 79.0 2625 18.6 \n", "397 31.0 4 119.0 82.0 2720 19.4 \n", "\n", " model_year origin name \n", "0 70 usa chevrolet chevelle malibu \n", "1 70 usa buick skylark 320 \n", "2 70 usa plymouth satellite \n", "3 70 usa amc rebel sst \n", "4 70 usa ford torino \n", ".. ... ... ... \n", "393 82 usa ford mustang gl \n", "394 82 europe vw pickup \n", "395 82 usa dodge rampage \n", "396 82 usa ford ranger \n", "397 82 usa chevy s-10 \n", "\n", "[398 rows x 9 columns]" ], "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
mpgcylindersdisplacementhorsepowerweightaccelerationmodel_yearoriginname
018.08307.0130.0350412.070usachevrolet chevelle malibu
115.08350.0165.0369311.570usabuick skylark 320
218.08318.0150.0343611.070usaplymouth satellite
316.08304.0150.0343312.070usaamc rebel sst
417.08302.0140.0344910.570usaford torino
..............................
39327.04140.086.0279015.682usaford mustang gl
39444.0497.052.0213024.682europevw pickup
39532.04135.084.0229511.682usadodge rampage
39628.04120.079.0262518.682usaford ranger
39731.04119.082.0272019.482usachevy s-10
\n", "

398 rows × 9 columns

\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 1 } ], "source": [ "import seaborn as sb\n", "\n", "# 데이터로드\n", "mpgData = sb.load_dataset('mpg')\n", "mpgData" ] }, { "cell_type": "code", "source": [ "mpgData.shape" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "iPcbzgOt3D0X", "outputId": "752c7daa-a73a-48d4-99a1-eb954798319b" }, "execution_count": 2, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "(398, 9)" ] }, "metadata": {}, "execution_count": 2 } ] }, { "cell_type": "code", "source": [ "# 결측치 제거 398 -> 392\n", "mpgData = mpgData.dropna()\n", "mpgData.shape" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "6_nB0VUf3TOq", "outputId": "2ff59bca-6c73-44e7-f3a7-244648ead72c" }, "execution_count": 3, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "(392, 9)" ] }, "metadata": {}, "execution_count": 3 } ] }, { "cell_type": "code", "source": [ "# 독립변수 종속변수 정의\n", "indVarNames = ['cylinders','displacement','horsepower','weight','acceleration','model_year']\n", "x_total = mpgData[indVarNames]\n", "x_total" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 423 }, "id": "4X72-tsA3aST", "outputId": "df6ac596-c4e5-4c7b-86f6-42cf9a9dab78" }, "execution_count": 4, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " cylinders displacement horsepower weight acceleration model_year\n", "0 8 307.0 130.0 3504 12.0 70\n", "1 8 350.0 165.0 3693 11.5 70\n", "2 8 318.0 150.0 3436 11.0 70\n", "3 8 304.0 150.0 3433 12.0 70\n", "4 8 302.0 140.0 3449 10.5 70\n", ".. ... ... ... ... ... ...\n", "393 4 140.0 86.0 2790 15.6 82\n", "394 4 97.0 52.0 2130 24.6 82\n", "395 4 135.0 84.0 2295 11.6 82\n", "396 4 120.0 79.0 2625 18.6 82\n", "397 4 119.0 82.0 2720 19.4 82\n", "\n", "[392 rows x 6 columns]" ], "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
cylindersdisplacementhorsepowerweightaccelerationmodel_year
08307.0130.0350412.070
18350.0165.0369311.570
28318.0150.0343611.070
38304.0150.0343312.070
48302.0140.0344910.570
.....................
3934140.086.0279015.682
394497.052.0213024.682
3954135.084.0229511.682
3964120.079.0262518.682
3974119.082.0272019.482
\n", "

392 rows × 6 columns

\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ] }, "metadata": {}, "execution_count": 4 } ] }, { "cell_type": "code", "source": [ "depVarName = 'mpg'\n", "y_total = mpgData[depVarName]\n", "y_total" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "rfK0Z71k4Dft", "outputId": "fe1beff3-b89b-4962-af19-b5a8ba29a0ee" }, "execution_count": 5, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "0 18.0\n", "1 15.0\n", "2 18.0\n", "3 16.0\n", "4 17.0\n", " ... \n", "393 27.0\n", "394 44.0\n", "395 32.0\n", "396 28.0\n", "397 31.0\n", "Name: mpg, Length: 392, dtype: float64" ] }, "metadata": {}, "execution_count": 5 } ] }, { "cell_type": "code", "source": [ "# 데이터 분할(학습 데이터, 테스트 데이터)\n", "\n", "from sklearn.model_selection import train_test_split\n", "\n", "x_total_np = x_total.to_numpy()\n", "y_total_np = y_total.to_numpy()\n", "\n", "x_train, x_test, y_train, y_test = train_test_split(x_total_np, y_total_np, test_size = 0.30, random_state=10)" ], "metadata": { "id": "BlFRtaPM4Nqr" }, "execution_count": 6, "outputs": [] }, { "cell_type": "code", "source": [ "# 모형학습\n", "\n", "from sklearn import linear_model\n", "\n", "reg = linear_model.LinearRegression()\n", "reg.fit(x_train, y_train)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 75 }, "id": "jpRDWsSV5ET0", "outputId": "ca3f21ba-bd28-45a3-f062-2ef77042c192" }, "execution_count": 8, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "LinearRegression()" ], "text/html": [ "
LinearRegression()
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.
" ] }, "metadata": {}, "execution_count": 8 } ] }, { "cell_type": "code", "source": [ "# 학습 결과 확인\n", "\n", "print(\"상수항 : %.4f\" % reg.intercept_)\n", "print(\"계수: \", reg.coef_)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "L91aidef53-6", "outputId": "4eb3be28-b452-4552-88b1-1b1dc207d5cd" }, "execution_count": 9, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "상수항 : -11.0205\n", "계수: [-0.86888947 0.01551396 -0.00924849 -0.00662918 0.00336088 0.74986572]\n" ] } ] }, { "cell_type": "code", "source": [ "# 모형 성능 평가\n", "\n", "y_predicted = reg.predict(x_test)\n", "\n", "from sklearn.metrics import r2_score\n", "print(\"결정계수 %.4f\" % r2_score(y_test, y_predicted))\n", "\n", "adj_r2_score = 1 - (1 - r2_score(y_test, y_predicted)) * (len(y_total)-1)/(len(y_total)-x_total.shape[1]-1)\n", "print(\"수정된 결정계수 %.4f\" % adj_r2_score)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "qNJepNB66a8q", "outputId": "7773a481-36e6-451a-e957-cb3d552e20b7" }, "execution_count": 12, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "결정계수 0.7888\n", "수정된 결정계수 0.7855\n" ] } ] }, { "cell_type": "code", "source": [], "metadata": { "id": "r1joiRTT9Lvz" }, "execution_count": null, "outputs": [] } ] }