{ "metadata": { "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.7.0" }, "orig_nbformat": 2, "kernelspec": { "name": "python37364bit8d3b438fb5fc4430a93ac2cb74d693a7", "display_name": "Python 3.7.0 64-bit ('3.7')" }, "metadata": { "interpreter": { "hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d" } } }, "nbformat": 4, "nbformat_minor": 2, "cells": [ { "source": [ "## Logistic Regression - Lesson 4\n", "\n", "Load up required libraries and dataset. Convert the data to a dataframe containing a subset of the data" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " City Name Type Package Variety Sub Variety Grade Date \\\n", "0 BALTIMORE NaN 24 inch bins NaN NaN NaN 4/29/17 \n", "1 BALTIMORE NaN 24 inch bins NaN NaN NaN 5/6/17 \n", "2 BALTIMORE NaN 24 inch bins HOWDEN TYPE NaN NaN 9/24/16 \n", "3 BALTIMORE NaN 24 inch bins HOWDEN TYPE NaN NaN 9/24/16 \n", "4 BALTIMORE NaN 24 inch bins HOWDEN TYPE NaN NaN 11/5/16 \n", "\n", " Low Price High Price Mostly Low ... Unit of Sale Quality Condition \\\n", "0 270.0 280.0 270.0 ... NaN NaN NaN \n", "1 270.0 280.0 270.0 ... NaN NaN NaN \n", "2 160.0 160.0 160.0 ... NaN NaN NaN \n", "3 160.0 160.0 160.0 ... NaN NaN NaN \n", "4 90.0 100.0 90.0 ... NaN NaN NaN \n", "\n", " Appearance Storage Crop Repack Trans Mode Unnamed: 24 Unnamed: 25 \n", "0 NaN NaN NaN E NaN NaN NaN \n", "1 NaN NaN NaN E NaN NaN NaN \n", "2 NaN NaN NaN N NaN NaN NaN \n", "3 NaN NaN NaN N NaN NaN NaN \n", "4 NaN NaN NaN N NaN NaN NaN \n", "\n", "[5 rows x 26 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
City NameTypePackageVarietySub VarietyGradeDateLow PriceHigh PriceMostly Low...Unit of SaleQualityConditionAppearanceStorageCropRepackTrans ModeUnnamed: 24Unnamed: 25
0BALTIMORENaN24 inch binsNaNNaNNaN4/29/17270.0280.0270.0...NaNNaNNaNNaNNaNNaNENaNNaNNaN
1BALTIMORENaN24 inch binsNaNNaNNaN5/6/17270.0280.0270.0...NaNNaNNaNNaNNaNNaNENaNNaNNaN
2BALTIMORENaN24 inch binsHOWDEN TYPENaNNaN9/24/16160.0160.0160.0...NaNNaNNaNNaNNaNNaNNNaNNaNNaN
3BALTIMORENaN24 inch binsHOWDEN TYPENaNNaN9/24/16160.0160.0160.0...NaNNaNNaNNaNNaNNaNNNaNNaNNaN
4BALTIMORENaN24 inch binsHOWDEN TYPENaNNaN11/5/1690.0100.090.0...NaNNaNNaNNaNNaNNaNNNaNNaNNaN
\n

5 rows × 26 columns

\n
" }, "metadata": {}, "execution_count": 1 } ], "source": [ "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "pumpkins = pd.read_csv('../../data/US-pumpkins.csv')\n", "\n", "pumpkins.head()\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from sklearn.preprocessing import LabelEncoder\n", "\n", "new_columns = ['Color','Origin','Item Size','Variety','City Name','Package']\n", "\n", "new_pumpkins = pumpkins.drop([c for c in pumpkins.columns if c not in new_columns], axis=1)\n", "\n", "new_pumpkins.dropna(inplace=True)\n", "\n", "new_pumpkins = new_pumpkins.apply(LabelEncoder().fit_transform)" ] }, { "source": [ "Check the data shape, size, and quality" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": {}, "execution_count": 3 } ], "source": [ "new_pumpkins.info" ] }, { "source": [ "Working with Item Size to Color, create a scatterplot using Seaborn" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "output_type": "error", "ename": "ModuleNotFoundError", "evalue": "No module named 'seaborn'", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mseaborn\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0msns\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mg\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mPairGrid\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnew_pumpkins\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mg\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmap\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mscatterplot\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'seaborn'" ] } ], "source": [ "import seaborn as sns\n", "\n", "g = sns.PairGrid(new_pumpkins)\n", "g.map(sns.scatterplot)\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "output_type": "error", "ename": "NameError", "evalue": "name 'sns' is not defined", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0msns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mswarmplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"Color\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"Item Size\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mnew_pumpkins\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mNameError\u001b[0m: name 'sns' is not defined" ] } ], "source": [ "sns.swarmplot(x=\"Color\", y=\"Item Size\", data=new_pumpkins)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": {}, "execution_count": 10 }, { "output_type": "display_data", "data": { "text/plain": "
", "image/svg+xml": "\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", "image/png": "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\n" }, "metadata": { "needs_background": "light" } } ], "source": [ "sns.catplot(x=\"Color\", y=\"Item Size\",\n", " kind=\"violin\", data=new_pumpkins)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "\n", "Selected_features = ['Origin','Item Size','Variety','City Name','Package']\n", "\n", "X = new_pumpkins[Selected_features]\n", "y = new_pumpkins['Color']\n", "\n", "\n", "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)\n" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ " precision recall f1-score support\n", "\n", " 0 0.83 0.98 0.90 166\n", " 1 0.00 0.00 0.00 33\n", "\n", " accuracy 0.81 199\n", " macro avg 0.42 0.49 0.45 199\n", "weighted avg 0.69 0.81 0.75 199\n", "\n", "Predicted labels: [0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 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 0 0 0 0 0 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 0 0 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 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 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 0 0 0 0 0]\n", "Accuracy: 0.8140703517587939\n", "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n", " FutureWarning)\n" ] } ], "source": [ "from sklearn.model_selection import train_test_split\n", "from sklearn.metrics import accuracy_score, classification_report \n", "from sklearn.linear_model import LogisticRegression\n", "model = LogisticRegression()\n", "model.fit(X_train, y_train)\n", "predictions = model.predict(X_test)\n", "\n", "print(classification_report(y_test, predictions))\n", "print('Predicted labels: ', predictions)\n", "print('Accuracy: ', accuracy_score(y_test, predictions))\n" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": {}, "execution_count": 16 }, { "output_type": "display_data", "data": { "text/plain": "
", "image/svg+xml": "\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", "image/png": "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\n" }, "metadata": { "needs_background": "light" } } ], "source": [ "from sklearn.metrics import roc_curve, roc_auc_score\n", "\n", "y_scores = model.predict_proba(X_test)\n", "# calculate ROC curve\n", "fpr, tpr, thresholds = roc_curve(y_test, y_scores[:,1])\n", "sns.lineplot([0, 1], [0, 1])\n", "sns.lineplot(fpr, tpr)" ] }, { "source": [ "auc = roc_auc_score(y_test,y_scores[:,1])\n", "print(auc)" ], "cell_type": "code", "metadata": {}, "execution_count": 18, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "0.6976998904709748\n" ] } ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ] }