Twtter用户数据集
本帖最后由 I_Like_AI 于 2018-8-30 14:52 编辑1 简介
这是Kaggle上的Twtter用户数据集,这个数据集被用来训练一个CrowdFlower AI性别预测器。这个项目地址:https://www.crowdflower.com/usin ... -to-predict-gender/。数据集包含20,000行。数据集下载地址:https://www.kaggle.com/crowdflower/twitter-user-gender-classification/。数据集中的性别有三类,男人、女人、品牌。品牌不是具体的某个人,而是一个集体。我们将探索数据集的text列,看男人、女人、品牌的言论有何不同。
2 数据探索2.1 读取数据
import pandas as pd
import numpy as np
import re
import string
import matplotlib
data = pd.read_csv("../input/gender-classifier-DFE-791531.csv",encoding='latin1')2.2 数据清洗
言论会包括许多标点符号,和一些常用的词,它们对分别性别起不到多大作用。所以先对text列进行数据清洗。
def cleaning(s):
s = str(s)
s = s.lower()
s = re.sub('\s\W',' ',s)
s = re.sub('\W,\s',' ',s)
s = re.sub(r'[^\w]', ' ', s)
s = re.sub("\d+", "", s)
s = re.sub('\s+',' ',s)
s = re.sub('[!@#$_]', '', s)
s = s.replace("co","")
s = s.replace("https","")
s = s.replace(",","")
s = s.replace("[\w*"," ")
return s
data['Tweets'] = ]
data['Description'] = ]
from nltk.corpus import stopwords
stop = set(stopwords.words('english'))
data['Tweets'] = data['Tweets'].str.lower().str.split()
data['Tweets'] = data['Tweets'].apply(lambda x : )2.3 查看女性言论词频
Male = data == 'male']
Female = data == 'female']
Brand = data == 'brand']
Male_Words = pd.Series(' '.join(Male['Tweets'].astype(str)).lower().split(" ")).value_counts()[:20]
Female_Words = pd.Series(' '.join(Female['Tweets'].astype(str)).lower().split(" ")).value_counts()[:20]
Brand_words = pd.Series(' '.join(Brand['Tweets'].astype(str)).lower().split(" ")).value_counts()[:10]
Female_Words.plot(kind='bar',stacked=True, colormap='OrRd')
图2.3-1
2.4 查看男性言论词频
Male_Words.plot(kind='bar',stacked=True, colormap='plasma')
图2.4-1
2.5 查看品牌言论词频
Brand_words.plot(kind='bar',stacked=True, colormap='Paired')
图2.5-1
3 结论
从以上分析来看,似乎没什么太大不同,可能是一些u,go,new,one比较常用的词没有过滤掉导致的。有兴趣的小伙伴可以自己下载下来自行探索下。
这个有什么应用吗 马猴烧酒 发表于 2018-9-8 11:34
这个有什么应用吗
可以挖掘每个用户的需求,进行推荐 不明觉厉
www呵呵 发表于 2018-9-10 09:44
不明觉厉
一个分类问题的数据集,可以用来判断社交发言的账号是男是女还是一个群体品牌。 马猴烧酒 发表于 2018-9-11 17:24
一个分类问题的数据集,可以用来判断社交发言的账号是男是女还是一个群体品牌。 ...
没错,是这样一个问题 不错,这个模块的数据集都整理的很好
页:
[1]