3、数据分析--聚类项目分析

本文通过聚类分析构建用户画像,对数据进行预处理,包括填补缺失值、修正错误值、离散变量处理和正态化。通过处理不同类型的变量,如连续变量、有序分类和无序分类,选择适当K值进行多维度聚类,最终得到用户兴趣群体,如‘高兴趣度用户’。
摘要由CSDN通过智能技术生成
字段 含义 类型
interested_travel 旅行偏好 二分类
computer_owner 是否有家用电脑 二分类
age 估计的年龄 连续
home_value 房产价格 连续
loan_ratio 贷款比率 连续
risk_score 风险分数 连续
marital 婚姻状况估计 连续
interested_sport 运动偏好 连续
HH_grandparent 户主祖父母是否健在估计 连续
HH_dieting 户主节食偏好 连续
HH_head_age 户主年龄 连续
auto_member 驾驶俱乐部估计 连续
interested_golf 高尔夫偏好 二分类
interested_gambling 博彩偏好 二分类
HH_has_children 户主是否有孩子 二分类
HH_adults_num 家庭成年人数量 连续
interested_reading 阅读偏好 有序分类

1、数据集中的变量较多,如果全部进入模型会导致模型解释困难。因此,一方面我们对于有相关性的变量进行降维,减少变量数目;另一方面,基于业务理解,我们预先将变量进行分组,使得同一组的变量能尽量解释业务的一个方面。比如本例中将变量分成三组,分别是家庭基本情况、财务状况和用户爱好,通过对每组变量分别进行聚类,获取用户的侧写,再将三个聚类结果进行综合,以获得较完整的用户画像。

2、本例中数据类型复杂,包含了连续变量、无序分类和有序分类变量。由于K-means最好仅用于连续型变量聚类,因此需要对变量进行预处理。对于有序分类变量,如果分类水平较多可以视作连续变量处理,否则视作无序分类变量一样处理,再进入模型;无序分类变量数目较少时,可以使用其哑变量编码进入模型。本例中由于有较多的二分类变量,又集中在用户爱好这一方面,因此我们将interested_reading这一有序分类变量二值化,再与其他几个二分类变量一起进行汇总,得到用户的“爱好广度”,使用“爱好广度”与其他连续型的爱好类变量进行聚类。

3、离散变量如HH_has_children一般不参与聚类,因为其本身就可以视作是簇的标签;如果为了后期解释模型时简化处理,在离散变量不多的情况之下,也可以做哑变量变换后进入模型。

读取数据

%matplotlib inline
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
travel = pd.read_csv('data_travel.csv',skipinitialspace=True) # skipinitialspace忽略前后空白
travel.head()
interested_travel computer_owner age home_value loan_ratio risk_score marital interested_sport HH_grandparent HH_dieting HH_head_age auto_member interested_golf interested_gambling HH_has_children HH_adults_num interested_reading
0 NaN NaN 64 124035 73 932 3 312 420 149 96 626 0 0 NaN NaN 0
1 0.0 1.0 69 138574 73 1000 7 241 711 263 68 658 0 0 N 5.0 3
2 0.0 0.0 57 148136 77 688 1 367 240 240 56 354 0 1 N 2.0 1
3 1.0 1.0 80 162532 74 932 7 291 832 197 86 462 1 1 Y 2.0 3
4 1.0 1.0 48 133580 77 987 10 137 121 209 42 423 0 1 Y 3.0 3

所有字段值分别为:旅行偏好,是否有家用电脑,估计年龄,房产价格,贷款比率,风险系数,婚姻状况估计,运动偏好,
户主祖父母是否健在,户主饮食偏好,户主年龄,驾驶俱乐部估计,是否喜欢高尔夫,是否喜欢博彩,是否有孩子,家庭成年人数量,阅读偏好

travel.describe(include='all')# 描述所有列
interested_travel computer_owner age home_value loan_ratio risk_score marital interested_sport HH_grandparent HH_dieting HH_head_age auto_member interested_golf interested_gambling HH_has_children HH_adults_num interested_reading
count 149788.000000 149788.000000 167177.000000 167177.000000 167177.000000 167177.000000 167177.000000 167177.000000 167177.000000 167177.000000 167177.000000 167177.000000 167177.000000 167177.000000 159899 145906.000000 167177
unique NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 2 NaN 5
top NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN N NaN 3
freq NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 111462 NaN 65096
mean 0.427745 0.856571 59.507079 207621.314798 66.762707 817.031751 6.884015 259.431776 377.072498 204.593341 59.368023 486.861273 0.3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

T o r

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值