|
|
| |
| import pandas as pd |
| import numpy as np |
| import re |
| import string |
| from string import punctuation |
|
|
| |
| import nltk |
| nltk.download('wordnet') |
| from nltk.corpus import stopwords |
| from nltk.tokenize import word_tokenize |
| from nltk.stem import WordNetLemmatizer |
|
|
| from sklearn.feature_extraction.text import TfidfVectorizer |
| from sklearn.model_selection import train_test_split |
|
|
| |
| from sklearn.metrics import accuracy_score |
| from sklearn.naive_bayes import MultinomialNB |
| from sklearn.linear_model import LogisticRegression |
| from sklearn.svm import SVC |
| from sklearn.ensemble import RandomForestClassifier |
|
|
| import warnings |
| warnings.filterwarnings("ignore") |
| [nltk_data] Downloading package wordnet to /root/nltk_data... |
| [nltk_data] Package wordnet is already up-to-date! |
| In [25]: |
| |
| import nltk |
| nltk.download('stopwords') |
| stop_words = set(stopwords.words('english')) |
| [nltk_data] Downloading package stopwords to /root/nltk_data... |
| [nltk_data] Package stopwords is already up-to-date! |
| Since the dataset did not have column names, we explicitly define it |
|
|
| In [26]: |
| col = ['target','ids','date','flag','user','text'] |
| In [45]: |
| df = pd.read_csv('/content/drive/MyDrive/training.1600000.processed.noemoticon.csv', encoding='ISO-8859-1', names = col) |
| In [28]: |
| df.head(10) |
| Out[28]: |
| target ids date flag user text |
| 0 0 1467810369 Mon Apr 06 22:19:45 PDT 2009 NO_QUERY _TheSpecialOne_ @switchfoot http://twitpic.com/2y1zl - Awww, t... |
| 1 0 1467810672 Mon Apr 06 22:19:49 PDT 2009 NO_QUERY scotthamilton is upset that he can't update his Facebook by ... |
| 2 0 1467810917 Mon Apr 06 22:19:53 PDT 2009 NO_QUERY mattycus @Kenichan I dived many times for the ball. Man... |
| 3 0 1467811184 Mon Apr 06 22:19:57 PDT 2009 NO_QUERY ElleCTF my whole body feels itchy and like its on fire |
| 4 0 1467811193 Mon Apr 06 22:19:57 PDT 2009 NO_QUERY Karoli @nationwideclass no, it's not behaving at all.... |
| 5 0 1467811372 Mon Apr 06 22:20:00 PDT 2009 NO_QUERY joy_wolf @Kwesidei not the whole crew |
| 6 0 1467811592 Mon Apr 06 22:20:03 PDT 2009 NO_QUERY mybirch Need a hug |
| 7 0 1467811594 Mon Apr 06 22:20:03 PDT 2009 NO_QUERY coZZ @LOLTrish hey long time no see! Yes.. Rains a... |
| 8 0 1467811795 Mon Apr 06 22:20:05 PDT 2009 NO_QUERY 2Hood4Hollywood @Tatiana_K nope they didn't have it |
| 9 0 1467812025 Mon Apr 06 22:20:09 PDT 2009 NO_QUERY mimismo @twittera que me muera ? |
| Columns like ids, date, flag and user aren't gonna help the model to make classification so we're gonna drop them |
| |
| In [29]: |
| df = df.drop(['ids','date','flag','user'],axis = 1) |
| In [16]: |
| df.head(5) |
| Out[16]: |
| target text |
| 0 0 @switchfoot http://twitpic.com/2y1zl - Awww, t... |
| 1 0 is upset that he can't update his Facebook by ... |
| 2 0 @Kenichan I dived many times for the ball. Man... |
| 3 0 my whole body feels itchy and like its on fire |
| 4 0 @nationwideclass no, it's not behaving at all.... |
| In [17]: |
| df.describe() |
| Out[17]: |
| target |
| count 1.600000e+06 |
| mean 2.000000e+00 |
| std 2.000001e+00 |
| min 0.000000e+00 |
| 25% 0.000000e+00 |
| 50% 2.000000e+00 |
| 75% 4.000000e+00 |
| max 4.000000e+00 |