市场细分(market segmentation )是指营销者通过市场调研,依据消费者的需要和欲望、购买行为和购买习惯等方面的差异,把某一产品的市场整体划分为若干消费者群的市场分类过程。
每一个消费者群就是一个细分市场,每一个细分市场都是具有类似需求倾向的消费者构成的群体。
市场细分能够对企业的生产、营销起到极其重要的作用:
- 有利于选择目标市场和制定市场营销策略
- 有利于发掘市场机会,开拓新市场
- 有利于集中人力、物力投入目标市场
- 有利于企业提高经济效益
随着 Facebook, Twitter等社交网络平台的流行,越来越多的青少年用户会在这些平台发布消息。这些文本数据能够反映青少年的行为、兴趣爱好,结合社交网络平台上用户的性别、年龄、好友数等信息,对于挖掘青少年细分市场具有很大的价值。
数据读取
//读取数据
df = pd.read_csv('teenager_sns.csv')
描述性统计分析
df.info()
df.describe()
本数据集包含30000条数据,共有40个特征值,分别描述了青少年在社交平台上的各项数据,包括年份、性别、年龄等基础信息和运动、宗教、艺术等相关话题的点击情况。
数据预处理
数据集共有40列特征值,由于篇幅原因,下面只列举了重点需要预处理的部分。
gradyear | gender | age | |
---|---|---|---|
count | 30000 | F:22054 M:5222 | 24914 |
mean | 2007.5 | - | 17.99 |
std | 1.118053 | - | 7.85 |
min | 2006 | - | 3.08 |
25% | 2006.75 | - | 16.31 |
50% | 2007.5 | - | 17.28 |
75% | 2008.25 | - | 18.25 |
max | 2009 | - | 106.92 |
缺失数据处理
已知共有30000条数据,但gender和age两个变量都不足30000,缺失数据超过2000,不宜直接删除,观察两个属性的特征。
plt.hist(df['age'])
plt.title('年龄分布情况')
plt.show()
发现90%以上的年龄都在20岁左右,符合青少年的定义,说明缺失的数据极有可能也在20岁左右,因此对年龄采用均值填充补足缺失值。
而性别数据则可以根据数据本身观察到,女性的数据周围也大部分为女性,男性的周围大部分为男性,因此可以采用临近的数据填充。
df['age']=df['age'].fillna(df['age'].mean())
df['gender']=df['gender'].fillna(method='backfill')
填充之后不再有缺失值。
异常值处理
根据上面的年龄分布图和描述性统计信息中可以看到有一部分人的年龄在100岁左右,而最小的年龄在3岁左右,这并不符合我们对青少年行为分析的前提,可以认为这些数据是无效数据,可将其删除。
在本文中,主观规定青少年的年龄范围定义在10-25岁,当然这是根据个人判断的,也可根据实际情况进行相应改动。
//异常值处理
for i in range(len(df['age'])):
if df.loc[i