Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Importing libraries & data into the dataframe"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 14,
- "metadata": {},
- "outputs": [],
- "source": [
- "import pandas as pd\n",
- "import numpy as np\n",
- "\n",
- "df = pd.read_csv('data.csv', index_col = 'email')"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 15,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "<div>\n",
- "<style scoped>\n",
- " .dataframe tbody tr th:only-of-type {\n",
- " vertical-align: middle;\n",
- " }\n",
- "\n",
- " .dataframe tbody tr th {\n",
- " vertical-align: top;\n",
- " }\n",
- "\n",
- " .dataframe thead th {\n",
- " text-align: right;\n",
- " }\n",
- "</style>\n",
- "<table border=\"1\" class=\"dataframe\">\n",
- " <thead>\n",
- " <tr style=\"text-align: right;\">\n",
- " <th></th>\n",
- " <th>satisfaction</th>\n",
- " <th>score_rep</th>\n",
- " <th>score_ps</th>\n",
- " <th>score_rank</th>\n",
- " <th>score_activity</th>\n",
- " <th>score_followers</th>\n",
- " <th>score_contribution</th>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>email</th>\n",
- " <th></th>\n",
- " <th></th>\n",
- " <th></th>\n",
- " <th></th>\n",
- " <th></th>\n",
- " <th></th>\n",
- " <th></th>\n",
- " </tr>\n",
- " </thead>\n",
- " <tbody>\n",
- " <tr>\n",
- " <th>poke19962008@gmail.com</th>\n",
- " <td>Y</td>\n",
- " <td>20</td>\n",
- " <td>15</td>\n",
- " <td>14</td>\n",
- " <td>5</td>\n",
- " <td>5</td>\n",
- " <td>5</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>aaa@gmail.com</th>\n",
- " <td>N</td>\n",
- " <td>21</td>\n",
- " <td>20</td>\n",
- " <td>13</td>\n",
- " <td>2</td>\n",
- " <td>11</td>\n",
- " <td>4</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>bbb@gmail.com</th>\n",
- " <td>N</td>\n",
- " <td>15</td>\n",
- " <td>19</td>\n",
- " <td>11</td>\n",
- " <td>3</td>\n",
- " <td>4</td>\n",
- " <td>3</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>ccc@gmail.com</th>\n",
- " <td>N</td>\n",
- " <td>18</td>\n",
- " <td>14</td>\n",
- " <td>9</td>\n",
- " <td>4</td>\n",
- " <td>8</td>\n",
- " <td>4</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>ddd@gmail.com</th>\n",
- " <td>Y</td>\n",
- " <td>20</td>\n",
- " <td>16</td>\n",
- " <td>7</td>\n",
- " <td>4</td>\n",
- " <td>6</td>\n",
- " <td>1</td>\n",
- " </tr>\n",
- " </tbody>\n",
- "</table>\n",
- "</div>"
- ],
- "text/plain": [
- " satisfaction score_rep score_ps score_rank \\\n",
- "email \n",
- "poke19962008@gmail.com Y 20 15 14 \n",
- "aaa@gmail.com N 21 20 13 \n",
- "bbb@gmail.com N 15 19 11 \n",
- "ccc@gmail.com N 18 14 9 \n",
- "ddd@gmail.com Y 20 16 7 \n",
- "\n",
- " score_activity score_followers score_contribution \n",
- "email \n",
- "poke19962008@gmail.com 5 5 5 \n",
- "aaa@gmail.com 2 11 4 \n",
- "bbb@gmail.com 3 4 3 \n",
- "ccc@gmail.com 4 8 4 \n",
- "ddd@gmail.com 4 6 1 "
- ]
- },
- "execution_count": 15,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "df.head()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Next, we'll convert text to numbers. <br>\n",
- "Label encoder is used to convert categories to number"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 16,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "Index(['satisfaction'], dtype='object')"
- ]
- },
- "execution_count": 16,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "from sklearn.preprocessing import LabelEncoder\n",
- "categorical_variables = df.dtypes[df.dtypes == 'object'].index\n",
- "categorical_variables"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 17,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "<div>\n",
- "<style scoped>\n",
- " .dataframe tbody tr th:only-of-type {\n",
- " vertical-align: middle;\n",
- " }\n",
- "\n",
- " .dataframe tbody tr th {\n",
- " vertical-align: top;\n",
- " }\n",
- "\n",
- " .dataframe thead th {\n",
- " text-align: right;\n",
- " }\n",
- "</style>\n",
- "<table border=\"1\" class=\"dataframe\">\n",
- " <thead>\n",
- " <tr style=\"text-align: right;\">\n",
- " <th></th>\n",
- " <th>satisfaction</th>\n",
- " <th>score_rep</th>\n",
- " <th>score_ps</th>\n",
- " <th>score_rank</th>\n",
- " <th>score_activity</th>\n",
- " <th>score_followers</th>\n",
- " <th>score_contribution</th>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>email</th>\n",
- " <th></th>\n",
- " <th></th>\n",
- " <th></th>\n",
- " <th></th>\n",
- " <th></th>\n",
- " <th></th>\n",
- " <th></th>\n",
- " </tr>\n",
- " </thead>\n",
- " <tbody>\n",
- " <tr>\n",
- " <th>poke19962008@gmail.com</th>\n",
- " <td>1</td>\n",
- " <td>20</td>\n",
- " <td>15</td>\n",
- " <td>14</td>\n",
- " <td>5</td>\n",
- " <td>5</td>\n",
- " <td>5</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>aaa@gmail.com</th>\n",
- " <td>0</td>\n",
- " <td>21</td>\n",
- " <td>20</td>\n",
- " <td>13</td>\n",
- " <td>2</td>\n",
- " <td>11</td>\n",
- " <td>4</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>bbb@gmail.com</th>\n",
- " <td>0</td>\n",
- " <td>15</td>\n",
- " <td>19</td>\n",
- " <td>11</td>\n",
- " <td>3</td>\n",
- " <td>4</td>\n",
- " <td>3</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>ccc@gmail.com</th>\n",
- " <td>0</td>\n",
- " <td>18</td>\n",
- " <td>14</td>\n",
- " <td>9</td>\n",
- " <td>4</td>\n",
- " <td>8</td>\n",
- " <td>4</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>ddd@gmail.com</th>\n",
- " <td>1</td>\n",
- " <td>20</td>\n",
- " <td>16</td>\n",
- " <td>7</td>\n",
- " <td>4</td>\n",
- " <td>6</td>\n",
- " <td>1</td>\n",
- " </tr>\n",
- " </tbody>\n",
- "</table>\n",
- "</div>"
- ],
- "text/plain": [
- " satisfaction score_rep score_ps score_rank \\\n",
- "email \n",
- "poke19962008@gmail.com 1 20 15 14 \n",
- "aaa@gmail.com 0 21 20 13 \n",
- "bbb@gmail.com 0 15 19 11 \n",
- "ccc@gmail.com 0 18 14 9 \n",
- "ddd@gmail.com 1 20 16 7 \n",
- "\n",
- " score_activity score_followers score_contribution \n",
- "email \n",
- "poke19962008@gmail.com 5 5 5 \n",
- "aaa@gmail.com 2 11 4 \n",
- "bbb@gmail.com 3 4 3 \n",
- "ccc@gmail.com 4 8 4 \n",
- "ddd@gmail.com 4 6 1 "
- ]
- },
- "execution_count": 17,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "#Convert them using Label Encoder\n",
- "le = LabelEncoder()\n",
- "for var in categorical_variables:\n",
- " df[var] = le.fit_transform(df[var])\n",
- "\n",
- "df.head()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Setting up the target variable"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 18,
- "metadata": {},
- "outputs": [],
- "source": [
- "X = df.iloc[:, 1:]\n",
- "y = df.iloc[:, 0]"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Splitting the dataset into train & test "
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 19,
- "metadata": {},
- "outputs": [],
- "source": [
- "from sklearn.model_selection import train_test_split\n",
- "X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.3,random_state=42)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Using KNN Classifier "
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 20,
- "metadata": {},
- "outputs": [],
- "source": [
- "from sklearn.neighbors import KNeighborsClassifier\n",
- "classifier = KNeighborsClassifier()\n",
- "knnClassifier = classifier.fit(X_train, y_train.ravel())\n",
- "y_pred = knnClassifier.predict(X_test)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 21,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "66.66666666666666"
- ]
- },
- "execution_count": 21,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "from sklearn.metrics import accuracy_score\n",
- "result = accuracy_score(y_test, y_pred)*100\n",
- "result"
- ]
- }
- ],
- "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.6"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 2
- }
Add Comment
Please, Sign In to add comment