{ "cells": [ { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 11, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SO2COO3PM25NoxNONO2THCNMHCCH4WindSpeedTEMPHumidityDanger
04.40.4732.231243.4620.842.3090.2312.0781.9124.8677.110
16.40.5230.232325.6426.302.1860.2271.9591.7226.5871.930
23.20.4530.546202.3618.050.0000.0000.0002.0824.7576.331
35.20.4732.538243.1820.642.3740.2252.1501.6624.9779.971
44.50.7229.932295.4323.822.2900.2872.0041.0326.1873.780
\n", "
" ], "text/plain": [ " SO2 CO O3 PM25 Nox NO NO2 THC NMHC CH4 WindSpeed \\\n", "0 4.4 0.47 32.2 31 24 3.46 20.84 2.309 0.231 2.078 1.91 \n", "1 6.4 0.52 30.2 32 32 5.64 26.30 2.186 0.227 1.959 1.72 \n", "2 3.2 0.45 30.5 46 20 2.36 18.05 0.000 0.000 0.000 2.08 \n", "3 5.2 0.47 32.5 38 24 3.18 20.64 2.374 0.225 2.150 1.66 \n", "4 4.5 0.72 29.9 32 29 5.43 23.82 2.290 0.287 2.004 1.03 \n", "\n", " TEMP Humidity Danger \n", "0 24.86 77.11 0 \n", "1 26.58 71.93 0 \n", "2 24.75 76.33 1 \n", "3 24.97 79.97 1 \n", "4 26.18 73.78 0 " ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "train = pd.read_csv('200811-201811.csv')\n", "train.head()\n", "#Danger分類點說明\n", "#對敏感族群不健康為PM2.5數值在35.5以上" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**用heatmap(.isnull())來找出缺失的資料在哪些欄位**" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sns.heatmap(train.isnull(),yticklabels=False,cbar=False,cmap='viridis')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**用countplot來看Nox是否影響健康**" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sns.countplot(x='Danger',hue='Nox',data=train,palette='RdBu_r')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**用直方圖看年齡分佈。缺失資料在此不計。**" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sns.distplot(train['PM25'].dropna(),kde=False,bins=30)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**用直方圖看Nox的分佈**" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "train['Nox'].hist(bins=40,figsize=(10,4))" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "X = train.drop('Danger', axis=1)\n", "y = train['Danger']" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "from sklearn.model_selection import train_test_split" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "X_train, X_test, y_train, y_test = train_test_split(X,y, test_size=0.75,random_state=42)" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "from sklearn.linear_model import LogisticRegression" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n", " intercept_scaling=1, max_iter=100, multi_class='warn',\n", " n_jobs=None, penalty='l2', random_state=None, solver='liblinear',\n", " tol=0.0001, verbose=0, warm_start=False)" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "logmodel = LogisticRegression(solver='liblinear')\n", "logmodel.fit(X_train,y_train)" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [], "source": [ "predictions = logmodel.predict(X_test)" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " precision recall f1-score support\n", "\n", " 0 0.96 0.98 0.97 560\n", " 1 0.98 0.96 0.97 526\n", "\n", " micro avg 0.97 0.97 0.97 1086\n", " macro avg 0.97 0.97 0.97 1086\n", "weighted avg 0.97 0.97 0.97 1086\n", "\n" ] } ], "source": [ "from sklearn.metrics import classification_report\n", "print(classification_report(y_test,predictions))" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [], "source": [ "from sklearn.metrics import confusion_matrix" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[549, 11],\n", " [ 20, 506]], dtype=int64)" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "confusion_matrix(y_test,predictions)" ] }, { "cell_type": "raw", "metadata": {}, "source": [ "Confusion Matrix 預測 (No) 預測(Yes)\n", "實際(No) TN=549 FP=11\n", "實際(Yes) FN=20 TP=506\n", "\n", "TN=True Negative; FP=False Positive, FN=False Negative; TP=True Positive\n", "\n", "precison = TP / (TP + FP)\n", "recall = TP / (TP + FN)\n", "accuracy = (TP + TN) / (TN + FP + FN + TP)\n", "F-beta score可視為precision和recall加權平均的值,數值介於0-1,最好是1。\n", "support代表在測試組y實際值的發生次數。**" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.6.7" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }