The goal of project is to predict the consumer complaint category. This is the “Product” variable in the training data set.May use any of the other variables to predict with. We should create a report describing how we built the model, how we used cross validation, what we think the expected out of sample error is, and why we made the choices we did. We will also use the prediction model to predict 20 different test cases.
In this project, the consumer complains data from the Consumer Complaint Database (CFPB) https://www.consumerfinance.gov/data-research/consumer-complaints/. would be used. The CFPB is an independent agency of the United States government that promotes transparency and protects consumers by providing information needed to make decisions when choosing financial institutions including banking institutions, lenders, mortgage services, credit unions, securities firms, foreclosure services, and debt collectors. One of the purposes of the agency is to receive and process complaints and questions about consumer financial products and services.
When a complaint is submitted by a consumer, the CFPB has to determine which category the complaint falls in (e.g. “Mortgage”, “Student loan”, etc). In this project, the goal would be to build a classification algorithm to classify consumer complaints into one of four categories: “Credit card or prepaid card”, “Mortgage”, “Student loan”, or “Vehicle loan or lease”. The datasets can be downloaded from the course website:
Load required library
options(warn=-1)
library(tidyverse) # for data frame manipulation
## -- Attaching packages --------------------------------------- tidyverse 1.3.0 --
## v ggplot2 3.3.3 v purrr 0.3.4
## v tibble 3.1.0 v dplyr 1.0.3
## v tidyr 1.1.2 v stringr 1.4.0
## v readr 1.4.0 v forcats 0.5.0
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(tidymodels) # for ML
## -- Attaching packages -------------------------------------- tidymodels 0.1.2 --
## v broom 0.7.5 v recipes 0.1.15
## v dials 0.0.9 v rsample 0.0.9
## v infer 0.5.4 v tune 0.1.3
## v modeldata 0.1.0 v workflows 0.2.2
## v parsnip 0.1.5 v yardstick 0.0.8
## -- Conflicts ----------------------------------------- tidymodels_conflicts() --
## x scales::discard() masks purrr::discard()
## x dplyr::filter() masks stats::filter()
## x recipes::fixed() masks stringr::fixed()
## x dplyr::lag() masks stats::lag()
## x yardstick::spec() masks readr::spec()
## x recipes::step() masks stats::step()
library(tm) # for text manipulation
## Loading required package: NLP
##
## Attaching package: 'NLP'
## The following object is masked from 'package:ggplot2':
##
## annotate
library(ggplot2); library(RColorBrewer); library(gridExtra)
##
## Attaching package: 'gridExtra'
## The following object is masked from 'package:dplyr':
##
## combine
library(wordcloud)
library(dplyr)
library(devtools)
## Loading required package: usethis
##
## Attaching package: 'devtools'
## The following object is masked from 'package:recipes':
##
## check
library(doParallel)
## Loading required package: foreach
##
## Attaching package: 'foreach'
## The following objects are masked from 'package:purrr':
##
## accumulate, when
## Loading required package: iterators
## Loading required package: parallel
library(vip)
##
## Attaching package: 'vip'
## The following object is masked from 'package:utils':
##
## vi
df <- read.csv("data_complaints.csv" ,header= TRUE, stringsAsFactors = F)
colcount.product = length(unique(df$Product))
getPalette = colorRampPalette(brewer.pal(8, "Set2"))
ggplot(df, aes(x= Product)) + geom_bar(aes(fill = factor(Product))) + theme(axis.text.x = element_blank()) +
scale_fill_manual(values = getPalette(colcount.product))
ggplot(df, aes(x= Product)) + geom_bar(aes(fill = factor(Product))) +
scale_fill_manual(values = getPalette(colcount.product)) + coord_polar() +
theme(axis.title.x = element_blank(), axis.title.y = element_blank(),
axis.text.y = element_blank(), axis.text.x = element_text(size = 12),
axis.ticks.x = element_blank(), axis.ticks.y = element_blank())
df<-read_csv("data_complaints_train.csv")
##
## -- Column specification --------------------------------------------------------
## cols(
## Product = col_character(),
## `Consumer complaint narrative` = col_character(),
## Company = col_character(),
## State = col_character(),
## `ZIP code` = col_character(),
## `Submitted via` = col_character()
## )
glimpse(df)
## Rows: 90,975
## Columns: 6
## $ Product <chr> "Credit card or prepaid card", "Mortgag~
## $ `Consumer complaint narrative` <chr> "I initially in writing to Chase Bank i~
## $ Company <chr> "JPMORGAN CHASE & CO.", "Ditech Financi~
## $ State <chr> "CT", "GA", "IN", "MI", "MI", "FL", "WA~
## $ `ZIP code` <chr> "064XX", "None", "463XX", "490XX", "480~
## $ `Submitted via` <chr> "Web", "Web", "Web", "Web", "Web", "Web~
A few things about the data :
# Rename the complaint column and only select the two variables
df<-df %>%
rename(Complain=`Consumer complaint narrative`) %>% select(Product, Complain)
# Check if there are any categories
unique(df$Product)
## [1] "Credit card or prepaid card" "Mortgage"
## [3] "Student loan" "Vehicle loan or lease"
# Check the first few rows of Complain
head(df$Complain)
## [1] "I initially in writing to Chase Bank in late XXXX about a charge that was unauthorized on XXXX from XXXX in the amount of {$790.00} after many letters and complaints they still did not do anything yet in XXXX they closed my original account and reissued a new account and sent me a letter indicating they moved this charge to fraud and it would be immediately credited however they have failed to do that and almost 8 months later it is still on my statement and I'm getting charged interest. Even after this I still use my card and PAY for my charges and have never been late however I will not pay for a charge I didn't make and refuse and Chase refuses to do anything even after many attempts and letters they write stating so. I feel this is last step before I begin a case in XXXX XXXX XXXX XXXX against them"
## [2] "My ex husband and myself had a mobile home ( Home Mortgage ) with XXXX XXXX back in XX/XX/XXXX. I went through a horrible divorce as my husband was using drugs and failing to pay the bills which led to my having to divorce him. The Mortgage was in both of our names. We only had the Mortgage for one year and they got the trailer bc of being unable to pay debt. I was not working at the time as I had just given birth to my first child in XX/XX/XXXX ( she is now XXXX of age ) as this happened years ago. \n\nNow after 21 years, XXXX XXXX XXXX XXXX filled a XXXX XXXX to the IRS and the IRS alerted me which caused me an adverse affect on my IRS taxes. \nI received a l letter from the IRS XX/XX/XXXX which stated that due to DITECH Mortgage sending a XXXX with taxable income of {$17000.00}, this could cause me to have to owe the IRS {$2900.00}. IRS Told me to contact DITECH Financial to dispute this and request that DITECH Mortgage rescind the XXXX in order ( so it is not XXXX, XXXX taxable income ). \n\nI contacted DITECH at XXXX spoke with a \" XXXX '' and I TOLD HER THAT I did not want to be recorded but she did it anyways. \nI told her that I never settled on an amount of XXXX XXXX of a debt from a mortgage that I had back in XX/XX/XXXX with DITECH nor did I ever receive a XXXX from them. I asked them to rescind the XXXX ( taxable income of {$17000.00} ) as this is a debt from \" 20 Years ago '' in which I should not be taxed for taxable income of XXXX, XXXX on a debt from 20 years ago. However, XXXX refused to rescind ( reverse ) the XXXX. \nNOTE, I have suffered with my credit from this debt for over ten years and it was removed from my debt bc it has been over the 7 to 10 year period that the debt is lawfully removed from my credit. They can't go back 20 years later AND IN XX/XX/XXXX send the IRS and myself a XXXX form to tax me {$17000.00} for a debt from over 20 years ago that WAS charged off my credit report back in the year XX/XX/XXXX!!! this is very unfair and not allowed. \nALSO< I disputing the fact that they kept putting this on and off my credit for over 20 years now and it has negatively affected my credit for way over the 7 year period. \nPOINT BEING< IF THEY HAD PLANS OF TAXING ME AT {$17000.00} then they should have taxed me 20 yrs ago ( BEFORE THE 7 TO 10 YEAR PERIOD PASSED WHICH IS NOW WAY OVER ). If they were going to send a XXXX taxable income, they should have done this YEARS AGO NOT IN XX/XX/XXXX. I AM REQUESTING A COMPLAINT SUBMITTED AS THEY HAVE UNFAIRLY AFFECTED MY CREDIT PAST THE 20 YEAR PERIOD AND IT IS VIOLATING MY RIGHTS TO BE TAXED FOR SOMETHING IN XX/XX/XXXX ON A DEBT FROM THE YEAR XX/XX/XXXX"
## [3] "I was a student at XXXX XXXX from XX/XX/XXXX-XX/XX/XXXX. I accumulated XXXX of debt in student loans. This school flat out lied to me. I was under the assumption it would have been less than half of that since I had a lot of credits that transferred, not to mention this school promised me job placement, which they did not! They told me I would be making a lot more than what I do. They gave me false information. The only thing this school did for me is put me in tons of debt and lied to me. I am a single mother of XXXX and was so excited to get my degree. Until I graduated and realize how much they lied to me. The school is now shut down. Can I get these loans forgiven due to being lied to and given false information that basically pressured me into enrolling. If I would have known that my student loans would have been this high. I would have just stayed at the XXXX college where I did my prerequisites. I feel like I fool that XXXX had done this to me."
## [4] "It has come to my attention the CITI group is actively attempting to interfere with rights guaranteed by the Constitution ( 2nd Amendment ) by manipulating or denying service to certain entities or transactions that are protected by the Constitution. I do not expect CITI group, or any other financial institution to be controlling the nation 's activities through such unpatriotic and un-American behavior. I do expect CITI group to tend to the business of their business and stay out of the business of social tyranny."
## [5] "This banks new firearm policies run counter to laws and regulations passed by Congress, and they infringe and discriminate against an individuals Second Amendment rights. Such policies, should not be endorsed by our federal government, which instead should do business with companies that respect all of our constitutional rights, including the Second Amendment. Our federal government should take all necessary steps to review and terminate its contract with Citibank unless they rescind their guidelines."
## [6] "I only use my walmart store card to keep from having it cancelled. My sons a college student had his card cancelled for non use. I made a small purchase in XX/XX/XXXX and paid it off. Made another small purchase in XX/XX/XXXX and thought i paid it off online via wlamart.com but that seemed not to work i didn't receive a statment after that probably the mail courier.i have an apartment style mailbox system where i live. Nevertheless. So i thought all was good until credit sesame showed a past due report.i was out of town at the time. so i immediately searched walmarts payment site and paid the account in full. I also noticed that my {$400.00} account had been reduced to a mere {$110.00} just {$9.00} short of my now due payment which included aprox. {$60.00} in past due fees. So it appears that i maxed out the account by a $ 30- {$40.00} purchase. My credit dropped 47 score points from XXXX down to XXXX. From excellent to a fair rating."
We see that
only has 4 categories. We can make it into a factor. However for
Complain , it is a long narrative which is much more complicated and thus we have to clean it up. We will carry out the following clean-up process:
df_clean<-df %>% filter(Complain!=is.na(.)) %>%
mutate(Complain=gsub("[XX]+", "", Complain)) %>%
mutate(Complain=str_to_lower(Complain)) %>%
mutate(Complain=gsub("[0-9]", "", Complain)) %>%
mutate(Complain=removePunctuation(Complain)) %>%
mutate(Complain=gsub("\n", "", Complain)) %>%
mutate(Complain=gsub("\t", "", Complain)) %>%
mutate(Complain=stripWhitespace(Complain))
complains<-Corpus(VectorSource(df_clean$Complain)) %>% tm_map(removeWords, stopwords())
We will now create a document term matrix using the tm package where each complaint will be a “document” occupying a row, each “term” will be a column name, and the counts of each term per document will be the values.
dtm<-DocumentTermMatrix(complains)
inspect(dtm)
## <<DocumentTermMatrix (documents: 90975, terms: 81653)>>
## Non-/sparse entries: 7048327/7421333348
## Sparsity : 100%
## Maximal term length: 2229
## Weighting : term frequency (tf)
## Sample :
## Terms
## Docs account bank card credit loan mortgage payment payments received told
## 19650 4 34 0 3 49 10 6 7 12 0
## 25455 79 2 0 11 80 57 29 4 3 0
## 27671 2 1 0 1 4 4 8 5 1 0
## 33614 2 32 2 6 1 12 1 0 3 0
## 64243 0 0 0 0 26 15 1 10 4 2
## 68621 9 0 0 10 56 0 16 9 10 8
## 70389 1 0 0 3 2 26 0 3 0 0
## 73540 8 1 0 6 33 61 7 37 3 0
## 77518 0 0 0 0 103 0 45 1 0 2
## 84551 36 0 0 8 68 60 22 16 0 0
We note that there are 90975 documents and 81653 terms - that’s huge! We shall try to reduce our data set initially by keeping only the relevant terms for exploratory analysis. Here, we define relevant terms as terms which appear 1000 times or more.
# Find terms which appear 1000 times or more
freqTerms<-findFreqTerms(dtm, lowfreq=1000)
# Limit DTM to only contain terms that appear 1000 times or more. dtm<-DocumentTermMatrix(complains, list(dictionary=freqTerms))
inspect(dtm)
## <<DocumentTermMatrix (documents: 90975, terms: 81653)>>
## Non-/sparse entries: 7048327/7421333348
## Sparsity : 100%
## Maximal term length: 2229
## Weighting : term frequency (tf)
## Sample :
## Terms
## Docs account bank card credit loan mortgage payment payments received told
## 19650 4 34 0 3 49 10 6 7 12 0
## 25455 79 2 0 11 80 57 29 4 3 0
## 27671 2 1 0 1 4 4 8 5 1 0
## 33614 2 32 2 6 1 12 1 0 3 0
## 64243 0 0 0 0 26 15 1 10 4 2
## 68621 9 0 0 10 56 0 16 9 10 8
## 70389 1 0 0 3 2 26 0 3 0 0
## 73540 8 1 0 6 33 61 7 37 3 0
## 77518 0 0 0 0 103 0 45 1 0 2
## 84551 36 0 0 8 68 60 22 16 0 0
We have reduced the number of terms to 1552, but the sparsity has dropped marginally to 96%. Let’s further simplify by removing sparse terms which have at least 95% of sparse elements (i.e, terms only occurring 0 times in a document) which can help to reduce the matrix without losing significant relations inherent to the matrix.
dtm<-removeSparseTerms(dtm, 0.95)
inspect(dtm)
## <<DocumentTermMatrix (documents: 90975, terms: 341)>>
## Non-/sparse entries: 3548325/27474150
## Sparsity : 89%
## Maximal term length: 14
## Weighting : term frequency (tf)
## Sample :
## Terms
## Docs account bank card credit loan mortgage payment payments received told
## 11002 1 5 0 1 68 42 4 4 10 1
## 11343 4 0 1 9 30 6 7 1 2 57
## 25455 79 2 0 11 80 57 29 4 3 0
## 37990 12 6 0 11 41 6 6 4 29 9
## 56802 18 7 0 0 6 20 17 17 21 8
## 60769 0 0 6 5 43 6 7 4 27 18
## 64243 0 0 0 0 26 15 1 10 4 2
## 68621 9 0 0 10 56 0 16 9 10 8
## 70174 8 1 0 7 41 5 59 32 5 9
## 84551 36 0 0 8 68 60 22 16 0 0
We have reduced the number of terms to 341, and the sparsity is now 89%. Following which, lets now carry out some simple exploratory analysis on the dataset. We can start by finding out the top 150 terms.
# Convert to Matrix for further processing
dtm_mat<-as.matrix(dtm)
# Get the total number of counts for each term and show the top 150 terms
sumTerm<-colSums(dtm_mat) %>%
.[order(-.)]
head(sumTerm, 150)
## payment credit account loan card
## 125209 123231 117566 116300 93671
## told mortgage payments received bank
## 76344 73598 73240 67255 63024
## time called one pay company
## 62293 61445 52298 51811 51569
## back due get will made
## 50662 49787 48903 48615 48526
## never said can call amount
## 47774 45900 45510 44637 44617
## paid information sent interest now
## 44542 42565 42548 42043 40050
## letter also late balance home
## 39799 39453 39253 38122 36074
## since days make month phone
## 35532 34912 34029 33346 33049
## asked still money months new
## 32690 31371 31006 29746 29102
## even service email number customer
## 28717 28081 27621 27604 26921
## years date help loans check
## 26660 26045 25725 25575 25024
## just statement first charge another
## 24582 23808 22992 22745 22681
## request report chase charges fees
## 22511 22450 22237 22001 21947
## times stated contacted day insurance
## 21883 21656 21563 21552 21435
## issue two complaint see fee
## 21151 21099 20936 20663 20596
## need process escrow know like
## 20144 19818 19747 19565 19369
## monthly property closed documents spoke
## 19358 19242 19003 18996 18875
## year modification please applied dispute
## 18740 18528 18504 18354 18296
## requested representative contact take car
## 18258 18064 18009 17853 17835
## want going financial without send
## 17745 17662 17501 17237 17233
## last got however receive rate
## 17183 17168 17066 16982 16894
## several department fraud went able
## 16876 16811 16792 16675 16662
## full charged online work didnt
## 16627 16573 16342 15917 15843
## paying provided dont every informed
## 15769 15652 15634 15593 15522
## business application well tried name
## 15295 15063 14718 14641 14520
## provide stating put address refund
## 14519 14308 14307 14138 14011
## response trying case later bill
## 13969 13927 13613 13587 13498
## calls mail needed purchase nothing
## 13459 13452 13419 13373 13225
## today past way done current
## 13079 13001 12862 12792 12715
## debt funds used closing took
## 12707 12701 12637 12577 12551
#Sum count of each term across all documents
cumulativeAllTerms<-colSums(as.matrix(dtm_mat))
#Sort in descending order and take top 30 terms
Top30<-head(cumulativeAllTerms[order(-cumulativeAllTerms)], 150)
#Convert to data frame
Top30<-data.frame(term=names(Top30), count=Top30)
Top30<-Top30[order(-Top30$count),]
#Plot
barplot(rev(Top30$count), horiz = T, names.arg = Top30$term, las=2, col="blue", main="Most Frequ
ent 150 Terms")
It appears that there are several other frequent words in the top 150 which may not add value to the data set e.g. “told”, “called”, “back”, “get”, “will” etc. Let’s remove them to make the data cleaner.
extraStopWords<-c("told", "called", "back", "get", "will", "never", "said", "can", "call", "now", "also",
"even", "just", "like", "please", "take", "want", "going", "without", "got", "however",
"went", "able", "didnt", "dont", "put", "later", "way", "done", "needed", "today", "used", "took")
complains<-tm_map(complains, removeWords, extraStopWords)
Now, we shall recreate the DTM, but with all the additional filters.
# Create a new DTM with all previous filters.
dtm<-DocumentTermMatrix(complains, list(dictionary=freqTerms))
inspect(dtm)
## <<DocumentTermMatrix (documents: 90975, terms: 1552)>>
## Non-/sparse entries: 5138413/136054787
## Sparsity : 96%
## Maximal term length: 15
## Weighting : term frequency (tf)
## Sample :
## Terms
## Docs account bank card credit loan mortgage payment payments received time
## 11002 1 5 0 1 68 42 4 4 10 10
## 19650 4 34 0 3 49 10 6 7 12 5
## 25436 67 6 0 9 86 61 25 3 5 2
## 25455 79 2 0 11 80 57 29 4 3 3
## 60769 0 0 6 5 43 6 7 4 27 9
## 64243 0 0 0 0 26 15 1 10 4 20
## 68621 9 0 0 10 56 0 16 9 10 15
## 73540 8 1 0 6 33 61 7 37 3 2
## 84551 36 0 0 8 68 60 22 16 0 8
## 9878 2 6 0 0 16 16 13 1 13 4
dtm<-removeSparseTerms(dtm, 0.95)
inspect(dtm)
## <<DocumentTermMatrix (documents: 90975, terms: 308)>>
## Non-/sparse entries: 2977757/25042543
## Sparsity : 89%
## Maximal term length: 14
## Weighting : term frequency (tf)
## Sample :
## Terms
## Docs account bank card credit loan mortgage payment payments received time
## 11002 1 5 0 1 68 42 4 4 10 10
## 15879 2 73 0 0 19 12 2 6 38 6
## 19650 4 34 0 3 49 10 6 7 12 5
## 25436 67 6 0 9 86 61 25 3 5 2
## 25455 79 2 0 11 80 57 29 4 3 3
## 56802 18 7 0 0 6 20 17 17 21 12
## 60769 0 0 6 5 43 6 7 4 27 9
## 64243 0 0 0 0 26 15 1 10 4 20
## 68621 9 0 0 10 56 0 16 9 10 15
## 84551 36 0 0 8 68 60 22 16 0 8
We have reduced the number of terms to 308.
As we have briefly processed the “train” data set as dtm previously, we would now need to split it into training (75%) and test (25%) sets. Let’s start by creating the training data set.
# Convert Product to a factor
df_clean<-df_clean %>% mutate(Product=factor(Product))
# Convert dtm_mat into a data frame and add the outcome Product column.
dtm_mat<-as.matrix(dtm)
dtm_train<-dtm_mat %>% as.matrix() %>%
as.data.frame() %>% bind_cols(Product=df_clean$Product) %>% select(Product, everything())
# Create the training data set
set.seed(1234)
split_dtm<-initial_split(dtm_train, strata=Product, prop=3/4)
training_dtm<-training(split_dtm)
count(training_dtm, Product)
## Product n
## 1 Credit card or prepaid card 28721
## 2 Mortgage 23218
## 3 Student loan 9364
## 4 Vehicle loan or lease 6930
We shall do the same for the testing data set.
testing_dtm<-testing(split_dtm)
count(testing_dtm, Product)
## Product n
## 1 Credit card or prepaid card 9573
## 2 Mortgage 7739
## 3 Student loan 3121
## 4 Vehicle loan or lease 2309
Before moving on, we can also create cross validation folds with rsample . We will carry out a 10-fold cross-validation.
vfold_dtm<-vfold_cv(data=training_dtm, v=10)
vfold_dtm
## # 10-fold cross-validation
## # A tibble: 10 x 2
## splits id
## <list> <chr>
## 1 <split [61409/6824]> Fold01
## 2 <split [61409/6824]> Fold02
## 3 <split [61409/6824]> Fold03
## 4 <split [61410/6823]> Fold04
## 5 <split [61410/6823]> Fold05
## 6 <split [61410/6823]> Fold06
## 7 <split [61410/6823]> Fold07
## 8 <split [61410/6823]> Fold08
## 9 <split [61410/6823]> Fold09
## 10 <split [61410/6823]> Fold10
pull(vfold_dtm, splits)
## [[1]]
## <Analysis/Assess/Total>
## <61409/6824/68233>
##
## [[2]]
## <Analysis/Assess/Total>
## <61409/6824/68233>
##
## [[3]]
## <Analysis/Assess/Total>
## <61409/6824/68233>
##
## [[4]]
## <Analysis/Assess/Total>
## <61410/6823/68233>
##
## [[5]]
## <Analysis/Assess/Total>
## <61410/6823/68233>
##
## [[6]]
## <Analysis/Assess/Total>
## <61410/6823/68233>
##
## [[7]]
## <Analysis/Assess/Total>
## <61410/6823/68233>
##
## [[8]]
## <Analysis/Assess/Total>
## <61410/6823/68233>
##
## [[9]]
## <Analysis/Assess/Total>
## <61410/6823/68233>
##
## [[10]]
## <Analysis/Assess/Total>
## <61410/6823/68233>
# Check first fold
first_fold<-vfold_dtm$splits[[1]]
# Training set of this fold
head(as.data.frame(first_fold, data="analysis"))
## Product account almost amount anything bank card case
## 1 Credit card or prepaid card 2 1 1 2 1 1 1
## 2 Mortgage 0 0 1 0 0 0 0
## 3 Student loan 0 0 0 0 0 0 0
## 4 Credit card or prepaid card 0 0 0 0 0 0 0
## 5 Credit card or prepaid card 0 0 0 0 0 0 0
## 6 Credit card or prepaid card 3 0 0 0 0 2 0
## charge charged charges chase closed feel fraud getting immediately interest
## 1 3 1 1 2 1 1 1 1 1 1
## 2 0 1 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 1 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 1 0
## last late letter make many months new original pay sent statement stating
## 1 1 2 1 1 2 1 1 1 2 1 1 1
## 2 0 0 1 0 0 0 0 0 2 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 1 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0 0
## still use yet ago asked cant complaint contact contacted credit debt dispute
## 1 3 1 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 6 1 1 1 1 1 6 9 1
## 3 0 0 0 0 0 0 0 0 0 0 2 0
## 4 0 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0 0
## 6 0 2 0 0 0 0 0 0 0 2 0 0
## due ever fact financial first form given happened home income mortgage note
## 1 0 0 0 0 0 0 0 0 0 0 0 0
## 2 1 1 1 1 1 1 1 1 2 5 6 1
## 3 1 0 0 0 0 0 1 0 0 0 0 0
## 4 0 0 0 1 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0 0
## 6 3 0 0 0 0 0 0 0 0 0 0 0
## one order owe past period point receive received refused removed report
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 1 1 1 1 4 1 1 1 1 2 1
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 2 0 0 1 0 0 0 0
## request requesting send something spoke stated submitted time unable using
## 1 0 0 0 0 0 0 0 0 0 0
## 2 1 1 2 1 1 1 1 1 1 1
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 1 0 0
## working year years gave information loans making much since student
## 1 0 0 0 0 0 0 0 0 0 0
## 2 1 7 9 0 0 0 0 0 0 0
## 3 0 0 0 1 2 3 1 1 1 3
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 1
## transferred business service federal including instead review second another
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 1 0 0 0 0 0 0 0 0
## 4 0 3 1 0 0 0 0 0 0
## 5 0 1 0 2 1 1 1 2 0
## 6 0 0 0 0 0 0 0 0 1
## fees full good keep made mail online paid payment purchase score system
## 1 0 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0 0
## 6 1 1 1 1 2 1 1 3 2 3 1 1
## thought via work answer applied ask check fee help need previous problem
## 1 0 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0 0
## 6 2 1 1 0 0 0 0 0 0 0 0 0
## provided representative response started three calls company days end hours
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## payments phone agreement asking loan office paperwork paying regarding see
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## statements understand wanted advised around balance find money monthly rep
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## reporting returned website week assistance complete department documents
## 1 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0
## every issue may modification month number process stop funds give know matter
## 1 0 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0 0
## provide say thank times transaction believe currently next program services
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## several address calling claim filed informed let someone status continue
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## either everything found people taken based cfpb rate refund requested resolve
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0
## total tried upon additional change changed day notified wrong close offered
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0
## opened bill car hold reason agent date fraudulent insurance property
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## servicing already correct current dated following foreclosure law part place
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## required came house lender name try application apply recently plan situation
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0
## always customer long multiple saying terms weeks attached available denied
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## email error set well closing sold tell escrow attorney ive resolved reported
## 1 0 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0 0
## state states file must though two different longer receiving sure accounts
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0
## consumer documentation nothing per return cards finally line notice signed
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## explained proof approved offer supervisor trying wasnt agreed copy issues
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## prior within right history show transfer look purchased care left person owed
## 1 0 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0 0
## manager speak showing
## 1 0 0 0
## 2 0 0 0
## 3 0 0 0
## 4 0 0 0
## 5 0 0 0
## 6 0 0 0
# Test set of this fold
head(as.data.frame(first_fold, data="assessment"))
## Product account almost amount anything bank card case
## 43 Credit card or prepaid card 0 0 0 0 0 0 0
## 50 Credit card or prepaid card 1 0 2 0 8 1 0
## 63 Mortgage 0 0 0 0 0 0 0
## 88 Student loan 0 0 1 1 0 0 0
## 92 Credit card or prepaid card 0 0 2 1 0 6 0
## 104 Credit card or prepaid card 1 0 1 0 0 0 0
## charge charged charges chase closed feel fraud getting immediately interest
## 43 0 0 0 0 0 0 0 0 0 0
## 50 0 1 2 0 0 0 0 0 0 0
## 63 0 0 0 0 0 0 0 0 2 0
## 88 0 0 0 0 0 0 0 0 0 0
## 92 0 0 0 0 0 0 0 0 0 0
## 104 0 0 0 0 0 0 0 1 0 0
## last late letter make many months new original pay sent statement stating
## 43 0 0 0 0 0 0 0 0 0 0 0 0
## 50 0 0 1 0 0 0 0 0 0 1 0 2
## 63 0 0 0 0 0 0 0 0 0 2 1 0
## 88 0 0 0 1 0 1 0 0 1 0 0 0
## 92 0 0 0 0 0 0 0 0 0 0 0 0
## 104 0 0 1 0 0 0 1 0 2 1 2 0
## still use yet ago asked cant complaint contact contacted credit debt
## 43 0 0 0 0 0 0 0 0 0 0 0
## 50 0 0 0 0 0 0 3 0 0 2 0
## 63 1 0 0 0 0 0 0 0 0 0 0
## 88 0 0 0 0 0 3 0 0 1 0 0
## 92 0 0 0 0 0 0 0 0 1 3 0
## 104 1 0 0 0 0 0 2 0 0 0 0
## dispute due ever fact financial first form given happened home income
## 43 0 0 0 0 0 0 0 0 0 0 0
## 50 1 0 1 1 0 0 0 0 0 0 0
## 63 0 0 0 0 0 0 0 0 0 0 1
## 88 0 1 0 0 0 0 0 0 0 0 0
## 92 0 0 0 0 0 0 0 0 0 0 0
## 104 0 0 0 0 0 1 0 0 0 0 0
## mortgage note one order owe past period point receive received refused
## 43 0 0 0 0 0 0 0 0 0 0 0
## 50 0 0 0 0 0 0 0 0 0 0 0
## 63 0 0 0 0 0 0 0 0 0 0 0
## 88 0 0 0 0 0 1 0 0 0 2 0
## 92 0 0 0 0 0 0 0 0 0 1 0
## 104 0 0 0 0 2 0 0 1 0 1 2
## removed report request requesting send something spoke stated submitted
## 43 0 0 0 0 0 0 0 0 0
## 50 0 0 0 1 0 0 0 0 0
## 63 0 0 0 0 0 0 0 0 0
## 88 0 0 0 0 0 0 0 0 0
## 92 0 0 0 0 0 1 0 1 0
## 104 0 0 0 0 1 0 0 0 0
## time unable using working year years gave information loans making much
## 43 0 0 0 0 0 0 0 0 0 0 0
## 50 1 0 0 0 0 0 0 0 0 0 1
## 63 0 0 0 0 0 0 0 0 0 0 0
## 88 0 0 0 0 0 1 0 0 1 0 0
## 92 0 0 0 0 1 0 0 0 0 0 0
## 104 0 0 1 0 0 0 0 0 0 0 1
## since student transferred business service federal including instead review
## 43 0 0 0 0 0 0 0 0 0
## 50 1 0 0 0 0 0 0 1 0
## 63 0 0 0 0 0 0 0 0 1
## 88 0 0 0 0 0 0 0 0 0
## 92 0 0 0 1 3 0 0 1 0
## 104 0 0 0 0 0 0 0 0 0
## second another fees full good keep made mail online paid payment purchase
## 43 2 0 0 0 0 0 0 0 0 0 0 0
## 50 0 0 0 0 0 0 0 0 1 1 0 0
## 63 0 0 0 0 0 0 0 0 0 0 0 0
## 88 0 0 0 0 0 0 0 0 0 0 5 0
## 92 0 0 0 0 0 0 0 0 0 1 0 1
## 104 1 0 0 0 0 0 0 1 0 0 0 0
## score system thought via work answer applied ask check fee help need
## 43 0 0 0 0 0 0 0 0 0 0 0 0
## 50 0 0 0 0 0 0 0 0 0 0 0 0
## 63 0 0 0 1 0 0 0 0 0 0 0 0
## 88 0 0 0 0 0 0 0 0 0 0 1 0
## 92 0 0 0 0 0 0 0 0 0 0 0 0
## 104 0 0 0 0 0 0 0 0 0 0 0 0
## previous problem provided representative response started three calls
## 43 0 0 0 0 0 0 0 0
## 50 0 0 0 0 0 0 0 0
## 63 0 0 0 0 0 0 1 0
## 88 0 0 0 0 0 0 0 1
## 92 0 0 0 1 0 0 0 0
## 104 0 0 0 0 0 0 0 0
## company days end hours payments phone agreement asking loan office
## 43 0 0 0 0 0 0 0 0 0 0
## 50 2 0 0 0 0 0 0 0 0 0
## 63 0 0 0 0 0 0 0 0 0 0
## 88 0 0 0 0 0 0 0 0 0 0
## 92 0 0 0 0 0 0 3 0 0 0
## 104 1 0 0 0 1 0 0 0 0 0
## paperwork paying regarding see statements understand wanted advised around
## 43 0 0 0 0 0 0 0 0 0
## 50 0 1 0 0 0 0 0 0 0
## 63 0 0 0 0 0 0 0 0 0
## 88 0 0 1 0 0 0 0 0 0
## 92 0 2 0 0 2 0 0 0 0
## 104 0 2 0 0 0 0 0 0 0
## balance find money monthly rep reporting returned website week assistance
## 43 0 0 0 0 0 0 0 0 0 0
## 50 0 1 0 0 0 0 0 0 0 0
## 63 0 0 0 0 0 0 0 0 0 0
## 88 0 0 0 1 0 0 0 0 0 0
## 92 0 0 0 1 2 0 0 0 0 0
## 104 1 0 1 0 0 0 0 0 0 0
## complete department documents every issue may modification month number
## 43 0 0 0 0 0 0 0 0 0
## 50 0 0 0 0 0 0 0 0 0
## 63 0 0 2 0 0 0 0 0 0
## 88 0 0 0 0 0 0 0 0 0
## 92 0 0 0 0 0 0 0 0 0
## 104 0 0 0 0 0 0 0 0 0
## process stop funds give know matter provide say thank times transaction
## 43 0 0 0 0 1 0 0 0 0 0 0
## 50 0 0 0 1 0 0 0 1 0 0 0
## 63 0 0 0 0 0 0 0 0 0 2 0
## 88 0 0 0 0 0 0 0 0 0 1 0
## 92 0 0 0 0 0 1 0 0 0 0 0
## 104 0 0 0 0 0 0 0 0 2 0 0
## believe currently next program services several address calling claim filed
## 43 0 0 0 0 0 0 0 0 0 0
## 50 0 0 0 1 0 0 0 0 0 0
## 63 0 0 0 0 0 0 0 0 0 0
## 88 0 0 0 0 0 0 0 0 0 0
## 92 0 0 0 0 0 0 0 0 0 0
## 104 1 0 0 0 0 0 3 0 0 0
## informed let someone status continue either everything found people taken
## 43 0 0 0 0 0 0 0 0 0 0
## 50 0 0 0 0 0 0 0 0 0 0
## 63 0 0 0 0 1 0 0 0 0 0
## 88 0 0 0 0 0 0 0 0 0 0
## 92 0 0 0 0 0 0 0 0 0 0
## 104 0 0 0 0 0 0 0 0 0 0
## based cfpb rate refund requested resolve total tried upon additional change
## 43 0 0 0 0 0 0 0 0 0 0 0
## 50 0 0 0 0 0 0 1 0 0 0 0
## 63 0 0 0 0 0 0 0 0 0 0 0
## 88 0 0 0 0 0 0 0 0 0 0 0
## 92 1 0 0 0 0 0 1 0 0 0 0
## 104 0 3 0 0 0 0 0 0 0 0 0
## changed day notified wrong close offered opened bill car hold reason agent
## 43 0 0 0 0 0 0 0 0 0 0 0 0
## 50 0 0 0 0 0 0 0 0 4 0 0 0
## 63 0 0 0 0 0 0 0 0 0 0 0 0
## 88 0 0 0 0 0 0 0 0 0 0 0 0
## 92 0 0 0 0 0 0 0 0 0 0 0 0
## 104 0 0 0 0 0 0 0 0 0 0 0 0
## date fraudulent insurance property servicing already correct current dated
## 43 0 0 0 0 0 0 0 0 0
## 50 0 1 0 0 0 0 0 0 0
## 63 0 0 0 0 1 0 0 0 0
## 88 0 0 0 0 0 0 0 1 0
## 92 0 0 0 0 0 0 0 0 0
## 104 0 0 0 0 0 0 0 0 1
## following foreclosure law part place required came house lender name try
## 43 0 0 0 0 0 0 0 0 0 0 0
## 50 0 0 0 2 0 0 0 0 0 0 0
## 63 1 0 0 0 0 0 0 0 0 0 0
## 88 0 0 0 0 0 0 0 1 1 0 0
## 92 0 0 0 0 0 1 0 0 0 0 0
## 104 0 0 0 0 0 0 0 0 0 0 0
## application apply recently plan situation always customer long multiple
## 43 0 0 0 0 0 0 0 0 0
## 50 0 0 0 0 0 0 0 0 0
## 63 0 0 0 0 0 0 0 0 2
## 88 0 0 0 0 0 0 0 0 0
## 92 0 0 0 0 0 0 1 0 0
## 104 0 0 0 0 0 0 0 0 0
## saying terms weeks attached available denied email error set well closing
## 43 0 0 0 0 0 0 0 0 0 1 0
## 50 0 0 0 0 0 2 0 0 0 0 0
## 63 0 0 1 4 0 0 1 0 0 0 0
## 88 0 0 0 0 0 0 0 0 0 0 0
## 92 0 1 0 0 0 0 0 0 0 0 0
## 104 1 0 0 0 0 0 2 0 0 0 1
## sold tell escrow attorney ive resolved reported state states file must
## 43 0 0 0 0 0 0 0 0 0 0 0
## 50 0 0 0 0 0 0 0 0 0 0 0
## 63 0 0 0 0 0 0 0 0 0 3 0
## 88 0 0 0 0 0 0 0 0 0 0 0
## 92 0 0 0 0 0 0 0 0 0 0 0
## 104 0 0 0 0 0 0 0 0 0 0 0
## though two different longer receiving sure accounts consumer documentation
## 43 0 0 0 0 0 0 0 0 0
## 50 0 0 0 0 0 0 0 0 0
## 63 0 2 0 0 0 0 0 0 0
## 88 0 0 0 0 0 0 0 0 0
## 92 0 0 0 0 0 0 0 0 0
## 104 0 0 0 0 0 0 0 0 0
## nothing per return cards finally line notice signed explained proof
## 43 0 0 0 0 0 0 0 0 0 0
## 50 0 0 0 0 0 0 0 0 0 0
## 63 1 0 0 0 0 0 0 0 0 0
## 88 0 0 1 0 0 0 0 0 1 0
## 92 0 0 0 0 0 0 0 0 0 0
## 104 0 0 0 0 0 0 0 0 0 0
## approved offer supervisor trying wasnt agreed copy issues prior within
## 43 0 0 0 0 0 0 0 0 0 0
## 50 0 0 0 0 0 0 1 0 0 0
## 63 0 0 0 0 0 0 0 0 0 0
## 88 0 0 0 0 0 0 0 0 0 0
## 92 0 0 0 0 0 0 0 0 0 0
## 104 0 0 0 0 0 0 0 0 0 0
## right history show transfer look purchased care left person owed manager
## 43 0 0 0 0 0 0 0 0 0 0 0
## 50 2 0 0 0 0 0 0 0 0 0 0
## 63 0 0 0 0 0 0 0 0 0 0 0
## 88 1 0 0 0 0 0 0 0 0 0 0
## 92 0 0 1 0 0 0 0 0 0 0 0
## 104 1 0 0 0 0 0 0 0 1 1 0
## speak showing
## 43 0 0
## 50 0 0
## 63 0 0
## 88 0 0
## 92 0 0
## 104 0 0
We can now create a recipe, model, and workflow for the ML model. We will use a classification decision tree model ( rpart engine) as our variable is categorical.
# Create a recipe
dtm_recipe<-training_dtm %>% recipe(Product~.)
# Create a model
dtm_model<-decision_tree() %>% set_mode("classification") %>% set_engine("rpart")
dtm_model
## Decision Tree Model Specification (classification)
##
## Computational engine: rpart
# Create a workflow
dtm_workflow<-workflow() %>% add_recipe(dtm_recipe) %>% add_model(dtm_model)
dtm_workflow
## == Workflow ====================================================================
## Preprocessor: Recipe
## Model: decision_tree()
##
## -- Preprocessor ----------------------------------------------------------------
## 0 Recipe Steps
##
## -- Model -----------------------------------------------------------------------
## Decision Tree Model Specification (classification)
##
## Computational engine: rpart
Now that the setup is done, we shall attempt to fit the workflow.
# Fit without cross validation
dtm_fit<-fit(dtm_workflow, data=training_dtm)
dtm_workflow_fit<-dtm_fit %>%
pull_workflow_fit()
dtm_workflow_fit
## parsnip model object
##
## Fit time: 35.6s
## n= 68233
##
## node), split, n, loss, yval, (yprob)
## * denotes terminal node
##
## 1) root 68233 39512 Credit card or prepaid card (0.420925359 0.340275233 0.137235648 0.101563759)
## 2) mortgage< 0.5 51003 22686 Credit card or prepaid card (0.555202635 0.131443248 0.179734525 0.133619591)
## 4) card>=0.5 20773 604 Credit card or prepaid card (0.970923795 0.005680451 0.011842295 0.011553459) *
## 5) card< 0.5 30230 21309 Student loan (0.269533576 0.217863050 0.295104201 0.217499173)
## 10) student< 0.5 25944 17819 Credit card or prepaid card (0.313174530 0.253122109 0.181236509 0.252466852)
## 20) car< 0.5 22648 14640 Credit card or prepaid card (0.353585306 0.287398446 0.204874603 0.154141646)
## 40) loan< 0.5 13944 6353 Credit card or prepaid card (0.544391853 0.193703385 0.130593804 0.131310958)
## 80) loans< 0.5 13204 5629 Credit card or prepaid card (0.573689791 0.196455620 0.093683732 0.136170857)
## 160) escrow< 0.5 12746 5176 Credit card or prepaid card (0.593911815 0.168052722 0.097050055 0.140985407) *
## 161) escrow>=0.5 458 6 Mortgage (0.010917031 0.986899563 0.000000000 0.002183406) *
## 81) loans>=0.5 740 156 Student loan (0.021621622 0.144594595 0.789189189 0.044594595) *
## 41) loan>=0.5 8704 4896 Mortgage (0.047909007 0.437500000 0.323874081 0.190716912)
## 82) home>=0.5 1726 188 Mortgage (0.011587486 0.891077636 0.044032445 0.053302433) *
## 83) home< 0.5 6978 4235 Student loan (0.056893093 0.325308111 0.393092577 0.224706220)
## 166) loans< 0.5 5547 3426 Mortgage (0.070127997 0.382368848 0.281954209 0.265548945) *
## 167) loans>=0.5 1431 252 Student loan (0.005590496 0.104122991 0.823899371 0.066387142) *
## 21) car>=0.5 3296 237 Vehicle loan or lease (0.035497573 0.017597087 0.018810680 0.928094660) *
## 11) student>=0.5 4286 67 Student loan (0.005366309 0.004433038 0.984367709 0.005832944) *
## 3) mortgage>=0.5 17230 716 Mortgage (0.023447475 0.958444573 0.011433546 0.006674405) *
library(vip)
dtm_workflow_fit$fit$variable.importance
## mortgage card loan student home escrow
## 13022.539833 8121.493156 3328.579838 3172.341466 2619.200304 2359.487061
## car credit property loans modification foreclosure
## 2323.668037 2206.991232 1900.096642 1809.184200 1594.478808 1580.100621
## charges cards use servicing application federal
## 953.951923 948.478429 938.313367 143.065321 121.498758 26.002335
## program years closing payments situation house
## 20.499412 18.439810 13.282531 8.881964 7.754960 7.590018
## close wanted plan financial company getting
## 6.072014 5.639971 5.277753 4.934975 2.819985 2.114989
## insurance
## 1.003036
dtm_workflow_fit%>%vip(num_features = 10)
Here, we can see that :
mortgage , card and loan
were the most important words for predicting Product. Following this, we can perform some predictions.
predict_Product<-predict(dtm_workflow_fit, new_data=training_dtm)
accuracy(training_dtm, truth=Product, estimate=predict_Product$.pred_class)
## # A tibble: 1 x 3
## .metric .estimator .estimate
## <chr> <chr> <dbl>
## 1 accuracy multiclass 0.841
# Breakdown of Product
count(training_dtm, Product)
## Product n
## 1 Credit card or prepaid card 28721
## 2 Mortgage 23218
## 3 Student loan 9364
## 4 Vehicle loan or lease 6930
# Breakdown of Predicted Product
count(predict_Product, .pred_class)
## # A tibble: 4 x 2
## .pred_class n
## * <fct> <int>
## 1 Credit card or prepaid card 33519
## 2 Mortgage 24961
## 3 Student loan 6457
## 4 Vehicle loan or lease 3296
# Show which rows were predicted correctly
predicted_and_truth<-bind_cols(training_dtm, predicted_Product=pull(predict_Product,
.pred_class)) %>% select(predicted_Product, everything())
The accuracy is about 84.1%. Seems pretty alright on the first go. We also note that extra “Credit card or prepaid card” and “Mortgage” was predicted, while “Student loan” and “Vehicle loan or lease” was under predicted. Additionally, we can also see exactly which rows resulted in incorrect predictions. Lets now try to fit the model to our cross validation folds.
set.seed(122)
resample_fit<-fit_resamples(dtm_workflow, vfold_dtm)
collect_metrics(resample_fit)
## # A tibble: 2 x 6
## .metric .estimator mean n std_err .config
## <chr> <chr> <dbl> <int> <dbl> <chr>
## 1 accuracy multiclass 0.841 10 0.00128 Preprocessor1_Model1
## 2 roc_auc hand_till 0.929 10 0.000905 Preprocessor1_Model1
the model accuracy stays the same.
Now, lets try to improve the model by tuning a hyperparameter.
dtm_model_tune<-decision_tree(cost_complexity=tune(), tree_depth=tune()) %>% set_mode("classification") %>%
set_engine("rpart")
tree_grid<-grid_regular(cost_complexity(), tree_depth(), levels=3)
dtm_workflow_tune<-workflow() %>% add_recipe(dtm_recipe) %>% add_model(dtm_model_tune)
dtm_workflow_tune
## == Workflow ====================================================================
## Preprocessor: Recipe
## Model: decision_tree()
##
## -- Preprocessor ----------------------------------------------------------------
## 0 Recipe Steps
##
## -- Model -----------------------------------------------------------------------
## Decision Tree Model Specification (classification)
##
## Main Arguments:
## cost_complexity = tune()
## tree_depth = tune()
##
## Computational engine: rpart
##library(parallel)
doParallel::registerDoParallel(cores=1)
set.seed(123)
model_resample_fit<-tune_grid(dtm_workflow_tune,
resamples=vfold_dtm,
grid=tree_grid,
metrics=metric_set(accuracy, roc_auc))
show_best(model_resample_fit, metric="accuracy")
## # A tibble: 5 x 8
## cost_complexity tree_depth .metric .estimator mean n std_err .config
## <dbl> <int> <chr> <chr> <dbl> <int> <dbl> <chr>
## 1 0.0000000001 15 accuracy multiclass 0.881 10 6.00e-4 Preprocess~
## 2 0.00000316 15 accuracy multiclass 0.881 10 6.00e-4 Preprocess~
## 3 0.0000000001 8 accuracy multiclass 0.854 10 1.03e-3 Preprocess~
## 4 0.00000316 8 accuracy multiclass 0.854 10 1.03e-3 Preprocess~
## 5 0.0000000001 1 accuracy multiclass 0.657 10 1.50e-3 Preprocess~
The highest accuracy achieved has gone up to 88.1%. Let’s stop the model building here and just
update dtm_workflow_tune with the values chosen by select_best() .
# Specify min_n value
tuned_values<-select_best(model_resample_fit,"accuracy")
# Finalize model/workflow
dtm_workflow_tuned<-dtm_workflow_tune %>%
finalize_workflow(tuned_values)
We shall fit the final model on the full training set using the last_fit() function.
# Fit final model on the full training set
overall_fit<-last_fit(dtm_workflow_tuned, split_dtm)
collect_metrics(overall_fit)
## # A tibble: 2 x 4
## .metric .estimator .estimate .config
## <chr> <chr> <dbl> <chr>
## 1 accuracy multiclass 0.881 Preprocessor1_Model1
## 2 roc_auc hand_till 0.962 Preprocessor1_Model1
The accuracy is approximately 88.1%. Let’s take a look at the predicted values for the test set.
test_predictions<-collect_predictions(overall_fit)
head(test_predictions)
## # A tibble: 6 x 9
## id `.pred_Credit c~ .pred_Mortgage `.pred_Student ~ `.pred_Vehicle ~ .row
## <chr> <dbl> <dbl> <dbl> <dbl> <int>
## 1 train~ 0.745 0.0755 0.0566 0.123 10
## 2 train~ 0.000902 0.996 0.00205 0.00148 11
## 3 train~ 0.00429 0.00238 0.991 0.00214 13
## 4 train~ 0.994 0.00150 0.00181 0.00253 18
## 5 train~ 0.0412 0.0105 0.0167 0.932 20
## 6 train~ 0.000902 0.996 0.00205 0.00148 23
## # ... with 3 more variables: .pred_class <fct>, Product <fct>, .config <chr>
ggplot(test_predictions, aes(x=Product, fill=.pred_class)) +
geom_bar(position="fill", color="blue") +
scale_fill_brewer(palette="Set1") + labs(x="Actual Outcome Values",
y="Proportion", fill="Predicted Outcome") +
theme_bw() +
theme(axis.text.x=element_text(angle=45, hjust=1, vjust=1))
It appears that our model does relatively well on all outcomes except for “Vehicle loan or lease”.
Let’s start by loading the data and doing some pre-processing.
# Load and clean up the data
df_test<-read_csv("data_complaints_test.csv") %>%
rename(Complain=`Consumer complaint narrative`) %>%
select(Complain) %>%
mutate(Complain=gsub("[XX]+", "", Complain)) %>%
mutate(Complain=str_to_lower(Complain)) %>%
mutate(Complain=gsub("[0-9]", "", Complain)) %>%
mutate(Complain=removePunctuation(Complain)) %>%
mutate(Complain=gsub("\n", "", Complain)) %>%
mutate(Complain=gsub("\t", "", Complain)) %>%
mutate(Complain=stripWhitespace(Complain))
##
## -- Column specification --------------------------------------------------------
## cols(
## problem_id = col_double(),
## `Consumer complaint narrative` = col_character(),
## Company = col_character(),
## State = col_character(),
## `ZIP code` = col_character(),
## `Submitted via` = col_character()
## )
# Make corpus
test_complains<-Corpus(VectorSource(df_test$Complain)) %>%
tm_map(removeWords, stopwords())
## Warning in tm_map.SimpleCorpus(., removeWords, stopwords()): transformation ## drops documents
# Make DTM
dtm_test<-DocumentTermMatrix(test_complains, list(dictionary=freqTerms))
dtm_test_mat<-dtm_test %>%
as.matrix() %>%
as.data.frame()
head(dtm_test_mat)
## also contacting credit deferred due file inform late loan missed multiple
## 1 1 1 2 1 2 1 1 1 2 1 1
## 2 0 0 0 0 1 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 3 0 0
## 4 1 0 0 0 0 0 0 0 0 1 1
## 5 0 0 0 0 0 0 0 1 1 0 0
## 6 0 0 3 0 0 0 0 0 0 0 0
## never payments period properly received regards report reporting statements
## 1 1 3 1 1 1 1 1 1 1
## 2 1 0 0 0 0 0 0 0 0
## 3 1 1 0 0 0 0 0 0 0
## 4 0 1 1 0 0 0 0 0 4
## 5 1 0 0 0 0 0 0 0 0
## 6 1 0 0 0 2 0 0 0 0
## time able ask behind business call calling came can car check claim come
## 1 1 0 0 0 0 0 0 0 0 0 0 0 0
## 2 0 2 2 1 1 2 1 1 2 5 1 1 1
## 3 0 0 0 0 0 0 0 0 0 0 0 0 0
## 4 3 0 0 0 0 0 0 0 1 0 0 0 0
## 5 1 0 0 0 1 0 0 0 0 0 0 0 0
## 6 0 1 0 0 0 1 0 0 0 0 0 0 0
## company didnt dollars email every family filing finally found friday get give
## 1 0 0 0 0 0 0 0 0 0 0 0 0
## 2 2 1 2 1 1 1 1 1 1 1 3 1
## 3 1 3 0 0 0 0 0 0 0 0 0 1
## 4 0 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 1 0 0 0 0 0 0 0 0
## 6 0 0 0 1 0 0 0 0 0 0 0 0
## house information job let lost manager monday money much note now paperwork
## 1 0 0 0 0 0 0 0 0 0 0 0 0
## 2 2 1 3 1 5 1 1 1 1 1 2 1
## 3 0 0 1 0 0 0 0 0 0 0 0 1
## 4 0 1 0 0 0 0 0 0 1 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 1 0
## 6 0 0 0 0 0 0 0 0 0 0 0 0
## pay payment phone please rude said send sent sign since speak start still
## 1 0 0 0 0 0 0 0 0 0 0 0 0 0
## 2 2 1 1 2 1 1 2 1 1 1 1 1 2
## 3 1 2 0 0 0 1 0 0 0 0 0 0 1
## 4 0 4 0 0 0 0 0 0 0 0 0 0 2
## 5 0 1 0 0 0 0 0 1 0 1 0 0 0
## 6 1 0 1 0 0 0 1 0 0 0 0 0 0
## stop talk temporary told two unemployment unless weeks will worst year afford
## 1 0 0 0 0 0 0 0 0 0 0 0 0
## 2 2 1 1 8 1 1 1 1 1 1 1 0
## 3 0 0 0 1 0 0 0 0 0 0 0 1
## 4 0 0 0 1 0 0 0 0 1 0 0 0
## 5 0 0 0 1 0 0 0 0 2 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0 0
## approve back borrowers change charged contacted correct couldnt count dealing
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 1 1 2 1 2 1 1 2 1 1
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 1 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## dont early end even exactly explaining feel find good got great help interest
## 1 0 0 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0 0 0
## 3 4 1 2 1 1 1 1 1 1 4 1 2 2
## 4 0 0 2 1 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0 0 1
## 6 0 0 1 0 0 0 0 0 0 0 0 0 0
## ive just know learned like make month months non nothing one organization
## 1 0 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0 0
## 3 1 1 2 1 1 1 1 2 1 1 1 1
## 4 2 0 0 0 0 0 1 1 0 0 0 0
## 5 0 0 0 0 0 0 0 2 0 1 0 0
## 6 0 1 0 0 0 0 0 0 0 0 0 0
## plan pslf put qualifying quite reason right several shut student sure talked
## 1 0 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0 0
## 3 4 2 2 1 1 1 1 1 1 1 1 1
## 4 0 0 1 0 0 1 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0 0
## tell thing till times try trying turned wanted well went work account
## 1 0 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0 0
## 3 1 1 1 1 2 1 1 1 3 1 1 0
## 4 0 0 0 2 0 0 0 0 0 0 0 1
## 5 0 0 0 1 0 0 0 0 1 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0 0
## accounting accurate actually addition additional address ago appear based
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 3 3 1 1 1 1 1 1 1
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## bureau consumer covid doesnt done expect fargo financial forbearance hardship
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 1 1 1 1 1 1 6 1 2 1
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## havent home issues kind later lie made mortgage need possibly program
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 1 2 1 1 1 1 1 5 1 1 4
## 5 0 0 0 0 1 0 0 0 0 0 0
## 6 0 2 0 0 0 0 2 0 1 0 0
## protection provide repeatedly requested requesting say stated statement taken
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 1 1 1 1 1 1 1 1 1
## 5 0 0 0 0 0 0 0 0 0
## 6 2 0 1 0 0 0 0 2 0
## though updated website wells action addressed called changed charging
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 1 1 1 6 0 0 0 0 0
## 5 0 0 0 0 2 1 1 1 1
## 6 0 0 0 0 0 0 1 0 0
## checking complaint contact continue customer department else everyone finance
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 1 1 1 1 1 2 1 1 1
## 6 0 0 0 0 1 0 0 0 0
## least legal looking matter numerous paid pandemic processed refund reps
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 1 2 1 1 1 1 1 1 2 1
## 6 0 0 0 0 0 0 0 0 0 0
## response responsibility responsible service shortly status story take taking
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 2 1 1 1 1 1 1 1 1
## 6 0 0 0 1 0 0 0 0 0
## various way writing agency amount amounts applied asked billing card
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 1 1 1 0 0 0 0 0 0 0
## 6 0 0 0 2 1 1 1 1 1 2
## communication confirm depot fraud fraudulently hour issue limit mail minutes
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 1 1 2 2 1 1 1 1 2 1
## provided purchases reference resolve resolved shows towards usps willing
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 1 2 1 1 2 1 1 1 1
## activity ahead another approved assured balance clear closed days explain
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## extremely first follow formal fraudulent full happen honor however less needs
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0
## number order point promotion purchase qualified rate receiving telling thanks
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## within working worry yesterday attempted bank bill calls charges consider
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## date declined funds hold large left line mastercard online paypal practice
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0
## relief replied usa use verify via ability acknowledge additionally agreement
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## andor annual anything around asking assumed attached attempting available
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## aware basis began beginning believe best beyond care case certain claims
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0
## class complete conditions conversation corrected current currently dated
## 1 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0
## dates deferment denial denied deny despite determined different disaster
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## disclosed disclosure documentation documented education effort electronic
## 1 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0
## eligible employer employment entered entitled equity especially explained
## 1 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0
## extended extension fact failed federal final form furthermore government
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## granted health held highly history include income individual informed initial
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## inquired insisted instructed intentionally last law leave lenders letter life
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## likely listed living loans loss low makes making marked market may member
## 1 0 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0 0
## members mentioned message mid modification modified named nearly negative new
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## normal notes notify obligation obtain offer offered option options original
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## outside outstanding per policies portion position practices prior private
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## process programs rather reached read reasonable reasons referred regarding
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## related removed repayment reported representative request requests require
## 1 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0
## required responded rest reviewed risk section security see seek sense set
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0
## shocked significant simply single six specifically spend staff states
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## struggling subject summary term terms therefore thru thus title took total
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0
## track treated true type unable understand underwriting united university upon
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## used whether without years allow lower protect really reduction refused
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## stating causing forgiveness graduated illegal lose losing lot monthly placed
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## qualify refinance save scheduled school servicer situation sufficient want
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## week actual almost anyone approval attempt attempts cash close closing
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## complaints concerning credited day emailed emails ever fees filed getting
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## going hear heard hours including incorrect management messages numbers
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## officer people prevent problem refinanced saying short someone spoke texas
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## touch transferred twice using adjustment already caused circumstances
## 1 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0
## confirmed created demand demanding experience five following funding
## 1 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0
## harassing impacted instead lease letters many miles notice notified notifying
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## owe pages receive release rent result social standing stress submitted
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## telephone today together transfer waived cards charge citi dealership decided
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## deposit entire far gave helpful intent look particular place signed three
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0
## transaction travel vehicle act attention collect complain hope returned score
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## stopped worked yet cancelled claimed directly dispute documents immediately
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## investigation manner post processing resolution seemed sending timely
## 1 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0
## transactions advised agree agreed assist away basically changes completed
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## considered copy deed detailed difficult discussed ensure escalate escalated
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## everything expenses forward frame freedom general gone inquire knowledge lack
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## license longer looked move name needed next noted pending possible previously
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0
## recent remove review reviewing schedule signature step subsequently thank
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## turn unacceptable understanding update veteran voicemail wife wrote according
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## advantage bankruptcy college debt involved paying plus putting started taxes
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## tried unfair agent auto banking banks error fault fee given proceeded
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0
## suntrust waive withdraw access escrow idea instructions lien portfolio
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## reflected sale select servicing stolen value begin chase indicating initially
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## moved refuse refuses unauthorized write affect affected allowed bills cant
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## cause disputing ditech divorce filled happened horrible husband irs kept
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## names negatively passed past plans recorded reverse rights something tax
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## credits false forgiven half high known lied mention mother promised realize
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0
## behavior denying group institution stay citibank companies contract
## 1 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0
## guidelines laws necessary regulations run second steps appears dropped
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## excellent fair included keep live noticed points probably rating reduced
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## showed site small store system thought america answer fix hung mailed
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0
## personal posted previous principal regular secure supervisors detail office
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## payoff penalties penalty promissory rates sell selling acceptance checked
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## dealer debit decreased happening holder rep assistance become concerned lady
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## representatives seeking submitting wont accepted checks followed four hit
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## info reversed written higher public results services app apparently atm
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## authorize copies couple decision hadnt verification waited choice conduct
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## deal deceptive either fine forced hand handle level might opinion ame appeal
## 1 0 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0 0
## apr cfpb cycle extra increase benefit bureaus cover data discovered enough
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0
## except items knowing local police replacement reports theft things trip wrong
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0
## bonus earned informing issued met opened requirement spent alert fixed ready
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0
## ally answers anyway coming consumers failure night questions talking totaling
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## although buy cancellation expired forwarded homeowners insurance page policy
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## price property servicers sps threatening bring california computer continued
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## delinquency executive facts foreclosure handled homes incorrectly investor
## 1 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0
## meet mistakes notices papers part product ran rental requirements settlement
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## specialist tracking area free happy hello lender llc mailing offers signing
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0
## think union application apply appropriate discuss eventually heloc impossible
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## recently scores wait better daughter enrolled explanation navient always amex
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## arrived bad customers faith inquiries inquiry long sorry supposed truth
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## waiting attachment auction brought county existing future maybe means
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## occasions others present research resulted suggested team sold trouble
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## covered increased shortage attorney attorneys excess inc prove thats concern
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## financially legally national power state support open capital morning
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## unfortunately receipts added example missing must principle broker
## 1 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0
## correspondence double records reopen sincerely accounts appraisal fha
## 1 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0
## specific accept analysis caliber claiming concerns document official return
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## separate disputed assigned automated automatic catch chose clearly lying
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## reach yes bought details favor hsbc merchandise merchant proof receipt ticket
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0
## tickets valid american completely faxed gotten ill lawsuit misleading
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## offering president reward rewards saw supervisor wasnt owners violation
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## associated financing mae text shellpoint advertised dept evidence worth
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## cosigner course goes avoid chapter children collections default father
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## notification reflect serviced spoken wouldnt acknowledged buyer conversations
## 1 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0
## cost exact homeowner important knew old ones package quickly refusing soon
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0
## along complained damage damages disputes front investigated repeated
## 1 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0
## supposedly delayed sls switch center considering investigate applying isnt
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## show big boa cancel canceled cell deposited errors logged opening solution
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0
## upset wire real record trust wish predatory purchased refinancing starting
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## appreciate assessed automatically became borrower draft fell internal main
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## neither occurred purpose requires side transfers advise constantly earlier
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## none purchasing realtor respond savings shouldnt throughout top whole
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## approximately little chat corporate force internet minimum dear delivered
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## foreclose reply rushmore employees fax calculated standard underwriter
## 1 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0
## authorized membership user actions alleged avail branch damaged demanded
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## financed mine resulting affordable alone delay identity person trustee
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## consent ended submit delinquent giving employee etc fedloan comes
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## confirmation express hotel list match question rules discover acct continues
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## housing initiated permission rejected speaking caught item prepaid realized
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## says serve daily firm hard helping ignored lawyer medical proper fay locked
## 1 0 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0 0
## word corporation remain gets hoping mitigation onto contractor cut released
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## changing difference expected increasing portal settle absolutely fully pmi
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## consolidation ending grace indicated promotional flagstar nobody partial
## 1 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0
## recording tells trade unethical woman mean dollar senior bayview direct party
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0
## third hired forth problems pull seem figure ocwen huge owed physical forms
## 1 0 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0 0
## loancare discharged consolidated ibr takes directed supporting similar
## 1 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0
## totally add keeps remaining toward indeed spending authorization estate fast
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## impact originally presented somehow sum drop costs pennymac poor ridiculous
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## barclays determine possession theres accrued agents balances comenity shown
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## web behalf appeared estimate felt otherwise sales fifth advance door
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## synchrony agencies anymore court hearing inaccurate inspection location
## 1 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0
## mortgages moving personally provider pulled repair repairs room screen seen
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## showing specialized vendor scam allowing closure answered serious seems
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## criminal confused paper providing theyre zero leaving active log florida
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## handling airline code fill mistake unpaid holding sallie country lending
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## billed city obviously citizens benefits certificate delivery authority
## 1 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0
## carrington clients phh relationship man interested simple santander keeping
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## communicate ltv disconnected products special flight cooper hurricane
## 1 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0
## obtained definitely link certified secured victim gift visa son cashed
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## cleared effective collection invoice applications autopay thousands worse pnc
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## incurred lowered major correctly chance quote condition seller advising
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## frustrated located verified nelnet confirming owner whatever ftc fall premium
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## hud coverage box effect greatly proceed ordered violated opportunity parties
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## repossession navy owned refunded ach primary residence raised mind deadline
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## adding blocked barclay recieved pick thinking limited lock nationstar
## 1 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0
## uploaded breach comply flood seterus creditor gap illegally promise military
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## permanent admitted trial appraiser reduce ongoing usaa warranty client voice
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## deducted monies quicken unit control seriously repossessed packet view truck
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## exhibit shall accordance aes netspend assignment
## 1 0 0 0 0 0 0
## 2 0 0 0 0 0 0
## 3 0 0 0 0 0 0
## 4 0 0 0 0 0 0
## 5 0 0 0 0 0 0
## 6 0 0 0 0 0 0
final_model<-fit(dtm_workflow_tuned, dtm_train)
predict(final_model, new_data=dtm_test_mat)
## # A tibble: 20 x 1
## .pred_class
## <fct>
## 1 Vehicle loan or lease
## 2 Vehicle loan or lease
## 3 Student loan
## 4 Mortgage
## 5 Student loan
## 6 Credit card or prepaid card
## 7 Credit card or prepaid card
## 8 Credit card or prepaid card
## 9 Student loan
## 10 Vehicle loan or lease
## 11 Student loan
## 12 Mortgage
## 13 Credit card or prepaid card
## 14 Credit card or prepaid card
## 15 Mortgage
## 16 Credit card or prepaid card
## 17 Mortgage
## 18 Student loan
## 19 Vehicle loan or lease
## 20 Mortgage
THE most frequently complained product are:
* credit acrd or prepaid card
* mortgage
* studen loan
* vehicle loan or lease
the most frequently complained product are:
* credit acrd or prepaid card
* mortgage
* studen loan
* vehicle loan or lease
the most important words for predicting Product are:
mortgage , card , loan
the accuracy of predictions was : 84,1%
with tuning the highes accuracy achieved has gone up to 88,1%
It appears that our model does relatively well on all outcomes except for “Vehicle loan or lease”.
the predicted outcomes was: