I tried Kaggle, which I hadn't touched for a while, after a long time.
Click here to challenge ↓ Real or Not? NLP with Disaster Tweets https://www.kaggle.com/c/nlp-getting-started
First, drop the dataset into a DataFrame.
import os
import pandas as pd
for dirname, _, filenames in os.walk('../input/nlp-getting-started'):
for filename in filenames:
path = os.path.join(dirname, filename)
exec("{0}_df = pd.read_csv(path)".format(filename.replace(".csv","")))
I created the following code thinking that there may be a correlation between a specific word and the disaster occurrence Tweet.
# Separate Tweet sentences by word and store in DataFrame
words_df = pd.DataFrame([], columns = ['words' , 'target_count'])
for index,item in train_df[['text','target']].iterrows():
word_df = pd.DataFrame([], columns = ['words' , 'target_count'])
word_df['words'] = item[0].split(' ')
word_df['target_count'] = item[1]
words_df = pd.concat([words_df,word_df])
# Narrow down to words with 5 or more letters to exclude stop words
long_words_df = words_df[words_df['words'].str.len() > 5]
# GroupBy the same word and display the aggregated result
long_words_df.groupby(['words']).sum().sort_values("target_count", ascending=False)
The result is as follows. I'm curious that the word Hiroshima is digging into the top.
| words | target_count |
|---|---|
| California | 86 |
| killed | 86 |
| people | 83 |
| suicide | 71 |
| disaster | 59 |
| Hiroshima | 58 |
Recommended Posts