J'ai essayé Kaggle, que je n'avais pas touché depuis un moment, après un long moment.
Cliquez ici pour défier ↓ Real or Not? NLP with Disaster Tweets https://www.kaggle.com/c/nlp-getting-started
Tout d'abord, déposez l'ensemble de données dans un 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","")))
J'ai créé le code suivant en pensant qu'il peut y avoir une corrélation entre un mot spécifique et le Tweet de la catastrophe.
# Séparer les déclarations de Tweet par mot et stocker dans 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]) # Limitez-vous aux mots de 5 caractères ou plus pour exclure les mots vides long_words_df = words_df[words_df['words'].str.len() > 5] # GroupBy le même mot et afficher le résultat agrégé long_words_df.groupby(['words']).sum().sort_values("target_count", ascending=False)
Le résultat est le suivant. Je suis curieux que le mot Hiroshima pénètre dans le haut.
words | target_count |
---|---|
California | 86 |
killed | 86 |
people | 83 |
suicide | 71 |
disaster | 59 |
Hiroshima | 58 |
Recommended Posts