Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save JJRyan0/d73e5ad35794fc05b9ff48c793bac7a7 to your computer and use it in GitHub Desktop.
Save JJRyan0/d73e5ad35794fc05b9ff48c793bac7a7 to your computer and use it in GitHub Desktop.
GoSales Transactions - Logistic Regression Model - Machine Learning.ipynb
{
"cells": [
{
"metadata": {
"collapsed": false
},
"cell_type": "markdown",
"source": "## Predicting GoSales Transactions with Logistic Regression"
},
{
"metadata": {
"collapsed": false
},
"cell_type": "markdown",
"source": "\n<div class=\"alert alert-block alert-info\" style=\"margin-top: 20px\">**Note:** Citation: Publisher IBM\nAnonymous outdoor equipment purchase data for machine learning examples. Datasource@ https://datascience.ibm.com/</div>\n\n\n\nCreated by John Ryan 26th April 2017\n\n\n__1. Overview__\n\n**Question: How do we predict future GoSales transactions of outdoor equipment with the measurements provided?**\n\nThe data set provides many categorical and continous variables that allow for the opportunity to implement Machine Learning models to accurately predict future purchasing habits of customers.\n\nPython 2.7 Sci-Kit Learn : http://scikit-learn.org/stable/"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Contents**\n\n- Overview\n\n- Load the data to a pandas data frame\n\n- Missing Value Detection\n\n- Encode Labels\n\n- Cross Validation Train/Test Split\n\n- Creating a Logistic Regression Model\n\n- Evaluate Model Performance:\n\n- Metric 1: Classification Accurracy: % of correct predictions\n\n- Metric 2: Null Accuracy: Accuracy\n\n- Metric 3: ROC Curve"
},
{
"metadata": {
"collapsed": false
},
"cell_type": "markdown",
"source": "**2. Load Libraries**"
},
{
"metadata": {
"collapsed": true,
"trusted": true
},
"cell_type": "code",
"source": "import pandas as pd\nimport numpy as np\nimport seaborn as sns\nimport warnings # current version of seaborn generates a bunch of warnings that we'll ignore\nwarnings.filterwarnings(\"ignore\")\nimport matplotlib.pyplot as plt\nsns.set(style=\"white\", color_codes=True)\n%matplotlib inline\n\n#Import models from scikit learn module:\nfrom sklearn.linear_model import LogisticRegression\nfrom sklearn import metrics",
"execution_count": 1,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**3. Load data** "
},
{
"metadata": {
"collapsed": false,
"trusted": true
},
"cell_type": "code",
"source": "#Import the dataset using csv file \ngosales = pd.read_csv(\"C:/data/GoSales_Tx_LogisticRegression.csv\")\ngosales.head(5)",
"execution_count": 2,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": "<div>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>IS_TENT</th>\n <th>GENDER</th>\n <th>AGE</th>\n <th>MARITAL_STATUS</th>\n <th>PROFESSION</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>False</td>\n <td>M</td>\n <td>27</td>\n <td>Single</td>\n <td>Professional</td>\n </tr>\n <tr>\n <th>1</th>\n <td>False</td>\n <td>F</td>\n <td>39</td>\n <td>Married</td>\n <td>Other</td>\n </tr>\n <tr>\n <th>2</th>\n <td>False</td>\n <td>F</td>\n <td>39</td>\n <td>Married</td>\n <td>Other</td>\n </tr>\n <tr>\n <th>3</th>\n <td>False</td>\n <td>F</td>\n <td>56</td>\n <td>Unspecified</td>\n <td>Hospitality</td>\n </tr>\n <tr>\n <th>4</th>\n <td>False</td>\n <td>M</td>\n <td>45</td>\n <td>Married</td>\n <td>Retired</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " IS_TENT GENDER AGE MARITAL_STATUS PROFESSION\n0 False M 27 Single Professional\n1 False F 39 Married Other\n2 False F 39 Married Other\n3 False F 56 Unspecified Hospitality\n4 False M 45 Married Retired"
},
"metadata": {},
"execution_count": 2
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Response Variable**"
},
{
"metadata": {
"collapsed": false,
"trusted": true,
"scrolled": true
},
"cell_type": "code",
"source": "#feature response variable (Y = target) IS_TENT False or True \nsns.countplot(x=\"IS_TENT\", data=gosales)",
"execution_count": 3,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0xc272780>"
},
"metadata": {},
"execution_count": 3
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nTkSuQmCC\n",
"text/plain": "<matplotlib.figure.Figure at 0x670e160>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Point Plot**\n\nVisualize relationships between genders"
},
{
"metadata": {
"trusted": true,
"collapsed": false
},
"cell_type": "code",
"source": "sns.pointplot(x=\"GENDER\", y=\"AGE\", hue=\"IS_TENT\", data=gosales);",
"execution_count": 5,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": "<matplotlib.figure.Figure at 0xcbc70f0>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**4. Missing Value Detection**"
},
{
"metadata": {
"collapsed": false,
"trusted": false
},
"cell_type": "code",
"source": "print(\"Number of NA values : {0}\".format((gosales.shape[0] * gosales.shape[1]) - gosales.count().sum()))",
"execution_count": 4,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": "Number of NA values : 0\n"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**5. Visualise the Data - Categorical Scatterplot**"
},
{
"metadata": {
"collapsed": false,
"trusted": false
},
"cell_type": "code",
"source": "sns.barplot(x=\"GENDER\", y=\"AGE\", hue=\"IS_TENT\", data=gosales);",
"execution_count": 5,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\nqTsrlQpPPXATmza8yObutUyecSizDj+1b3v32ufp+vmiajdSpcLBx/0R4yZMrM79v3IplUov+819\nLVNmHTHaH0RSiTQi+JcAjwFk5qMR8TwwE/hNA2rZJRvWrGDJT/95mweytE85gNlHH0NvzxZ+eeuX\ntgn+F3/7OO1T9ueAV76RtSuepGfzRl548TE2rn+BOOlsenu28KvF32Ti9LlDTxctSTupEcF/DvC7\nwIKImAV0AssaUMcuG9jV07N5I88v/QVrVnTRstd4ent7tnn/tIOOYfljP+XR//wWLa1t7H/4qWx4\n8TnWr36m7wuk0tvLxvWr2XvSfqP9cSSVRCOC/xvAVRGxGOgFzhmb3TwwsKvn+aUPsFdrG/sf9Yd0\nr13Jb5+8f5vtq5cnnVMPYlbMY+XTD7L8sf9k8szD6Jx+MLOP+kMqlQrLlyx2qghJhRr14M/MzcCZ\nI3nM4Q7XHOpY9Y8C2nbqzs5pB/PEfdeyduXTNDW30NaxD5u710BT9X3tk2fRdf/1NC1ZTIUKBx75\nZvaeNIM1K7rIu66md8tmJs8MWvYaN2KfR5IGGvNz9cyZM4evfGr7c+0sXbqUS668re4wb+uYyoSO\nfYZ83/i9J3PYyedss27CxOkcceqfv7zGY97W9zpe/56XbT/wyDfVVZskjYQxH/wtLS3Mnbvj8fGN\nGu4pSbsjb0+VpJIx+CWpZAx+SSoZg1+SSmbMX9x1dk5JGp4xH/xdXV1c8I2LmTClfbvv6TwK4Om6\njrdh1To2rDxhyFFATz94K+teWMaW7nX09mxmfPsU9hq3N7/z6v81jOolafSN+eAHmDClnfZpnSN2\nvM11/EA4oDb2/vmnHqB77Qr2P2L+iLUvSUXaI4J/d7FmRRe/efjHNDW3MG32sTzzq5/wyvkLaG5u\n4TcP/5i2jmnsc9BRzsYpqaHsyB5hvb09xElns8+Brxp0+wvPPsbG9auJk87m0BPPYtmSu+jZvHGU\nq5RUZp7xj7C27Uz3UKlUJ3Srzsa5zNk4JTWMwT/iXpq4rbl5LzZ3r2HchElsePFZJnROp61zmrNx\nSmqoPSL4N6xaN6LHGql/lP1ecSKP/de3Gdc+mZbWCQBMnnGos3FKaqgxH/xz5szhsnM/s93tw52d\ncy+oa3bOrfY56Ki+153T5tA5bU7f8rTZRzNt9tEv28fZOCU10pgPfmfnlKThcVSPJJWMwS9JJWPw\nS1LJGPySVDKjfnE3IpqArwJHAd3AezPz8dGuQ5LKqhFn/G8HxmfmicBHgEsbUIMklVYjgv8k4EcA\nmXk38HsNqEGSSqsRwT8ReKHf8paI8FqDJI2SRtzA9SLQf/L85szs3c57WwCWL1++0409++yzrHl+\nKZs2vLjTx9hTrFu9jMrTK9m0prvRpTRc9wvrefbZZxk/fnxD6/Dv8yX+fb5kV/8++2Vmy2DbGxH8\nPwXeAvwgIl4L/HIH750JcMYZZ4xGXeXwaKML2H2850fvaXQJGsi/zz4j9Pc5E/j1wJWNCP7rgN+P\niJ/Wlnf06e4BXg8sA3qKLkyS9hAtVEP/nsE2Nm2dJ16SVA5eVJWkkjH4JalkDH5JKhmDX5JKZsw/\niEVDi4h5wO3AuzLze/3W/wK4NzPPaVhxKr2ImA38AriP6kOrK8Btmfl3DS1sD2bwl8evgHcB3wOI\niCOBvRtakfSShzLzDY0uoizs6imPB4DZEbH1rukzgX9tYD1Sf02NLqBMPOMvlx8CfwRcAxwPXAIc\n1NCKpKojIuI2XurqOSMzlzW4pj2WwV8eFeDbwNci4gngTjzL0u7Drp5RZFdPiWRmF9AOfAC7ebR7\n8SRkFBn85fNd4MDMfKzRhUj9OHfMKHKuHkkqGc/4JalkDH5JKhmDX5JKxuCXpJIx+CWpZAx+SSoZ\n79xVKUREC/Bh4Aygl+ozSa/JzEsi4hPAeVSf7QwvTRvwVuAVwC3AMZn5SL/j9WZmc23m05uoPia8\nGWijelf0hZm5fsD2rTcpVYBPZeYNEdEL/E9tWxMwCfgR8P7MdKy1CmHwqywuB6YDr8nMNRHRAVwX\nES9u3Z6Zfztwp4h4Re3l1RHx2n5h3D+U79k63UDtC+Yq4GvAWQO3D6KSmcf2a68DeAh4E9UvHGnE\n2dWjPV5E7A/8KfDuzFwDkJlrgQVse5a/Pf8FrKL6i2GHMrMHuAh4V0RM3Ily9wUmACt3Yl+pLp7x\nqwyOBx7OzBf7r8zMJcCSiHgVcF5EnF7b1AQ8npnvrC1XgPcC90fE9f27fAaTmc9GxCrg0NqqV0fE\n/f2OXQHmZ+YqoKm2bRzV0H8E+EBm3rMrH1jaEYNfZdHXNRMR7wT+hmo/fzfVPvhBu3q2ysynI+Ji\nql0+JzD0pGIVYAPVSfHq6uqJiAuAc4B/r+8jSTvHrh6VwX1U53vvAMjMH2bmMVQv3k6v9yCZeSXV\nLp+/ZgeTikXEDGAi8OvhFJmZl1HtevrccPaThsvg1x4vM58C/gW4JiImAUREM9Xg31J7W73TAv8Z\n8FcD1vXtGxHjgX8ArsrM7jqOPXDbB4H31B6NKRXCrh6VQma+PyI+CNweEQDjgf8GTqM6xPPPB/Tx\nV4APAT0DjrO01uXzT/1WH1frp2+i2n10G/B/B9ne/9jfyczPMuCXQ2Y+HBFXA18A3rxLH1raDqdl\nlqSSsatHkkrG4JekkjH4JalkDH5JKhmDX5JKxuCXpJIx+CWpZAx+SSqZ/w/R1iYVlVjEZgAAAABJ\nRU5ErkJggg==\n",
"text/plain": "<matplotlib.figure.Figure at 0x66bec50>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**6. One Hot Label Encoder**"
},
{
"metadata": {
"collapsed": false,
"trusted": false
},
"cell_type": "code",
"source": "#Given that we have up to four categorical features we need to encode the labels in order to\n#pass the data to the algorithm.\nfrom sklearn.preprocessing import LabelEncoder\n\nfor feature in gosales.columns:\n if gosales[feature].dtype=='object':\n le = LabelEncoder()\n gosales[feature] = le.fit_transform(gosales[feature])\ngosales.tail(5)",
"execution_count": 6,
"outputs": [
{
"execution_count": 6,
"output_type": "execute_result",
"data": {
"text/plain": " IS_TENT GENDER AGE MARITAL_STATUS PROFESSION\n60247 True 1 24 1 3\n60248 False 1 24 1 3\n60249 False 0 27 0 4\n60250 False 0 20 1 2\n60251 False 0 37 0 2",
"text/html": "<div>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>IS_TENT</th>\n <th>GENDER</th>\n <th>AGE</th>\n <th>MARITAL_STATUS</th>\n <th>PROFESSION</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>60247</th>\n <td>True</td>\n <td>1</td>\n <td>24</td>\n <td>1</td>\n <td>3</td>\n </tr>\n <tr>\n <th>60248</th>\n <td>False</td>\n <td>1</td>\n <td>24</td>\n <td>1</td>\n <td>3</td>\n </tr>\n <tr>\n <th>60249</th>\n <td>False</td>\n <td>0</td>\n <td>27</td>\n <td>0</td>\n <td>4</td>\n </tr>\n <tr>\n <th>60250</th>\n <td>False</td>\n <td>0</td>\n <td>20</td>\n <td>1</td>\n <td>2</td>\n </tr>\n <tr>\n <th>60251</th>\n <td>False</td>\n <td>0</td>\n <td>37</td>\n <td>0</td>\n <td>2</td>\n </tr>\n </tbody>\n</table>\n</div>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**7. Cross Validation Train/Test Split**"
},
{
"metadata": {
"collapsed": false,
"trusted": false
},
"cell_type": "code",
"source": "from sklearn.cross_validation import train_test_split\nfeature_cols = ['GENDER','AGE','MARITAL_STATUS','PROFESSION']\nX = gosales[feature_cols]\ny = gosales.IS_TENT\nX_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)",
"execution_count": 8,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**8. Create Logistic Regression Model**\n\nDespite its name Logistic regression is a very powerful classification model where the dependent variable is categorical. In logistic regression we use a \"hypothesis class\" to make a prediction that a given new example belongs to Benign class Vs the probability that it belongs to the Malignant class.\n"
},
{
"metadata": {
"collapsed": false,
"trusted": false
},
"cell_type": "code",
"source": "#Logistic Regression - Classification model\nfrom sklearn.linear_model import LogisticRegression\nLRmodel = LogisticRegression()\nLRmodel.fit(X_train, y_train)\n# during the fitting process the model is learning the relationship between X_train & y_train",
"execution_count": 9,
"outputs": [
{
"execution_count": 9,
"output_type": "execute_result",
"data": {
"text/plain": "LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\n penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\n verbose=0, warm_start=False)"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**9. Make class predictions on test data set**\n\nMake class predictions for the test set,we pass X_test the feature matrix for the testing set to the predict () method for the fitted model.Contains outputs of a class prediction True or False for every observation in the testing set which is then stored in an object called \"y_pred_class\" (see below)."
},
{
"metadata": {
"collapsed": false,
"trusted": false
},
"cell_type": "code",
"source": "#make class predictions for the test set\ny_predict_class = LRmodel.predict(X_test)\ny_predict_class\n#outputs a class prediction 1 or 0 for every observation in the testing set which\n#is then stored in an object called y_pred_class",
"execution_count": 11,
"outputs": [
{
"execution_count": 11,
"output_type": "execute_result",
"data": {
"text/plain": "array([False, False, False, ..., False, False, False], dtype=bool)"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**10. Evaluate Model Performance**"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Metric 1: Classification Accurracy: % of correct predictions**\n\n- The first step is to calculate % accurracy by passing y_test and y_predict_class to the accurracy score function.\n\n- y_test contains true response values, for the test set the accuracy score function can tell us what percentage of the predictions in y_pred_class are correct."
},
{
"metadata": {
"collapsed": false,
"trusted": false
},
"cell_type": "code",
"source": "#What % of class predictions ae actually correct?\nprint (metrics.accuracy_score(y_test, y_predict_class))",
"execution_count": 12,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": "0.903472083914\n"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Metric 2: Null Accuracy**\n\nAnalysis the class distribution of the test set. When we evaluate the class distribution counts below we see that the False value is present a wopping 13609 times and the True value is present 1454 times. Null accuracy tests that if this model was to predict the dominant class 100% of the time, how often would it be correct?\n\n- Step 1: Get a sense of the distribution of the classes. What is the most dominant class True or False.\n\n- Step 2: Calcualte the percentage of True values contained in y_test.\n\n- Step 3: Calcualte the percentage of False values contained in y_test.\n\n- Step 4: Analyse the Result: Get the basis of null accuracy."
},
{
"metadata": {
"collapsed": false,
"trusted": false
},
"cell_type": "code",
"source": "#Step 1: Fuction to display the class distribution\ny_test.value_counts()",
"execution_count": 13,
"outputs": [
{
"execution_count": 13,
"output_type": "execute_result",
"data": {
"text/plain": "False 13609\nTrue 1454\nName: IS_TENT, dtype: int64"
},
"metadata": {}
}
]
},
{
"metadata": {
"collapsed": false,
"trusted": false
},
"cell_type": "code",
"source": "#Step 2: Calcualte the % of True Values\ny_test.mean()",
"execution_count": 14,
"outputs": [
{
"execution_count": 14,
"output_type": "execute_result",
"data": {
"text/plain": "0.096527916085773088"
},
"metadata": {}
}
]
},
{
"metadata": {
"collapsed": false,
"trusted": false
},
"cell_type": "code",
"source": "#Step 3: Calcualte the % of False Values\n1- y_test.mean()",
"execution_count": 15,
"outputs": [
{
"execution_count": 15,
"output_type": "execute_result",
"data": {
"text/plain": "0.90347208391422695"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Null Accuracy Results** \n\n90.3% of False values is much greather than 9.6% of True values we can safely suggest that this is the null accuracy for this question. The model will predict 90.3% of the time that a purchase in the store will be False and 9.6% a true purchase, this is not to useful but will provide a basis of what we can compare our logit model against. If we compare the classification accuracy of 90.3% previously calcualted we see our model above to our null accuracy (90.3% also) we cleary see that the classification accuracy does tell us something regaring the underlying distribution of the test set but does not tell us much about what type of errors our model is making."
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Metric 3: Area Under AUC Curve (ROC)**"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "The ROC curve helps to select a threshold value that balances sensitivity and specificity in a way that makes sense.\n\nAUC is a popular metric. I believe it is a good metric given the unbalaced classes seen above. It is used to judge predictions in binary response (False/True) problem. It is only sensitive to the order determined by the predictions and not their magnitudes.\n\nFor other evaluation methods, a user has to choose a cut-off point above which the target variable is part of the positive class (e.g. a logistic regression model returns any real number between False and True - the modeler might decide that predictions greater than 0.5 mean a positive class prediction while a prediction of less than 0.5 mean a negative class prediction). AUC evaluates entries at all cut-off points, giving better insight into how well the classifier is able to separate the two classes."
},
{
"metadata": {
"collapsed": false,
"trusted": false
},
"cell_type": "code",
"source": "#predicted probabilties of class 1\ny_predicted_prob = LRmodel.predict_proba(X_test)[:,1]\ny_predicted_prob",
"execution_count": 16,
"outputs": [
{
"execution_count": 16,
"output_type": "execute_result",
"data": {
"text/plain": "array([ 0.1771451 , 0.06105373, 0.27435449, ..., 0.11080671,\n 0.04057806, 0.08083935])"
},
"metadata": {}
}
]
},
{
"metadata": {
"collapsed": false,
"trusted": false
},
"cell_type": "code",
"source": "#Analysis the distribution of a numerical variable \nplt.hist(y_predicted_prob, bins= 10)\nplt.xlim(0,1)\nplt.title('Histogram of Predicted Probabilities')\nplt.xlabel('Predicted Probability of GoSale Tent Transaction')\nplt.ylabel('Frequency')",
"execution_count": 17,
"outputs": [
{
"execution_count": 17,
"output_type": "execute_result",
"data": {
"text/plain": "<matplotlib.text.Text at 0xc9cda90>"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nAAAAAElFTkSuQmCC\n",
"text/plain": "<matplotlib.figure.Figure at 0xc5e6e10>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**ROC Curve - Sensitivity/Specificity plot**"
},
{
"metadata": {
"collapsed": false,
"trusted": false
},
"cell_type": "code",
"source": "fpr, tpr, thresholds = metrics.roc_curve(y_test, y_predicted_prob)\nplt.plot(fpr, tpr)\nplt.xlim([0.0,1.0])\nplt.ylim([0.0,1.0])\nplt.title('ROC Curve for GoSale Transaction')\nplt.xlabel('False Positive Rate(1 - specificity)')\nplt.ylabel('True Positive Rate(sensitivity)')\nplt.grid(True)",
"execution_count": 24,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": "<matplotlib.figure.Figure at 0xc842eb8>"
},
"metadata": {}
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**ROC Results:**\n\nThe Reciever operationg characteristic is used to highlight trade offs between detecting true positives but at the same time trying to reduce false positive results. To create this curve predicted probabilities of the models class are sorted by the largest first down to the smallest. Therefore the closer the curve is to the left hand upper corner of the graph or the largest area under the curve the better the prediction and accuracy of a true positive prediction. \n"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "**Improve Model Performance**"
},
{
"metadata": {
"collapsed": false,
"trusted": false
},
"cell_type": "code",
"source": "#alter the default predict probabilty from 0.5 to 0.1 to incease the sensitivity of the model\nfrom sklearn.preprocessing import binarize\ny_pred_class = binarize(y_predicted_prob, 0.1)[0]",
"execution_count": 28,
"outputs": [
{
"output_type": "stream",
"name": "stderr",
"text": "C:\\Users\\IBM_ADMIN\\Anaconda2\\lib\\site-packages\\sklearn\\utils\\validation.py:395: DeprecationWarning: Passing 1d arrays as data is deprecated in 0.17 and will raise ValueError in 0.19. Reshape your data either using X.reshape(-1, 1) if your data has a single feature or X.reshape(1, -1) if it contains a single sample.\n DeprecationWarning)\n"
}
]
},
{
"metadata": {
"collapsed": false,
"trusted": false
},
"cell_type": "code",
"source": "#Analysis the distribution of a numerical variable\nplt.hist(y_pred_class, bins= 10)\nplt.xlim(0,1)\nplt.title('Histogram of Predicted Classes with Threshold of 0.1')\nplt.xlabel('Predicted Probability of GoSale Tent Transaction')\nplt.ylabel('Frequency')",
"execution_count": 30,
"outputs": [
{
"execution_count": 30,
"output_type": "execute_result",
"data": {
"text/plain": "<matplotlib.text.Text at 0xf035a58>"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nYmZmhfw/BBiVPe4BeR0AAAAASUVORK5CYII=\n",
"text/plain": "<matplotlib.figure.Figure at 0xf02a630>"
},
"metadata": {}
}
]
}
],
"metadata": {
"kernelspec": {
"name": "python2",
"display_name": "Python 2",
"language": "python"
},
"language_info": {
"mimetype": "text/x-python",
"nbconvert_exporter": "python",
"name": "python",
"pygments_lexer": "ipython2",
"version": "2.7.11",
"file_extension": ".py",
"codemirror_mode": {
"version": 2,
"name": "ipython"
}
},
"gist": {
"id": "",
"data": {
"description": "GoSales Transactions - Logistic Regression Model - Machine Learning.ipynb",
"public": true
}
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment