diff --git a/practise/KNN+Practise.ipynb b/practise/KNN+Practise.ipynb index 07a0698..3fd6c9c 100644 --- a/practise/KNN+Practise.ipynb +++ b/practise/KNN+Practise.ipynb @@ -19,13 +19,12 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2017-03-09T17:11:00.462641Z", "start_time": "2017-03-09T12:11:00.457060-05:00" - }, - "collapsed": true + } }, "outputs": [], "source": [ @@ -48,46 +47,188 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2017-03-09T17:11:00.913456Z", "start_time": "2017-03-09T12:11:00.883452-05:00" - }, - "collapsed": true + } }, "outputs": [], "source": [ "import pandas as pd\n", "\n", "# Import the data using the file path\n", - "filepath = os.sep.join(data_path + ['Orange_Telecom_Churn_Data.csv'])\n", + "#filepath = os.sep.join(data_path + ['Orange_Telecom_Churn_Data.csv'])\n", + "filepath = 'Orange_Telecom_Churn_Data.csv'\n", "data = pd.read_csv(filepath)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2017-03-09T17:11:01.087485Z", "start_time": "2017-03-09T12:11:01.075442-05:00" } }, - "outputs": [], + "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", + "
0
stateKS
account_length128
area_code415
phone_number382-4657
intl_planno
voice_mail_planyes
number_vmail_messages25
total_day_minutes265.1
total_day_calls110
total_day_charge45.07
total_eve_minutes197.4
total_eve_calls99
total_eve_charge16.78
total_night_minutes244.7
total_night_calls91
total_night_charge11.01
total_intl_minutes10
total_intl_calls3
total_intl_charge2.7
number_customer_service_calls1
churnedFalse
\n", + "
" + ], + "text/plain": [ + " 0\n", + "state KS\n", + "account_length 128\n", + "area_code 415\n", + "phone_number 382-4657\n", + "intl_plan no\n", + "voice_mail_plan yes\n", + "number_vmail_messages 25\n", + "total_day_minutes 265.1\n", + "total_day_calls 110\n", + "total_day_charge 45.07\n", + "total_eve_minutes 197.4\n", + "total_eve_calls 99\n", + "total_eve_charge 16.78\n", + "total_night_minutes 244.7\n", + "total_night_calls 91\n", + "total_night_charge 11.01\n", + "total_intl_minutes 10\n", + "total_intl_calls 3\n", + "total_intl_charge 2.7\n", + "number_customer_service_calls 1\n", + "churned False" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "data.head(1).T" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2017-03-09T17:11:01.564122Z", "start_time": "2017-03-09T12:11:01.557967-05:00" - }, - "collapsed": true + } }, "outputs": [], "source": [ @@ -97,14 +238,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2017-03-09T17:11:02.585712Z", "start_time": "2017-03-09T12:11:02.579981-05:00" } }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['account_length', 'intl_plan', 'voice_mail_plan',\n", + " 'number_vmail_messages', 'total_day_minutes', 'total_day_calls',\n", + " 'total_day_charge', 'total_eve_minutes', 'total_eve_calls',\n", + " 'total_eve_charge', 'total_night_minutes', 'total_night_calls',\n", + " 'total_night_charge', 'total_intl_minutes', 'total_intl_calls',\n", + " 'total_intl_charge', 'number_customer_service_calls', 'churned'],\n", + " dtype='object')" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "data.columns" ] @@ -121,13 +279,12 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2017-03-09T17:11:04.545751Z", "start_time": "2017-03-09T12:11:04.509105-05:00" - }, - "collapsed": true + } }, "outputs": [], "source": [ @@ -141,13 +298,12 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": { "ExecuteTime": { "end_time": "2017-03-09T17:11:04.736451Z", "start_time": "2017-03-09T12:11:04.718049-05:00" - }, - "collapsed": true + } }, "outputs": [], "source": [ @@ -175,13 +331,12 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": { "ExecuteTime": { "end_time": "2017-03-09T17:11:50.280188Z", "start_time": "2017-03-09T12:11:50.269326-05:00" - }, - "collapsed": true + } }, "outputs": [], "source": [ @@ -199,13 +354,12 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": { "ExecuteTime": { "end_time": "2017-03-09T17:11:50.989446Z", "start_time": "2017-03-09T12:11:50.498708-05:00" - }, - "collapsed": true + } }, "outputs": [], "source": [ @@ -232,32 +386,39 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": { "ExecuteTime": { "end_time": "2017-03-09T17:11:50.997204Z", "start_time": "2017-03-09T12:11:50.991392-05:00" - }, - "collapsed": true + } }, "outputs": [], "source": [ "# Function to calculate the % of values that were correctly predicted\n", "\n", "def accuracy(real, predict):\n", - " return sum(y_data == y_pred) / float(real.shape[0])" + " return sum(real == predict) / float(real.shape[0])" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": { "ExecuteTime": { "end_time": "2017-03-09T17:11:51.128466Z", "start_time": "2017-03-09T12:11:51.115874-05:00" } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.9422\n" + ] + } + ], "source": [ "print(accuracy(y_data, y_pred))" ] @@ -276,31 +437,57 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": { "ExecuteTime": { "end_time": "2017-03-09T17:11:52.047123Z", "start_time": "2017-03-09T12:11:51.538212-05:00" - }, - "collapsed": true + } }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1.0\n" + ] + } + ], "source": [ - "#Student writes code here" + "#Student writes code here\n", + "#q5 part 1 weights are the invers of distances\n", + "knn2 = KNeighborsClassifier(n_neighbors=3, weights = 'distance')\n", + "knn2 = knn2.fit(X_data, y_data)\n", + "y_pred2 = knn2.predict(X_data)\n", + "print(accuracy(y_data, y_pred2))\n", + "#we get accuracy 1 because we checked the accuracy on our train set, ie the set which was used to learn" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "metadata": { "ExecuteTime": { "end_time": "2017-03-09T17:11:52.755941Z", "start_time": "2017-03-09T12:11:52.049816-05:00" - }, - "collapsed": true + } }, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.9456\n" + ] + } + ], + "source": [ + "# q5 part 2 manhatan distances\n", + "knn3 = KNeighborsClassifier(n_neighbors=3, p =1)\n", + "knn3 = knn3.fit(X_data, y_data)\n", + "y_pred3 = knn3.predict(X_data)\n", + "print(accuracy(y_data, y_pred3))" + ] }, { "cell_type": "markdown", @@ -314,51 +501,87 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": { "ExecuteTime": { "end_time": "2017-03-09T17:12:01.329053Z", "start_time": "2017-03-09T12:11:52.759302-05:00" - }, - "collapsed": true + } }, "outputs": [], "source": [ - "#Student writes code here" + "#Student writes code here\n", + "# q6 starts. \n", + "k_values = [i for i in range(1,21)] # k values from 1 to 20\n", + "accuracies = [] # declare an array to store accuracies" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "metadata": { "ExecuteTime": { "end_time": "2017-03-09T17:12:01.829160Z", "start_time": "2017-03-09T12:12:01.331021-05:00" - }, - "collapsed": true + } }, "outputs": [], - "source": [] + "source": [ + "# iterate through all k values and store the accuracies\n", + "for i in k_values :\n", + " knnx = KNeighborsClassifier(n_neighbors=i)\n", + " knnx = knnx.fit(X_data, y_data)\n", + " y_predx = knnx.predict(X_data)\n", + " acc = accuracy(y_data, y_predx)\n", + " accuracies.append(acc)" + ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "metadata": { "ExecuteTime": { "end_time": "2017-03-09T17:12:02.238935Z", "start_time": "2017-03-09T12:12:01.831094-05:00" - }, - "collapsed": true + } }, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5,1,'accuracies vs k')" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#plot the graph\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "plt.plot(k_values, accuracies,'r+')\n", + "plt.xlabel('accuracies')\n", + "plt.ylabel('k')\n", + "plt.title('accuracies vs k')\n", + "# for k = 1, accuracy = 1 because the model has overfit" + ] }, { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": true - }, + "metadata": {}, "outputs": [], "source": [] } @@ -380,7 +603,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.3" + "version": "3.6.3" }, "name": "Linear_Regression_and_K_Nearest_Neighbors_Exercises-ANSWERS", "notebookId": 2125319687183902