library(tm); library(e1071); library(dplyr); library(wordcloud);
## Loading required package: NLP
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
## Loading required package: RColorBrewer
library(caret); library(readtext); library(TAR); library(R.utils);
## Loading required package: lattice
## Loading required package: ggplot2
##
## Attaching package: 'ggplot2'
## The following object is masked from 'package:NLP':
##
## annotate
## Loading required package: mvtnorm
## Loading required package: R.oo
## Loading required package: R.methodsS3
## R.methodsS3 v1.7.1 (2016-02-15) successfully loaded. See ?R.methodsS3 for help.
## R.oo v1.23.0 successfully loaded. See ?R.oo for help.
##
## Attaching package: 'R.oo'
## The following object is masked from 'package:R.methodsS3':
##
## throw
## The following objects are masked from 'package:methods':
##
## getClasses, getMethods
## The following objects are masked from 'package:base':
##
## attach, detach, load, save
## R.utils v2.9.0 successfully loaded. See ?R.utils for help.
##
## Attaching package: 'R.utils'
## The following object is masked from 'package:utils':
##
## timestamp
## The following objects are masked from 'package:base':
##
## cat, commandArgs, getOption, inherits, isOpen, nullfile,
## parse, warnings
library(SnowballC)
# Code to get the email message
spam_file <- "/Users/rmirza/Downloads/20021010_spam.tar.bz2"
ham_file <- "/Users/rmirza/Downloads/20021010_easy_ham.tar.bz2"
spam_file_unzip <- "/Users/rmirza/Downloads/20021010_spam.tar"
ham_file_unzip <- "/Users/rmirza/Downloads/20021010_easy_ham.tar"
bunzip2(spam_file, remove = FALSE, skip = TRUE)
## [1] "/Users/rmirza/Downloads/20021010_spam.tar"
## attr(,"temporary")
## [1] FALSE
bunzip2(ham_file, remove = FALSE, skip = TRUE)
## [1] "/Users/rmirza/Downloads/20021010_easy_ham.tar"
## attr(,"temporary")
## [1] FALSE
# Creating a combined directory to store the data
spam_ham_dir <- "/Users/rmirza/Documents/DATA607/spam_ham"
untar(spam_file_unzip, exdir = spam_ham_dir)
untar(ham_file_unzip, exdir = spam_ham_dir)
# Segregating the data in separate folders for spam and ham
spam_dir <- "/Users/rmirza/Documents/DATA607/spam_ham/spam"
ham_dir <- "/Users/rmirza/Documents/DATA607/spam_ham/easy_ham"
spam_files <- list.files(spam_dir)
ham_files <- list.files(ham_dir)
# Preparing data to create dataframes
spam_email_content <- NA
for(i in 1:length(spam_files))
{
file_address_spam <- paste0(spam_dir, "/", spam_files[1])
spam_lines <- readLines(file_address_spam)
list_spam <- list(paste(spam_lines, collapse="\n "))
spam_email_content = c(spam_email_content, list_spam)
}
# Code for the Spam Dataframe
spam_df <- data.frame()
spam_df <- as.data.frame(unlist(spam_email_content), stringsAsFactors = FALSE)
spam_df$type <- "Spam"
colnames(spam_df) <- c("email","type")
ham_email_content <- NA
for(i in 1:length(ham_files))
{
file_address_ham <- paste0(ham_dir, "/", ham_files[1])
ham_lines <- readLines(file_address_ham)
list_ham <- list(paste(ham_lines, collapse="\n"))
ham_email_content <- c(ham_email_content, list_ham)
}
# Code for the Ham Dataframe
ham_df <- data.frame()
ham_df <- as.data.frame(unlist(ham_email_content), stringsAsFactors = FALSE)
ham_df$type <- "Ham"
colnames(ham_df) <- c("email","type")
nrow(spam_df)
## [1] 502
nrow(ham_df)
## [1] 2552
combined_df <- rbind(spam_df, ham_df)
nrow(combined_df)
## [1] 3054
original_corpus<- Corpus(VectorSource(combined_df$email))
# To cleand the corpus and create a word cloud to assess
# the type of words used in each type of messages
cleaned_corpus <- suppressWarnings(original_corpus %>%
# to convert into lower case
tm_map(content_transformer(tolower)) %>%
# to remove any punctuation
tm_map(removePunctuation) %>%
# to remove numbers
tm_map(removeNumbers) %>%
# to remove the stop words
tm_map(removeWords, stopwords()) %>%
# to stem the words into root word
tm_map(stemDocument) %>%
# to remove the white space
tm_map(stripWhitespace))
# Checking the contents after cleaning
inspect(cleaned_corpus[1:3])
## <<SimpleCorpus>>
## Metadata: corpus specific: 1, document level (indexed): 0
## Content: documents: 3
##
## [1] NA
## [2] mv bfcddbffccadb mv ffbcebefcdceaaa mv cdcbcfaba mv dfdeeaebdceaefa mv eddeaedb mv cbfedfedfbfa mv fafdceff mv ecfcbfbcdfbb mv fadfcebbffaecfaaba mv fdbeabaed mv cefbbabebb mv acdfbedbefad mv aabaccbc mv dccafccafdacec mv adbadaaf mv ecddfdeccafefea mv fffeddcbaec mv cadaaeeccda mv dceedbaafb mv ebfdbabbefec mv fddfefefaff mv bebcacbecb mv aedcccefadabf mv bceadedceea mv bbcdddccfbec mv cccdbcaeeeccb mv bcadbedfdfb mv efbbabcbfcea mv afdadbfbeabfbdd mv fccdeaefc mv becceaddfd mv adddbdeedcb mv dabcfacbebfdaacbbdd mv affbbdedee mv acffdbceea mv ecfccffc mv bcafdfdfdd mv acedafacbfaa mv dcccedccbaf mv adabacdaefecef mv dcfaeaaddcbe mv edadffaadcbfcfd mv daedbbcfb mv eabdebdfdfef mv ffaafbffcb mv edffefbbecbfedc mv abbeafedfcaacfbd mv afefbdadddbbb mv fdcffababecdebdddaf mv adcbfbadaf mv ddeefddfa mv ecdecfaedafecbeb mv eefacd mv cffedbdaada mv fabfbaadb mv efefaccdbefbd mv bdaaaabbef mv ccfdfefea mv ffecdadefecd mv ceabaddfbacda mv eddcbaababebac mv efcffdbcecdceaeaa mv babcfefebafcab mv efcffbbfcbdabfcb mv fdaeedbbcedc mv ffdcedecfcaffeffdd mv acfeccebeb mv fcecccda mv bbdfadfafcaefc mv edafaefffbdb mv bbabffccdaba mv eabbfaafdbfafdd mv ceaabefdbcc mv eedcdacbdaebab mv aedecbcacafcd mv fbdebbfcfd mv faaabcaadf mv bceaffbddffbc mv abcacbcaeaed mv feffabdffabbba mv ebdbdacf mv eecabeddfcffd mv fafecdc mv bffcaebefbabfb mv bffdbcadaca mv adaabadfeaeffaadd mv dacdeffcddfd mv bfabebdba mv acccefeab mv abcdcaecfdedacd mv afdbcdacbceeaffcb mv ecefbcabefafddeda mv febbabcecbdfc mv aaadebeeeeabaea mv adfcdeafcfc mv ffffacfb mv eecfdcdbbeb mv efdadfbdfccdcafdc mv eefecbadedbacfacc mv daafbaceca mv edfebcbedc mv cdedcefbcd mv cdaddbdacdedd mv deaafccf mv ceaeedaecaeebdab mv ddddbddeafafafdc mv beddbfaafbf mv dadcbdfabefcffc mv dcefeebcd mv bacdfeaecbfb mv edeefccd mv bbbceaedaecda mv dcaaefcff mv acfabeabedcfa mv dabaaffdcfbcfc mv fcafeccefb mv bebbfcccbadc mv ecdeadebbbda mv dcdfdcedddac mv ddafebdf mv adcbaacacfefacf mv aadbedbdedd mv efdcddbbdfaafa mv fdbfbdffdfafd mv dbaececfedd mv feffadedac mv afadeecb mv ffdfdffdb mv bbaffceeacfdef mv cfdeffacaf mv febadfbcdecdafaf mv aebeedbfbad mv efccbcfdfafacc mv fdbbebaceac mv bcfcfebddacac mv fefecfebcfdff mv eedfdfbd mv adddeff mv abddfacbcec mv dadabdc mv efabffbe mv bcddcbfdeba mv becacbddafa mv fcaadfcebdddfefa mv cdfcab mv adbdaecbcfcea mv bbcbecbfddadddcc mv aeaecadecb mv edccfdaa mv edfaceabeba mv baecbdbaabb mv eaececebf mv caeeaececbda mv ddaecffcdda mv ddeacedeeef mv baafbba mv fcbdbcdefabb mv addebdbfaacd mv abbaafcf mv abacdeadbb mv ceebffdbcfc mv edcadccccfabd mv ccedfffbb mv bdffabafbddb mv aeedbdababeedea mv bfabebaacabcedf mv cabccbfba mv dceabeebfebab mv bbdeafbdd mv daffecaccda mv ccffefbeefdccf mv ffdaab mv daaaafffcdffa mv afebaacfd mv adcaaabbdfdcbd mv abaffacab mv dbaedbbfac mv ebfcfdbcebedcf mv ffabeceecacdaa mv eefbeeedbdcc mv ddabdccbaabeebb mv cacafcebfcdcfbda mv cbfbbddaabfa mv cebaccddccabd mv adbebadecb mv edcfacb mv bfabffdfbbfdfc mv aeebcbfdcbdbd mv befbfaab mv ebeeafeafcc mv deafaadbfb mv cfedffefcdef mv ecfbdfacdebca mv cbceaacc mv abbdbcfeeafc mv acdedfb mv efedeaadcdecba mv beaecacceedaa mv fcddebeffefdf mv efaaffbbcfdefc mv addac mv eaafcd mv ecbbbefeccad mv bfcacbaabacfacac mv cafaecaaacd mv cfeebcebabfcfabf mv baecfdbeabb mv beebfdfebc mv ddbadeeadfdcf mv cbfbcacccade mv bedfbabbcfaecf mv bdefeffdcecaeb mv cbedbaefc mv facbcaccbca mv ebdbde mv effffcddedca mv ddeedcdaaafecec mv ccdabecb mv cbbaaeeeaeeeb mv ebeeceafe mv bddaecf mv dbcbebedeedd mv bdbdfafdfbeaa mv daadfcebfa mv faeceafdaff mv adaccafdeeeda mv aadbffa mv ccabfbfbdaab mv cfdceefdffbefb mv fbcfdaacabab mv dacccfddb mv edccdbebfccf mv efaebebdfb mv abeacecdfcff mv edadcadefacd mv faebbbecb mv faddaeaffeafbdfdc mv aefbdceaddffbab mv fbfbaecceec mv befeadaecaba mv caaebbcaaebf mv feccfedccdad mv beaebdaefbadc mv daacfecbaeb mv eadfbbfaf mv cbcbdbcbbbac mv eccfbcecaadda mv fbbaceeeedebca mv ddaebdbadda mv badffafddfebaaafcf mv dccbebedeb mv beebdcec mv feabbabbbc mv dfbbbbcf mv cccfeedcadfdcb mv cfafffedfbf mv edcbeefc mv adfecbddaba mv deadaecdafeccac mv bbddbdedeac mv cfebedaaaaab mv eefacdedfaadd mv efcaabdefebc mv bddefefdcdf mv edebdcfceea mv cdacdcccdc mv bfcbbebeafdeacdebc mv daeaabedcaaba mv ecedaaacf mv cdfbbfeaedeaaecad mv babbcbbcd mv afbeeeffddbffbcded mv bbeccaabaa mv bbadaddcc mv cecbfbfbfdcb mv efeadbdafac mv ebfacfefdbabc mv ddfbfeeeeda mv edfedbc mv fefcbaeebabf mv eafffbfeabbabc mv fadbaaeadbebcacfef mv effabffbfbeddcabfea mv fddafbacd mv ebfebddbacceecfd mv afabecad mv cadefdcfbbcabbf mv aadaacfcfeadbe mv aecfeaaedf mv edfedbc mv ffccdefaca mv ebbcfcecdeeae mv deaacdeecfcf mv bafcfaeacbbdfdaac mv efcdebccbec mv dffccddabfbf mv bedaaeccbcdc mv cdbefcfffbcff mv acffbeafc mv dedccbfcafcfad mv cebdda mv caabbafbdab mv ecaedddabcacfff mv fefedea mv eefeedfff mv ededfdcfc mv adaeedddff mv dbecadaba mv cebbecca mv fdfffeaffdf mv bcaafccbacadcad mv cebdda mv cdbffabcedf mv edeeedbebebca mv fcddbfaedaddada mv bdacaefcd mv ebbeafefeeccbebf mv dbeefecfaefefeeca mv cfcadabddada mv cbbbdcbcbf mv ffbfbdbcbebb mv edcaaceefccbdb mv ecbabbddfbdf mv fdeceebabc mv aabbaefebacacd mv edffffdbadb mv dadacafceea mv ccddfdbfdaaca mv bbebcdeabfafb mv eaecadefdbdfad mv cebabdceddaa mv ebebbccd mv beabdcffcaaca mv abcfbbfaf mv ecbabbddfbdf mv acadfdfec mv bdbfdccdde mv eeacb mv aaddbcdeddef mv acacaacecd mv acdedefcbadff mv bcceadaaf mv dcefefcaa mv faccaafbaacca mv cbcdbfffcacedf mv ccccdaeddec mv beeeabffc mv eecbbadbebafbcafbbcf mv ebfecafaceca mv cfcadea mv becbcfbff mv ebbfcb mv baddeedfec mv effafadbfad mv cbcbddcdeeca mv aabadfab mv ccccdaeddec mv cfbdcfaafafac mv aeebacbbcf mv cceebeacafb mv bbfaaaccdbdecc mv baeacaffcae mv dabaebcadd mv bebbaefddd mv fbefacccfb mv fcdccbcfbdbdfcedb mv bceddcd mv dbffbfebcbfc mv fededaf mv cceaeeefda mv afafbeb mv baefeafbfddd mv edacafecbdeeafa mv bafaccaf mv dabcddf mv badfccaefab mv cbdeddbbfdbecedc mv cddebcaceeebe mv dfcbfdce mv acaffbfa mv bccededdbc mv fdfdffdedca mv cdafeebbfeea mv fccfdecdbfec mv cdbfdccfabaccaf mv dffaedefcefcf mv badfcaecbbdff mv bcedbefecbbb mv defeffeabba mv baaeaadaaf mv afeeeeeea mv bdffffafbcbf mv edbfddcdfcaf mv aceecdcdbbaccd mv bebdabaa mv baadafe mv afbfccdcbefdbd mv fcbcfdaefbdddd mv cdebafcfec mv ddbedeebdfd mv bfffcdcffeccfbbfc mv cfdfdbadaf mv aedfaadccf mv cfeadbeabbbaa mv aceeaffaeaf mv cccfbadcdfea mv dccfeacfbc mv bccbeefcb mv badbadbfcdbb mv edbbaabedd mv cdabddacefcaaf mv bdeebbcdcba mv beeacceaffbeea mv fcdebebeacdb mv ffebebaebbd mv abffebdfffaa mv eaeceefebbdef mv fcfbebfaececf mv efbfdfb mv cfddaddffedfb mv fffdeaccadea mv ddbbcecba mv dcadcecdacd mv fcfdedaceaea mv bdfdbfdadf mv ddeeacaedc mv adbacaaebfdac mv cdbdacdbebbeffd mv ef mv abfddbf mv bdcfcffebcb mv dfdaeebcfbfcea mv cdebaaecedbadcad mv babcfccfceeaaea mv fcdeadcafbbddffd mv ffcbead mv fdfddcbcbf mv cecebfbbcb mv afdaefadcd mv abcecabfbc mv efaccdbcdfadea mv bdfbffbffebebd mv dfeffedcad mv afbdfeebddeddd mv fbbdeeffccdddcba mv beeaafea mv ebdbbcdadf mv fdadbfead mv facdfbdcdaadcb mv bceadeafbcdea mv acafdaaa mv bbbecffffd mv fddeaceabec mv fdaebdddeeefcdfd mv abbcdbdaaac mv aecefabcedccd mv afcbbebdcbfac mv ffabddcba mv cebbaecaaeefaa mv fdfffdfed mv becaedfdbccbdebf mv dbdbeaedc mv dedcfaaebfddac mv ccdcfbdbff mv cefeef mv dfdebebcb mv abcfdeeaffeeba mv cdfbeacfb mv ebfeae mv cbdcdceadaf mv fadebbcbbcbeec mv dcfafbebfbaecfaa mv afaacfbacdbb mv fdbccffcdaeba mv febaaffdf mv acfbdedfbe mv ffbcfcbdbaecb mv afbafecbcfa mv beabfbceccacd mv afcaffaade mv bebfcdcaf mv cdcceeadca mv acddbffcfdcbbdcc mv dfacdebdcfabaeecfa mv ebaabaeaffcbbdf mv babeaadadbc mv cbdaccbdcbccd mv fdcfbcfddfd mv cbbeacceecc mv cefbfbdbcaaacda mv aedeedbef mv ecdabcfbfb mv bfcbcaad mv bbaaedaffdd mv baeacdcecbcdfcb mv edbdceffaf mv bcbefaeafbffa mv dcebabcdfab mv dccbcecd mv cffdbaadcdefc mv cmds bbcfcfdbcdefeebf
## [3] mv bfcddbffccadb mv ffbcebefcdceaaa mv cdcbcfaba mv dfdeeaebdceaefa mv eddeaedb mv cbfedfedfbfa mv fafdceff mv ecfcbfbcdfbb mv fadfcebbffaecfaaba mv fdbeabaed mv cefbbabebb mv acdfbedbefad mv aabaccbc mv dccafccafdacec mv adbadaaf mv ecddfdeccafefea mv fffeddcbaec mv cadaaeeccda mv dceedbaafb mv ebfdbabbefec mv fddfefefaff mv bebcacbecb mv aedcccefadabf mv bceadedceea mv bbcdddccfbec mv cccdbcaeeeccb mv bcadbedfdfb mv efbbabcbfcea mv afdadbfbeabfbdd mv fccdeaefc mv becceaddfd mv adddbdeedcb mv dabcfacbebfdaacbbdd mv affbbdedee mv acffdbceea mv ecfccffc mv bcafdfdfdd mv acedafacbfaa mv dcccedccbaf mv adabacdaefecef mv dcfaeaaddcbe mv edadffaadcbfcfd mv daedbbcfb mv eabdebdfdfef mv ffaafbffcb mv edffefbbecbfedc mv abbeafedfcaacfbd mv afefbdadddbbb mv fdcffababecdebdddaf mv adcbfbadaf mv ddeefddfa mv ecdecfaedafecbeb mv eefacd mv cffedbdaada mv fabfbaadb mv efefaccdbefbd mv bdaaaabbef mv ccfdfefea mv ffecdadefecd mv ceabaddfbacda mv eddcbaababebac mv efcffdbcecdceaeaa mv babcfefebafcab mv efcffbbfcbdabfcb mv fdaeedbbcedc mv ffdcedecfcaffeffdd mv acfeccebeb mv fcecccda mv bbdfadfafcaefc mv edafaefffbdb mv bbabffccdaba mv eabbfaafdbfafdd mv ceaabefdbcc mv eedcdacbdaebab mv aedecbcacafcd mv fbdebbfcfd mv faaabcaadf mv bceaffbddffbc mv abcacbcaeaed mv feffabdffabbba mv ebdbdacf mv eecabeddfcffd mv fafecdc mv bffcaebefbabfb mv bffdbcadaca mv adaabadfeaeffaadd mv dacdeffcddfd mv bfabebdba mv acccefeab mv abcdcaecfdedacd mv afdbcdacbceeaffcb mv ecefbcabefafddeda mv febbabcecbdfc mv aaadebeeeeabaea mv adfcdeafcfc mv ffffacfb mv eecfdcdbbeb mv efdadfbdfccdcafdc mv eefecbadedbacfacc mv daafbaceca mv edfebcbedc mv cdedcefbcd mv cdaddbdacdedd mv deaafccf mv ceaeedaecaeebdab mv ddddbddeafafafdc mv beddbfaafbf mv dadcbdfabefcffc mv dcefeebcd mv bacdfeaecbfb mv edeefccd mv bbbceaedaecda mv dcaaefcff mv acfabeabedcfa mv dabaaffdcfbcfc mv fcafeccefb mv bebbfcccbadc mv ecdeadebbbda mv dcdfdcedddac mv ddafebdf mv adcbaacacfefacf mv aadbedbdedd mv efdcddbbdfaafa mv fdbfbdffdfafd mv dbaececfedd mv feffadedac mv afadeecb mv ffdfdffdb mv bbaffceeacfdef mv cfdeffacaf mv febadfbcdecdafaf mv aebeedbfbad mv efccbcfdfafacc mv fdbbebaceac mv bcfcfebddacac mv fefecfebcfdff mv eedfdfbd mv adddeff mv abddfacbcec mv dadabdc mv efabffbe mv bcddcbfdeba mv becacbddafa mv fcaadfcebdddfefa mv cdfcab mv adbdaecbcfcea mv bbcbecbfddadddcc mv aeaecadecb mv edccfdaa mv edfaceabeba mv baecbdbaabb mv eaececebf mv caeeaececbda mv ddaecffcdda mv ddeacedeeef mv baafbba mv fcbdbcdefabb mv addebdbfaacd mv abbaafcf mv abacdeadbb mv ceebffdbcfc mv edcadccccfabd mv ccedfffbb mv bdffabafbddb mv aeedbdababeedea mv bfabebaacabcedf mv cabccbfba mv dceabeebfebab mv bbdeafbdd mv daffecaccda mv ccffefbeefdccf mv ffdaab mv daaaafffcdffa mv afebaacfd mv adcaaabbdfdcbd mv abaffacab mv dbaedbbfac mv ebfcfdbcebedcf mv ffabeceecacdaa mv eefbeeedbdcc mv ddabdccbaabeebb mv cacafcebfcdcfbda mv cbfbbddaabfa mv cebaccddccabd mv adbebadecb mv edcfacb mv bfabffdfbbfdfc mv aeebcbfdcbdbd mv befbfaab mv ebeeafeafcc mv deafaadbfb mv cfedffefcdef mv ecfbdfacdebca mv cbceaacc mv abbdbcfeeafc mv acdedfb mv efedeaadcdecba mv beaecacceedaa mv fcddebeffefdf mv efaaffbbcfdefc mv addac mv eaafcd mv ecbbbefeccad mv bfcacbaabacfacac mv cafaecaaacd mv cfeebcebabfcfabf mv baecfdbeabb mv beebfdfebc mv ddbadeeadfdcf mv cbfbcacccade mv bedfbabbcfaecf mv bdefeffdcecaeb mv cbedbaefc mv facbcaccbca mv ebdbde mv effffcddedca mv ddeedcdaaafecec mv ccdabecb mv cbbaaeeeaeeeb mv ebeeceafe mv bddaecf mv dbcbebedeedd mv bdbdfafdfbeaa mv daadfcebfa mv faeceafdaff mv adaccafdeeeda mv aadbffa mv ccabfbfbdaab mv cfdceefdffbefb mv fbcfdaacabab mv dacccfddb mv edccdbebfccf mv efaebebdfb mv abeacecdfcff mv edadcadefacd mv faebbbecb mv faddaeaffeafbdfdc mv aefbdceaddffbab mv fbfbaecceec mv befeadaecaba mv caaebbcaaebf mv feccfedccdad mv beaebdaefbadc mv daacfecbaeb mv eadfbbfaf mv cbcbdbcbbbac mv eccfbcecaadda mv fbbaceeeedebca mv ddaebdbadda mv badffafddfebaaafcf mv dccbebedeb mv beebdcec mv feabbabbbc mv dfbbbbcf mv cccfeedcadfdcb mv cfafffedfbf mv edcbeefc mv adfecbddaba mv deadaecdafeccac mv bbddbdedeac mv cfebedaaaaab mv eefacdedfaadd mv efcaabdefebc mv bddefefdcdf mv edebdcfceea mv cdacdcccdc mv bfcbbebeafdeacdebc mv daeaabedcaaba mv ecedaaacf mv cdfbbfeaedeaaecad mv babbcbbcd mv afbeeeffddbffbcded mv bbeccaabaa mv bbadaddcc mv cecbfbfbfdcb mv efeadbdafac mv ebfacfefdbabc mv ddfbfeeeeda mv edfedbc mv fefcbaeebabf mv eafffbfeabbabc mv fadbaaeadbebcacfef mv effabffbfbeddcabfea mv fddafbacd mv ebfebddbacceecfd mv afabecad mv cadefdcfbbcabbf mv aadaacfcfeadbe mv aecfeaaedf mv edfedbc mv ffccdefaca mv ebbcfcecdeeae mv deaacdeecfcf mv bafcfaeacbbdfdaac mv efcdebccbec mv dffccddabfbf mv bedaaeccbcdc mv cdbefcfffbcff mv acffbeafc mv dedccbfcafcfad mv cebdda mv caabbafbdab mv ecaedddabcacfff mv fefedea mv eefeedfff mv ededfdcfc mv adaeedddff mv dbecadaba mv cebbecca mv fdfffeaffdf mv bcaafccbacadcad mv cebdda mv cdbffabcedf mv edeeedbebebca mv fcddbfaedaddada mv bdacaefcd mv ebbeafefeeccbebf mv dbeefecfaefefeeca mv cfcadabddada mv cbbbdcbcbf mv ffbfbdbcbebb mv edcaaceefccbdb mv ecbabbddfbdf mv fdeceebabc mv aabbaefebacacd mv edffffdbadb mv dadacafceea mv ccddfdbfdaaca mv bbebcdeabfafb mv eaecadefdbdfad mv cebabdceddaa mv ebebbccd mv beabdcffcaaca mv abcfbbfaf mv ecbabbddfbdf mv acadfdfec mv bdbfdccdde mv eeacb mv aaddbcdeddef mv acacaacecd mv acdedefcbadff mv bcceadaaf mv dcefefcaa mv faccaafbaacca mv cbcdbfffcacedf mv ccccdaeddec mv beeeabffc mv eecbbadbebafbcafbbcf mv ebfecafaceca mv cfcadea mv becbcfbff mv ebbfcb mv baddeedfec mv effafadbfad mv cbcbddcdeeca mv aabadfab mv ccccdaeddec mv cfbdcfaafafac mv aeebacbbcf mv cceebeacafb mv bbfaaaccdbdecc mv baeacaffcae mv dabaebcadd mv bebbaefddd mv fbefacccfb mv fcdccbcfbdbdfcedb mv bceddcd mv dbffbfebcbfc mv fededaf mv cceaeeefda mv afafbeb mv baefeafbfddd mv edacafecbdeeafa mv bafaccaf mv dabcddf mv badfccaefab mv cbdeddbbfdbecedc mv cddebcaceeebe mv dfcbfdce mv acaffbfa mv bccededdbc mv fdfdffdedca mv cdafeebbfeea mv fccfdecdbfec mv cdbfdccfabaccaf mv dffaedefcefcf mv badfcaecbbdff mv bcedbefecbbb mv defeffeabba mv baaeaadaaf mv afeeeeeea mv bdffffafbcbf mv edbfddcdfcaf mv aceecdcdbbaccd mv bebdabaa mv baadafe mv afbfccdcbefdbd mv fcbcfdaefbdddd mv cdebafcfec mv ddbedeebdfd mv bfffcdcffeccfbbfc mv cfdfdbadaf mv aedfaadccf mv cfeadbeabbbaa mv aceeaffaeaf mv cccfbadcdfea mv dccfeacfbc mv bccbeefcb mv badbadbfcdbb mv edbbaabedd mv cdabddacefcaaf mv bdeebbcdcba mv beeacceaffbeea mv fcdebebeacdb mv ffebebaebbd mv abffebdfffaa mv eaeceefebbdef mv fcfbebfaececf mv efbfdfb mv cfddaddffedfb mv fffdeaccadea mv ddbbcecba mv dcadcecdacd mv fcfdedaceaea mv bdfdbfdadf mv ddeeacaedc mv adbacaaebfdac mv cdbdacdbebbeffd mv ef mv abfddbf mv bdcfcffebcb mv dfdaeebcfbfcea mv cdebaaecedbadcad mv babcfccfceeaaea mv fcdeadcafbbddffd mv ffcbead mv fdfddcbcbf mv cecebfbbcb mv afdaefadcd mv abcecabfbc mv efaccdbcdfadea mv bdfbffbffebebd mv dfeffedcad mv afbdfeebddeddd mv fbbdeeffccdddcba mv beeaafea mv ebdbbcdadf mv fdadbfead mv facdfbdcdaadcb mv bceadeafbcdea mv acafdaaa mv bbbecffffd mv fddeaceabec mv fdaebdddeeefcdfd mv abbcdbdaaac mv aecefabcedccd mv afcbbebdcbfac mv ffabddcba mv cebbaecaaeefaa mv fdfffdfed mv becaedfdbccbdebf mv dbdbeaedc mv dedcfaaebfddac mv ccdcfbdbff mv cefeef mv dfdebebcb mv abcfdeeaffeeba mv cdfbeacfb mv ebfeae mv cbdcdceadaf mv fadebbcbbcbeec mv dcfafbebfbaecfaa mv afaacfbacdbb mv fdbccffcdaeba mv febaaffdf mv acfbdedfbe mv ffbcfcbdbaecb mv afbafecbcfa mv beabfbceccacd mv afcaffaade mv bebfcdcaf mv cdcceeadca mv acddbffcfdcbbdcc mv dfacdebdcfabaeecfa mv ebaabaeaffcbbdf mv babeaadadbc mv cbdaccbdcbccd mv fdcfbcfddfd mv cbbeacceecc mv cefbfbdbcaaacda mv aedeedbef mv ecdabcfbfb mv bfcbcaad mv bbaaedaffdd mv baeacdcecbcdfcb mv edbdceffaf mv bcbefaeafbffa mv dcebabcdfab mv dccbcecd mv cffdbaadcdefc mv cmds bbcfcfdbcdefeebf
inspect(cleaned_corpus[503:505])
## <<SimpleCorpus>>
## Metadata: corpus specific: 1, document level (indexed): 0
## Content: documents: 3
##
## [1] NA
## [2] exmhworkersadminredhatcom thu aug returnpath exmhworkersadminexamplecom deliveredto zzzzlocalhostnetnoteinccom receiv localhost localhost phoboslabsnetnoteinccom postfix esmtp id dec zzzzlocalhost thu aug edt receiv phobo localhost imap fetchmail zzzzlocalhost singledrop thu aug ist receiv listmanexamplecom listmanexamplecom dogmaslashnullorg esmtp id gmbyrz zzzzexmhexamplecom thu aug receiv listmanexamplecom localhostlocaldomain listmanredhatcom postfix esmtp id thu aug edt deliveredto exmhworkerslistmanexamplecom receiv intmxcorpexamplecom intmxcorpexamplecom listmanredhatcom postfix esmtp id cfd exmhworkerslistmanredhatcom thu aug edt receiv maillocalhost intmxcorpexamplecom id gmbyg exmhworkerslistmanredhatcom thu aug receiv mxexamplecom mxexamplecom intmxcorpredhatcom smtp id gmbyy exmhworkersredhatcom thu aug receiv ratreepsuacth mxexamplecom smtp id gmbihl exmhworkersredhatcom thu aug receiv deltacsmuozau deltacoepsuacth ratreepsuacth esmtp id gmbwel thu aug ict receiv munnariozau localhost deltacsmuozau esmtp id gmbqpw thu aug ict robert elz kremunnariozau chris garrigu cwgdatedfaddeepeddycom cc exmhworkersexamplecom subject re new sequenc window inreplyto tmdadeepeddyvirciocom refer tmdadeepeddyvirciocom tmdadeepeddyvirciocom munnariozau tmdadeepeddyvirciocom tmdadeepeddyvirciocom mimevers contenttyp textplain charsetusascii messageid munnariozau xloop exmhworkersexamplecom sender exmhworkersadminexamplecom errorsto exmhworkersadminexamplecom xbeenther exmhworkersexamplecom xmailmanvers preced bulk listhelp mailtoexmhworkersrequestexamplecomsubjecthelp listpost mailtoexmhworkersexamplecom listsubscrib httpslistmanexamplecommailmanlistinfoexmhwork mailtoexmhworkersrequestredhatcomsubjectsubscrib listid discuss list exmh develop exmhworkersexamplecom listunsubscrib httpslistmanexamplecommailmanlistinfoexmhwork mailtoexmhworkersrequestredhatcomsubjectunsubscrib listarch httpslistmanexamplecommailmanprivateexmhwork date thu aug date wed aug chris garrigu cwgdatedfaddeepeddycom messageid tmdadeepeddyvirciocom cant reproduc error repeat like everi time without fail debug log pick happen pickit exec pick inbox list lbrace lbrace subject ftp rbrace rbrace sequenc mercuri exec pick inbox list lbrace lbrace subject ftp rbrace rbrace sequenc mercuri ftocpickmsg hit mark hit tkerror syntax error express int note run pick command hand delta pick inbox list lbrace lbrace subject ftp rbrace rbrace sequenc mercuri hit that hit come obvious version nmh im use delta pick version pick nmh compil fuchsiacsmuozau sun mar ict relev part mhprofil delta mhparam pick seq sel list sinc pick command work sequenc actual one that explicit command line search popup one come mhprofil get creat kre ps still use version code form day ago havent abl reach cvs repositori today local rout issu think exmhwork mail list exmhworkersredhatcom httpslistmanredhatcommailmanlistinfoexmhwork
## [3] exmhworkersadminredhatcom thu aug returnpath exmhworkersadminexamplecom deliveredto zzzzlocalhostnetnoteinccom receiv localhost localhost phoboslabsnetnoteinccom postfix esmtp id dec zzzzlocalhost thu aug edt receiv phobo localhost imap fetchmail zzzzlocalhost singledrop thu aug ist receiv listmanexamplecom listmanexamplecom dogmaslashnullorg esmtp id gmbyrz zzzzexmhexamplecom thu aug receiv listmanexamplecom localhostlocaldomain listmanredhatcom postfix esmtp id thu aug edt deliveredto exmhworkerslistmanexamplecom receiv intmxcorpexamplecom intmxcorpexamplecom listmanredhatcom postfix esmtp id cfd exmhworkerslistmanredhatcom thu aug edt receiv maillocalhost intmxcorpexamplecom id gmbyg exmhworkerslistmanredhatcom thu aug receiv mxexamplecom mxexamplecom intmxcorpredhatcom smtp id gmbyy exmhworkersredhatcom thu aug receiv ratreepsuacth mxexamplecom smtp id gmbihl exmhworkersredhatcom thu aug receiv deltacsmuozau deltacoepsuacth ratreepsuacth esmtp id gmbwel thu aug ict receiv munnariozau localhost deltacsmuozau esmtp id gmbqpw thu aug ict robert elz kremunnariozau chris garrigu cwgdatedfaddeepeddycom cc exmhworkersexamplecom subject re new sequenc window inreplyto tmdadeepeddyvirciocom refer tmdadeepeddyvirciocom tmdadeepeddyvirciocom munnariozau tmdadeepeddyvirciocom tmdadeepeddyvirciocom mimevers contenttyp textplain charsetusascii messageid munnariozau xloop exmhworkersexamplecom sender exmhworkersadminexamplecom errorsto exmhworkersadminexamplecom xbeenther exmhworkersexamplecom xmailmanvers preced bulk listhelp mailtoexmhworkersrequestexamplecomsubjecthelp listpost mailtoexmhworkersexamplecom listsubscrib httpslistmanexamplecommailmanlistinfoexmhwork mailtoexmhworkersrequestredhatcomsubjectsubscrib listid discuss list exmh develop exmhworkersexamplecom listunsubscrib httpslistmanexamplecommailmanlistinfoexmhwork mailtoexmhworkersrequestredhatcomsubjectunsubscrib listarch httpslistmanexamplecommailmanprivateexmhwork date thu aug date wed aug chris garrigu cwgdatedfaddeepeddycom messageid tmdadeepeddyvirciocom cant reproduc error repeat like everi time without fail debug log pick happen pickit exec pick inbox list lbrace lbrace subject ftp rbrace rbrace sequenc mercuri exec pick inbox list lbrace lbrace subject ftp rbrace rbrace sequenc mercuri ftocpickmsg hit mark hit tkerror syntax error express int note run pick command hand delta pick inbox list lbrace lbrace subject ftp rbrace rbrace sequenc mercuri hit that hit come obvious version nmh im use delta pick version pick nmh compil fuchsiacsmuozau sun mar ict relev part mhprofil delta mhparam pick seq sel list sinc pick command work sequenc actual one that explicit command line search popup one come mhprofil get creat kre ps still use version code form day ago havent abl reach cvs repositori today local rout issu think exmhwork mail list exmhworkersredhatcom httpslistmanredhatcommailmanlistinfoexmhwork
combined_df_dtm<- DocumentTermMatrix(cleaned_corpus)
inspect(combined_df_dtm[1:4, 503:505])
## <<DocumentTermMatrix (documents: 4, terms: 3)>>
## Non-/sparse entries: 0/12
## Sparsity : 100%
## Maximal term length: 14
## Weighting : term frequency (tf)
## Sample :
## Terms
## Docs cant cfd charsetusascii
## 1 0 0 0
## 2 0 0 0
## 3 0 0 0
## 4 0 0 0
# Creating a spam word cloud
spam_tags <- which(combined_df$type == "Spam")
suppressWarnings(wordcloud(cleaned_corpus[spam_tags], min.freq=100))
# Creating a ham word cloud
ham_tags <- which(combined_df$type == "Ham")
suppressWarnings(wordcloud(cleaned_corpus[ham_tags], min.freq=100))
# Using 70% of data for the training set and
# 30% for the test set.
train_combined_df <- createDataPartition(combined_df$email, p=0.70, list=FALSE)
set.seed(123)
combined_df_train <- combined_df[train_combined_df,]
combined_df_test <- combined_df[-train_combined_df,]
cleaned_corpus_train<- cleaned_corpus[train_combined_df]
cleaned_corpus_test<- cleaned_corpus[-train_combined_df]
combined_df_dtm_train <- combined_df_dtm[train_combined_df,]
combined_df_dtm_test <- combined_df_dtm[-train_combined_df,]
train_cleaned_dtm <- DocumentTermMatrix(cleaned_corpus_train)
test_cleaned_dtm <- DocumentTermMatrix(cleaned_corpus_test)
spam <- subset(train_combined_df,cleaned_corpus_train$type == "Spam")
ham <- subset(train_combined_df,cleaned_corpus_train$type == "Ham")
cleaned_count <- function(x) {
y <- ifelse(x > 0, 1, 0)
y <- factor(y, levels=c(0,1), labels=c("No", "Yes"))
y
}
train_cleaned_set <- apply(train_cleaned_dtm, 2, cleaned_count)
test_cleaned_set <- apply(test_cleaned_dtm, 2, cleaned_count)
data_classifier <- naiveBayes(train_cleaned_set, factor(combined_df_train$type))
Test_output <- predict(data_classifier, newdata = test_cleaned_set)
table(Test_output, combined_df_test$type)
##
## Test_output Ham Spam
## Ham 765 0
## Spam 0 150
The results indicate that there are no “false positives” as result of the Naives Bayes test. However, I feel that my model has some issues (probably overfitting) that have caused the model to show each of the spam and ham properly fished out. The model shows that there are 765 hams and 150 spams as of it stands now with none of them erroneously designated.