{
"cells": [
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"\n",
"import nltk\n",
"import spacy\n",
"\n",
"import warnings\n",
"warnings.filterwarnings('ignore')\n",
"\n",
"import seaborn as sns\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"\n",
"from IPython.display import Image"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### This notebook covers the basics of starting with text data and implementing machine learning algorithms that take that data as input and output predictions. \n",
"\n",
"#### Using scikitlearn, we will walk through:\n",
"- Naive Bayes Classifier\n",
"- Logistic Regression "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Naive Bayes Classifier\n",
"\n",
"Generative model: Naive Bayes models the joint distribution of the feature X and target Y, and then predicts the posterior probability given as P(y|x)\n",
"\n",
"\n",
"The naive bayes classifier uses Baye's rule to assign labels to input data, with the output as the label with the highest probability for a number of input features.\n",
"\n",
"\n",
"### Steps:\n",
"- Loading dataset\n",
"- Visualization\n",
"- Preprocessing\n",
"- Model creation\n",
"- Evaluation"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Loading the dataset"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
label
\n",
"
sms
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
ham
\n",
"
Go until jurong point, crazy.. Available only ...
\n",
"
\n",
"
\n",
"
1
\n",
"
ham
\n",
"
Ok lar... Joking wif u oni...
\n",
"
\n",
"
\n",
"
2
\n",
"
spam
\n",
"
Free entry in 2 a wkly comp to win FA Cup fina...
\n",
"
\n",
"
\n",
"
3
\n",
"
ham
\n",
"
U dun say so early hor... U c already then say...
\n",
"
\n",
"
\n",
"
4
\n",
"
ham
\n",
"
Nah I don't think he goes to usf, he lives aro...
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" label sms\n",
"0 ham Go until jurong point, crazy.. Available only ...\n",
"1 ham Ok lar... Joking wif u oni...\n",
"2 spam Free entry in 2 a wkly comp to win FA Cup fina...\n",
"3 ham U dun say so early hor... U c already then say...\n",
"4 ham Nah I don't think he goes to usf, he lives aro..."
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_sms = pd.read_csv('data/spam.csv',encoding='latin-1')\n",
"df_sms = df_sms.drop([\"Unnamed: 2\", \"Unnamed: 3\", \"Unnamed: 4\"], axis=1)\n",
"df_sms = df_sms.rename(columns={\"v1\":\"label\", \"v2\":\"sms\"})\n",
"df_sms.head()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"ham 4825\n",
"spam 747\n",
"Name: label, dtype: int64"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_sms['label'].value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"df_sms['length'] = df_sms['sms'].apply(len)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Visualization"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
],
"text/plain": [
" label sms length\n",
"0 0 Go until jurong point, crazy.. Available only ... 111\n",
"1 0 Ok lar... Joking wif u oni... 29\n",
"2 1 Free entry in 2 a wkly comp to win FA Cup fina... 155\n",
"3 0 U dun say so early hor... U c already then say... 49\n",
"4 0 Nah I don't think he goes to usf, he lives aro... 61"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_sms.loc[:,'label'] = df_sms.label.map({'ham':0, 'spam':1})\n",
"df_sms.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Scikitlearn Count Vectorizer for Preprocessing\n",
"\n",
"Convert a collection of text documents to a matrix of token counts\n",
"\n",
"This implementation produces a sparse representation of the counts using scipy.sparse.csr_matrix.\n",
"\n",
"\n",
"#### Steps:\n",
"- Normalize to lower case\n",
"- Remove punctuation\n",
"- Tokenize\n",
"- Stop word removal\n",
"- Bag-of-words representation"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"from nltk.corpus import stopwords\n",
"stopWords = set(stopwords.words('english'))"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.feature_extraction.text import CountVectorizer\n",
"from sklearn.model_selection import train_test_split"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"documents = [\"Hi Mom, happy Thanksgiving, I know I'm your favorite.\",\n",
" \"However, I never read rubrics when I do peer reviews.\",\n",
" \"Epstein did not kill himself!\"]"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['epstein',\n",
" 'favorite',\n",
" 'happy',\n",
" 'hi',\n",
" 'however',\n",
" 'kill',\n",
" 'know',\n",
" 'mom',\n",
" 'never',\n",
" 'peer',\n",
" 'read',\n",
" 'reviews',\n",
" 'rubrics',\n",
" 'thanksgiving']"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"count_vector = CountVectorizer(stop_words=stopWords)\n",
"count_vector.fit(documents)\n",
"count_vector.get_feature_names()"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
epstein
\n",
"
favorite
\n",
"
happy
\n",
"
hi
\n",
"
however
\n",
"
kill
\n",
"
know
\n",
"
mom
\n",
"
never
\n",
"
peer
\n",
"
read
\n",
"
reviews
\n",
"
rubrics
\n",
"
thanksgiving
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
0
\n",
"
1
\n",
"
1
\n",
"
1
\n",
"
0
\n",
"
0
\n",
"
1
\n",
"
1
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
1
\n",
"
\n",
"
\n",
"
1
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
1
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
1
\n",
"
1
\n",
"
1
\n",
"
1
\n",
"
1
\n",
"
0
\n",
"
\n",
"
\n",
"
2
\n",
"
1
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
1
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
0
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" epstein favorite happy hi however kill know mom never peer read \\\n",
"0 0 1 1 1 0 0 1 1 0 0 0 \n",
"1 0 0 0 0 1 0 0 0 1 1 1 \n",
"2 1 0 0 0 0 1 0 0 0 0 0 \n",
"\n",
" reviews rubrics thanksgiving \n",
"0 0 0 1 \n",
"1 1 1 0 \n",
"2 0 0 0 "
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#convert the set of documents into an array using count_vector.transform\n",
"doc_array = count_vector.transform(documents).toarray()\n",
"\n",
"#convert doc_array to dataframe for visualization\n",
"frequency_matrix = pd.DataFrame(doc_array, columns = count_vector.get_feature_names())\n",
"frequency_matrix"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Preprocessing the dataset\n",
"Now lets apply the count vectorizer to our dataset as part of our pre-processing\n",
"- Split the dataset into train and test subsets \n",
"- Apply count vectorizer to both subset"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"#train_test_split is used to split up our data into subsets for training and testing\n",
"X_train, X_test, y_train, y_test = train_test_split(df_sms['sms'], df_sms['label'],test_size=0.20)\n",
"\n",
"count_vector = CountVectorizer()\n",
"\n",
"# bag of words matrix for training data\n",
"training_data = count_vector.fit_transform(X_train)\n",
"\n",
"# bag of words matrix for training data\n",
"testing_data = count_vector.transform(X_test)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Creating the model - Naive Bayes Classifier\n",
"\n",
"Note that there are different Naive Bayes algorithms available in sklearn. Another commonly used one is Gaussian Naive Bayes which is useful for continuous attributes."
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"MultinomialNB(alpha=1.0, class_prior=None, fit_prior=True)"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.naive_bayes import MultinomialNB \n",
"naive_bayes = MultinomialNB()\n",
"naive_bayes.fit(training_data,y_train)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"predictions = naive_bayes.predict(testing_data)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Accuracy: the ratio of correctly predicted observation to the total observations\n",
"
$$\\text{Accuracy}=\\frac{\\text{TP+TN}}{\\text{TP+FP+FN+TN}}$$ \n",
"\n",
"Precision: the ratio of correctly predicted positive observations to the total predicted positive observations\n",
"
$$\\text{Precision}=\\frac{\\text{TP}}{\\text{TP+FP}}$$ \n",
"\n",
"Recall: the ratio of correctly predicted positive observations to the all observations in actual class \n",
"
$$\\text{Recall}=\\frac{\\text{TP}}{\\text{TP+FN}}$$ \n",
"\n",
"F1: the weighted average of Precision and Recall\n",
"- takes both false positives and false negatives into account\n",
"- useful for uneven class distribution\n",
"\n",
"
$$\\text{F1}=\\frac{\\text{2*(Recall * Precision)}}{\\text{(Recall + Precision)}}$$ \n",
"\n",
"\n",
"#### Accuracy is used when the True Positives and True negatives are more important \n",
"\n",
"#### F1-score is used when the False Negatives and False Positives are more important"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Accuracy score: 0.9847533632286996\n",
"Precision score: 0.9523809523809523\n",
"Recall score: 0.9333333333333333\n",
"F1 score: 0.9427609427609427\n"
]
}
],
"source": [
"from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score\n",
"print('Accuracy score: {}'.format(accuracy_score(y_test, predictions)))\n",
"print('Precision score: {}'.format(precision_score(y_test, predictions)))\n",
"print('Recall score: {}'.format(recall_score(y_test, predictions)))\n",
"print('F1 score: {}'.format(f1_score(y_test, predictions)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### A confusion matrix is useful for visualizing your classifier.\n",
"\n",
"\n",
"- true positives (TP): These are cases in which we predicted yes (they have the disease), and they do have the disease.\n",
"\n",
"- true negatives (TN): We predicted no, and they don't have the disease.\n",
"\n",
"- false positives (FP): We predicted yes, but they don't actually have the disease. (Also known as a \"Type I error.\")\n",
"\n",
"- false negatives (FN): We predicted no, but they actually do have the disease. (Also known as a \"Type II error.\")\n"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
],
"text/plain": [
" Product \\\n",
"0 Credit reporting, repair, or other \n",
"1 Debt collection \n",
"2 Debt collection \n",
"3 Student loan \n",
"4 Debt collection \n",
"\n",
" Consumer_complaint \n",
"0 it is the repeated fraud attempt from experian... \n",
"1 We received multiple voice mails from Weltman,... \n",
"2 Deactivated my car whenever I was a day late m... \n",
"3 My complaint is regarding my Student Loan Serv... \n",
"4 Syndicated Office Systems is currently reporti... "
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
0
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
Credit reporting, repair, or other
\n",
"
\n",
"
\n",
"
1
\n",
"
Debt collection
\n",
"
\n",
"
\n",
"
2
\n",
"
Student loan
\n",
"
\n",
"
\n",
"
3
\n",
"
Checking or savings account
\n",
"
\n",
"
\n",
"
4
\n",
"
Mortgage
\n",
"
\n",
"
\n",
"
5
\n",
"
Payday loan, title loan, or personal loan
\n",
"
\n",
"
\n",
"
6
\n",
"
Vehicle loan or lease
\n",
"
\n",
"
\n",
"
7
\n",
"
Credit card or prepaid card
\n",
"
\n",
"
\n",
"
8
\n",
"
Bank account or service
\n",
"
\n",
"
\n",
"
9
\n",
"
Consumer Loan
\n",
"
\n",
"
\n",
"
10
\n",
"
Money transfer, virtual currency, or money ser...
\n",
"
\n",
"
\n",
"
11
\n",
"
Other financial service
\n",
"
\n",
"
\n",
"
12
\n",
"
Money transfers
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" 0\n",
"0 Credit reporting, repair, or other\n",
"1 Debt collection\n",
"2 Student loan\n",
"3 Checking or savings account\n",
"4 Mortgage\n",
"5 Payday loan, title loan, or personal loan\n",
"6 Vehicle loan or lease\n",
"7 Credit card or prepaid card\n",
"8 Bank account or service\n",
"9 Consumer Loan\n",
"10 Money transfer, virtual currency, or money ser...\n",
"11 Other financial service\n",
"12 Money transfers"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.DataFrame(df.Product.unique())"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Product
\n",
"
category_id
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
Credit reporting, repair, or other
\n",
"
0
\n",
"
\n",
"
\n",
"
1
\n",
"
Debt collection
\n",
"
1
\n",
"
\n",
"
\n",
"
3
\n",
"
Student loan
\n",
"
2
\n",
"
\n",
"
\n",
"
7
\n",
"
Checking or savings account
\n",
"
3
\n",
"
\n",
"
\n",
"
10
\n",
"
Mortgage
\n",
"
4
\n",
"
\n",
"
\n",
"
14
\n",
"
Payday loan, title loan, or personal loan
\n",
"
5
\n",
"
\n",
"
\n",
"
24
\n",
"
Vehicle loan or lease
\n",
"
6
\n",
"
\n",
"
\n",
"
47
\n",
"
Credit card or prepaid card
\n",
"
7
\n",
"
\n",
"
\n",
"
67
\n",
"
Bank account or service
\n",
"
8
\n",
"
\n",
"
\n",
"
70
\n",
"
Consumer Loan
\n",
"
9
\n",
"
\n",
"
\n",
"
118
\n",
"
Money transfer, virtual currency, or money ser...
\n",
"
10
\n",
"
\n",
"
\n",
"
128
\n",
"
Other financial service
\n",
"
11
\n",
"
\n",
"
\n",
"
1283
\n",
"
Money transfers
\n",
"
12
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Product category_id\n",
"0 Credit reporting, repair, or other 0\n",
"1 Debt collection 1\n",
"3 Student loan 2\n",
"7 Checking or savings account 3\n",
"10 Mortgage 4\n",
"14 Payday loan, title loan, or personal loan 5\n",
"24 Vehicle loan or lease 6\n",
"47 Credit card or prepaid card 7\n",
"67 Bank account or service 8\n",
"70 Consumer Loan 9\n",
"118 Money transfer, virtual currency, or money ser... 10\n",
"128 Other financial service 11\n",
"1283 Money transfers 12"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Create a new column 'category_id' with encoded categories \n",
"df['category_id'] = df['Product'].factorize()[0]\n",
"category_id_df = df[['Product', 'category_id']].drop_duplicates()\n",
"\n",
"\n",
"category_id_df"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Product
\n",
"
Consumer_complaint
\n",
"
category_id
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
Credit reporting, repair, or other
\n",
"
it is the repeated fraud attempt from experian...
\n",
"
0
\n",
"
\n",
"
\n",
"
1
\n",
"
Debt collection
\n",
"
We received multiple voice mails from Weltman,...
\n",
"
1
\n",
"
\n",
"
\n",
"
2
\n",
"
Debt collection
\n",
"
Deactivated my car whenever I was a day late m...
\n",
"
1
\n",
"
\n",
"
\n",
"
3
\n",
"
Student loan
\n",
"
My complaint is regarding my Student Loan Serv...
\n",
"
2
\n",
"
\n",
"
\n",
"
4
\n",
"
Debt collection
\n",
"
Syndicated Office Systems is currently reporti...
\n",
"
1
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Product \\\n",
"0 Credit reporting, repair, or other \n",
"1 Debt collection \n",
"2 Debt collection \n",
"3 Student loan \n",
"4 Debt collection \n",
"\n",
" Consumer_complaint category_id \n",
"0 it is the repeated fraud attempt from experian... 0 \n",
"1 We received multiple voice mails from Weltman,... 1 \n",
"2 Deactivated my car whenever I was a day late m... 1 \n",
"3 My complaint is regarding my Student Loan Serv... 2 \n",
"4 Syndicated Office Systems is currently reporti... 1 "
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Dictionaries for future use\n",
"category_to_id = dict(category_id_df.values)\n",
"id_to_category = dict(category_id_df[['category_id', 'Product']].values)\n",
"\n",
"# New dataframe\n",
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Text preprocessing\n",
"- convert words to vectors\n",
"- use TF-IDF to determine word importance\n",
"\n",
"__TF-IDF__ is the product of the __TF__ and __IDF__ scores of the term.
$$\\text{TF-IDF}=\\frac{\\text{TF}}{\\text{IDF}}$$ \n",
"\n",
"__Term Frequency :__ This summarizes how often a given word appears within a document.\n",
"\n",
"$$\\text{TF} = \\frac{\\text{Number of times the term appears in the doc}}{\\text{Total number of words in the doc}}$$
\n",
"__Inverse Document Frequency:__ This downscales words that appear a lot across documents. A term has a high IDF score if it appears in a few documents. Conversely, if the term is very common among documents (i.e., “the”, “a”, “is”), the term would have a low IDF score. \n",
"\n",
"$$\\text{IDF} = \\ln\\left(\\frac{\\text{Number of docs}}{\\text{Number docs the term appears in}} \\right)$$ "
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.feature_extraction.text import TfidfVectorizer"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__n-gram__ is a contiguous sequence of n items from a given sample of text \n",
"\n",
"__unigrams__ are single words\n",
"\n",
"__bigram__ are double words"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [],
"source": [
"tfidf = TfidfVectorizer(sublinear_tf=True, min_df=5, ngram_range=(1, 2), stop_words='english')\n",
"\n",
"# use tfidf to transform complaints into vectors\n",
"features = tfidf.fit_transform(df.Consumer_complaint).toarray()\n",
"\n",
"labels = df.category_id"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(10000, 28342)"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"features.shape"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### A metric that you might use for feature selection is chi-squared \n",
"\n",
"- The chi-square test measures dependence between stochastic variables\n",
"- A \"goodness of fit\" statistic, because it measures how well the observed distribution of data fits with the distribution that is expected if the variables are independent"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" Bank account or service: \n",
"------------\n",
" -->Most Correlated Unigrams are: bank, deposit, overdraft\n",
" -->Most Correlated Bigrams are: overdraft fee, checking account, overdraft fees\n",
"\n",
" Checking or savings account: \n",
"------------\n",
" -->Most Correlated Unigrams are: deposited, checking, overdraft\n",
" -->Most Correlated Bigrams are: debit card, savings account, checking account\n",
"\n",
" Consumer Loan: \n",
"------------\n",
" -->Most Correlated Unigrams are: dealer, vehicle, car\n",
" -->Most Correlated Bigrams are: credit acceptance, leased vehicle, acceptance corp\n",
"\n",
" Credit card or prepaid card: \n",
"------------\n",
" -->Most Correlated Unigrams are: express, citi, card\n",
" -->Most Correlated Bigrams are: synchrony bank, american express, credit card\n",
"\n",
" Credit reporting, repair, or other: \n",
"------------\n",
" -->Most Correlated Unigrams are: experian, report, equifax\n",
" -->Most Correlated Bigrams are: credit bureaus, credit file, credit report\n",
"\n",
" Debt collection: \n",
"------------\n",
" -->Most Correlated Unigrams are: collect, collection, debt\n",
" -->Most Correlated Bigrams are: debt collector, collection agency, collect debt\n",
"\n",
" Money transfer, virtual currency, or money service: \n",
"------------\n",
" -->Most Correlated Unigrams are: wire, paypal, coinbase\n",
" -->Most Correlated Bigrams are: xxxx coinbase, coinbase xxxx, coinbase account\n",
"\n",
" Money transfers: \n",
"------------\n",
" -->Most Correlated Unigrams are: paypal, gram, moneygram\n",
" -->Most Correlated Bigrams are: contacted paypal, money gram, money soon\n",
"\n",
" Mortgage: \n",
"------------\n",
" -->Most Correlated Unigrams are: escrow, modification, mortgage\n",
" -->Most Correlated Bigrams are: mortgage company, mortgage payment, loan modification\n",
"\n",
" Other financial service: \n",
"------------\n",
" -->Most Correlated Unigrams are: authorizations, screwed, global\n",
" -->Most Correlated Bigrams are: according usps, rate 11, check services\n",
"\n",
" Payday loan, title loan, or personal loan: \n",
"------------\n",
" -->Most Correlated Unigrams are: loan, loaned, payday\n",
" -->Most Correlated Bigrams are: loan lending, payday loans, payday loan\n",
"\n",
" Student loan: \n",
"------------\n",
" -->Most Correlated Unigrams are: student, loans, navient\n",
" -->Most Correlated Bigrams are: student loan, loan forgiveness, student loans\n",
"\n",
" Vehicle loan or lease: \n",
"------------\n",
" -->Most Correlated Unigrams are: santander, car, vehicle\n",
" -->Most Correlated Bigrams are: consumer usa, gap insurance, santander consumer\n"
]
}
],
"source": [
"from sklearn.feature_selection import chi2\n",
"\n",
"# Finding the three most correlated terms with each of the product categories\n",
"N = 3\n",
"for Product, category_id in sorted(category_to_id.items()):\n",
"\n",
" #calculate chi2 values for features\n",
" features_chi2 = chi2(features, labels == category_id)\n",
" #select indices of features\n",
" indices = np.argsort(features_chi2[0])\n",
" #get feature names corresponding to those indices\n",
" feature_names = np.array(tfidf.get_feature_names())[indices]\n",
"\n",
" #for each value in feature, extract uni and bi grams\n",
" unigrams = [v for v in feature_names if len(v.split(' ')) == 1]\n",
" bigrams = [v for v in feature_names if len(v.split(' ')) == 2]\n",
"\n",
" #print top N uni and bigrams\n",
" print(\"\\n %s:\" %(Product),'\\n------------')\n",
" print(\" -->Most Correlated Unigrams are: %s\" %(', '.join(unigrams[-N:])))\n",
" print(\" -->Most Correlated Bigrams are: %s\" %(', '.join(bigrams[-N:])))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Before we can train and test a model, the data needs to be split up into train and test subsets. Scikitlearn's train_test_split package is useful for quickly completing this step - it also has parameters that you can alter to suit your data.\n",
"\n",
"- test_size\n",
"- random_state\n"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [],
"source": [
"X = df['Consumer_complaint'] # complaint documents\n",
"y = df['Product'] # Target labels we want to predict (13 different product types)\n",
"\n",
"#split the data into train and test sets\n",
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25)"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.linear_model import LogisticRegression\n",
"\n",
"X_train, X_test, y_train, y_test,indices_train,indices_test = train_test_split(features, \n",
" labels, \n",
" df.index, test_size=0.20)\n",
"model = LogisticRegression()\n",
"model.fit(X_train, y_train)\n",
"predictions = model.predict(X_test)"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Accuracy score: 0.7705\n"
]
}
],
"source": [
"from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score\n",
"print('Accuracy score: {}'.format(accuracy_score(y_test, predictions)))"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"from sklearn.metrics import confusion_matrix\n",
"\n",
"conf_mat = confusion_matrix(y_test, predictions)\n",
"fig, ax = plt.subplots(figsize=(8,8))\n",
"sns.heatmap(conf_mat, annot=True, cmap=\"Greens\", fmt='d',\n",
" xticklabels=category_id_df.Product.values, \n",
" yticklabels=category_id_df.Product.values)\n",
"plt.ylabel('Actual')\n",
"plt.xlabel('Predicted')\n",
"plt.title(\"Confusion Matrix for Logistic Regression\\n\", size=16);"
]
},
{
"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.7.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}