易学智能

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3027|回复: 6

Twtter用户数据集

[复制链接]

15

主题

97

帖子

310

积分

论坛管理

Rank: 4

积分
310
发表于 2018-8-30 14:51:33 | 显示全部楼层 |阅读模式
本帖最后由 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 读取数据
  1. import pandas as pd
  2. import numpy as np
  3. import re
  4. import string
  5. import matplotlib
  6. data = pd.read_csv("../input/gender-classifier-DFE-791531.csv",encoding='latin1')
复制代码
2.2 数据清洗
    言论会包括许多标点符号,和一些常用的词,它们对分别性别起不到多大作用。所以先对text列进行数据清洗。
  1. def cleaning(s):
  2.     s = str(s)
  3.     s = s.lower()
  4.     s = re.sub('\s\W',' ',s)
  5.     s = re.sub('\W,\s',' ',s)
  6.     s = re.sub(r'[^\w]', ' ', s)
  7.     s = re.sub("\d+", "", s)
  8.     s = re.sub('\s+',' ',s)
  9.     s = re.sub('[!@#$_]', '', s)
  10.     s = s.replace("co","")
  11.     s = s.replace("https","")
  12.     s = s.replace(",","")
  13.     s = s.replace("[\w*"," ")
  14.     return s

  15. data['Tweets'] = [cleaning(s) for s in data['text']]
  16. data['Description'] = [cleaning(s) for s in data['description']]

  17. from nltk.corpus import stopwords
  18. stop = set(stopwords.words('english'))
  19. data['Tweets'] = data['Tweets'].str.lower().str.split()
  20. data['Tweets'] = data['Tweets'].apply(lambda x : [item for item in x if item not in stop])
复制代码
2.3 查看女性言论词频
  1. Male = data[data['gender'] == 'male']
  2. Female = data[data['gender'] == 'female']
  3. Brand = data[data['gender'] == 'brand']
  4. Male_Words = pd.Series(' '.join(Male['Tweets'].astype(str)).lower().split(" ")).value_counts()[:20]
  5. Female_Words = pd.Series(' '.join(Female['Tweets'].astype(str)).lower().split(" ")).value_counts()[:20]
  6. Brand_words = pd.Series(' '.join(Brand['Tweets'].astype(str)).lower().split(" ")).value_counts()[:10]
  7. Female_Words.plot(kind='bar',stacked=True, colormap='OrRd')
复制代码
1.png

图2.3-1

2.4 查看男性言论词频

  1. Male_Words.plot(kind='bar',stacked=True, colormap='plasma')
复制代码
1.png


图2.4-1

2.5 查看品牌言论词频

  1. Brand_words.plot(kind='bar',stacked=True, colormap='Paired')
复制代码
1.png

图2.5-1

3 结论

    从以上分析来看,似乎没什么太大不同,可能是一些u,go,new,one比较常用的词没有过滤掉导致的。有兴趣的小伙伴可以自己下载下来自行探索下。


回复

使用道具 举报

22

主题

107

帖子

266

积分

中级会员

Rank: 3Rank: 3

积分
266
发表于 2018-9-8 11:34:52 | 显示全部楼层
这个有什么应用吗
回复

使用道具 举报

15

主题

97

帖子

310

积分

论坛管理

Rank: 4

积分
310
 楼主| 发表于 2018-9-10 08:43:41 | 显示全部楼层
马猴烧酒 发表于 2018-9-8 11:34
这个有什么应用吗

可以挖掘每个用户的需求,进行推荐
回复

使用道具 举报

0

主题

32

帖子

80

积分

注册会员

Rank: 2

积分
80
发表于 2018-9-10 09:44:16 | 显示全部楼层
不明觉厉
回复

使用道具 举报

22

主题

107

帖子

266

积分

中级会员

Rank: 3Rank: 3

积分
266
发表于 2018-9-11 17:24:05 | 显示全部楼层

一个分类问题的数据集,可以用来判断社交发言的账号是男是女还是一个群体品牌。
回复

使用道具 举报

15

主题

97

帖子

310

积分

论坛管理

Rank: 4

积分
310
 楼主| 发表于 2018-9-12 08:09:06 | 显示全部楼层
马猴烧酒 发表于 2018-9-11 17:24
一个分类问题的数据集,可以用来判断社交发言的账号是男是女还是一个群体品牌。 ...

没错,是这样一个问题
回复

使用道具 举报

2

主题

54

帖子

122

积分

注册会员

Rank: 2

积分
122
发表于 2018-10-15 08:29:39 | 显示全部楼层
不错,这个模块的数据集都整理的很好
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|易学智能

GMT+8, 2024-11-21 20:41 , Processed in 0.017578 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表