From 78478521e54066b5b3b17b84720272c4bfc263c9 Mon Sep 17 00:00:00 2001 From: Ratna Priya Date: Thu, 24 Oct 2019 10:10:35 +0530 Subject: [PATCH 1/7] Update README.md --- README.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5dc2cb7..ba67af7 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,9 @@ # Spam-Detection-using-NLP-ML-models -This jupyter notebook has various ML classification models to detected a mail as spam or not +_This jupyter notebook has a ML classification model to detected a mail as spam or not._ +_Our goal is to build a predictive model which will determine whether a text message is spam or ham. For the code, see here._ + +## Introduction + +In recent times, unwanted commercial bulk emails called spam has become a huge problem on the internet. The person sending the spam messages is referred to as the spammer. Such a person gathers email addresses from different websites, chatrooms, and viruses. Spam prevents the user from making full and good use of time, storage capacity and network bandwidth. The huge volume of spam mails flowing through the computer networks have destructive effects on the memory space of email servers, communication bandwidth, CPU power and user time. The menace of spam email is on the increase on yearly basis and is responsible for over 77% of the whole global email traffic. Users who receive spam emails that they did not request find it very irritating. It is also resulted to untold financial loss to many users who have fallen victim of internet scams and other fraudulent practices. + +## 1. Inspecting the dataset From db6e51d33009241d85a67fde1f19c0b3b019cae0 Mon Sep 17 00:00:00 2001 From: Ratna Priya Date: Thu, 24 Oct 2019 10:31:32 +0530 Subject: [PATCH 2/7] Update README.md --- README.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/README.md b/README.md index ba67af7..fa1a8b2 100644 --- a/README.md +++ b/README.md @@ -7,3 +7,21 @@ _Our goal is to build a predictive model which will determine whether a text mes In recent times, unwanted commercial bulk emails called spam has become a huge problem on the internet. The person sending the spam messages is referred to as the spammer. Such a person gathers email addresses from different websites, chatrooms, and viruses. Spam prevents the user from making full and good use of time, storage capacity and network bandwidth. The huge volume of spam mails flowing through the computer networks have destructive effects on the memory space of email servers, communication bandwidth, CPU power and user time. The menace of spam email is on the increase on yearly basis and is responsible for over 77% of the whole global email traffic. Users who receive spam emails that they did not request find it very irritating. It is also resulted to untold financial loss to many users who have fallen victim of internet scams and other fraudulent practices. ## 1. Inspecting the dataset + +Taking a data which is categorized in to ham or spam with the text in data. + ### a. Importing the required modules/packages + ### b. Loading file and looking into the dimensions of data + + ## 2. Text preprocessing + +There are many feature engineering strategies for transforming text data into features. Some involve assigning each unique word-like term to a feature and counting the number of occurrences per training example. However, if we were to perform this strategy right now, we'd end up with an absurd number of features, a result of the myriad possible terms. The classifier would take too long to train and likely overfit. As a result, each NLP problem requires a tailored approach to determine which terms are relevant and meaningful. + +## 3. Vectorizing the Text + +In the first part of this series, we explored the most basic type of word vectorizer, the Bag of Words Model, which will not work very well for our Spam or Ham classifier due to its simplicity. + +Instead, we will use the TF-IDF vectorizer (Term Frequency — Inverse Document Frequency), a similar embedding technique which takes into account the importance of each term to document. + +While most vectorizers have their unique advantages, it is not always clear which one to use. In our case, the TF-IDF vectorizer was chosen for its simplicity and efficiency in vectorizing documents such as text messages. + +TF-IDF vectorizes documents by calculating a TF-IDF statistic between the document and each term in the vocabulary. The document vector is constructed by using each statistic as an element in the vector. From be8a5cd30d4cc61e04d4af50701efde464740e22 Mon Sep 17 00:00:00 2001 From: Ratna Priya Date: Thu, 24 Oct 2019 10:34:09 +0530 Subject: [PATCH 3/7] Add files via upload --- 1.png | Bin 0 -> 8011 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 1.png diff --git a/1.png b/1.png new file mode 100644 index 0000000000000000000000000000000000000000..1d711ed7f8b21f6514e516a0ecea33a922f58815 GIT binary patch literal 8011 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 bMWa`VxyASjYDY08Su6z^Rq2Y?CLjI>er% Date: Thu, 24 Oct 2019 10:35:40 +0530 Subject: [PATCH 4/7] Delete 1.png --- 1.png | Bin 8011 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 1.png diff --git a/1.png b/1.png deleted file mode 100644 index 1d711ed7f8b21f6514e516a0ecea33a922f58815..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8011 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 bMWa`VxyASjYDY08Su6z^Rq2Y?CLjI>er% Date: Thu, 24 Oct 2019 10:37:02 +0530 Subject: [PATCH 5/7] Uploading files --- images/1.png | Bin 0 -> 8011 bytes images/2.png | Bin 0 -> 24689 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/1.png create mode 100644 images/2.png diff --git a/images/1.png b/images/1.png new file mode 100644 index 0000000000000000000000000000000000000000..1d711ed7f8b21f6514e516a0ecea33a922f58815 GIT binary patch literal 8011 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
    w&M Ax&QzG literal 0 HcmV?d00001 From 794718b5bd9258a93b2a507eb3f3c41795ffc0f8 Mon Sep 17 00:00:00 2001 From: Ratna Priya Date: Thu, 24 Oct 2019 10:38:26 +0530 Subject: [PATCH 6/7] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index fa1a8b2..e08213e 100644 --- a/README.md +++ b/README.md @@ -25,3 +25,5 @@ Instead, we will use the TF-IDF vectorizer (Term Frequency — Inverse Document While most vectorizers have their unique advantages, it is not always clear which one to use. In our case, the TF-IDF vectorizer was chosen for its simplicity and efficiency in vectorizing documents such as text messages. TF-IDF vectorizes documents by calculating a TF-IDF statistic between the document and each term in the vocabulary. The document vector is constructed by using each statistic as an element in the vector. + +![Vectorizing text](https://github.com/Ratna04priya/Spam-Detection-using-NLP-ML-models/blob/master/images/1.png) From 2b9cb937eb2d2833fc95c78bafa35c22f85bae74 Mon Sep 17 00:00:00 2001 From: Ratna Priya Date: Thu, 24 Oct 2019 10:43:54 +0530 Subject: [PATCH 7/7] Update README.md --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index e08213e..cd3f1b2 100644 --- a/README.md +++ b/README.md @@ -27,3 +27,14 @@ While most vectorizers have their unique advantages, it is not always clear whic TF-IDF vectorizes documents by calculating a TF-IDF statistic between the document and each term in the vocabulary. The document vector is constructed by using each statistic as an element in the vector. ![Vectorizing text](https://github.com/Ratna04priya/Spam-Detection-using-NLP-ML-models/blob/master/images/1.png) + +The TF-IDF statistic for term i in document j is calculated as follows: + +![Formula](https://github.com/Ratna04priya/Spam-Detection-using-NLP-ML-models/blob/master/images/2.png) + +After settling with TF-IDF, we must decide the granularity of our vectorizer. +We use Counter vectorizer. + +## 4. Gradient Boosting + +Gradient boosting is a machine learning technique for regression and classification problems, which produces a prediction model in the form of an ensemble of weak prediction models, typically decision trees.