【视频】支持向量机算法原理和Python用户流失数据挖掘SVM实例(上)

简介: 【视频】支持向量机算法原理和Python用户流失数据挖掘SVM实例

全文链接:http://tecdat.cn/?p=32604

分析师:Bailey Zheng和Lijie Zhang


即使是同一种植物,由于生长的地理环境的不同,它们的特征会有所差异。例如鸢尾花,可分为山鸢尾、杂色鸢尾、维吉尼亚鸢尾点击文末“阅读原文”获取完整代码数据


假设此时您得到了一朵鸢尾花,如何判断它属于哪一类呢?

image.png

支持向量机算法原理


·其主要思想是找到空间中的一个能够将所有数据样本划开的超平面,并且使得样本集中所有数据到这个超平面的距离最短。

·支持向量机可以分为线性和非线性两大类。

image.png

支持向量机的标准:


image.png

非线性支持向量机


·高斯核:尺度参数gamma

·多项式核:阶数degree

(线性支持向量机:正则化参数C) 调参

image.png

数据指标:


SL花尊长度(cm) ,SW花芎宽度(cm)PL花辨长度(cm),PW花瓣宽度(cm)鸢尾花种类: Iris Setosa;

Iris Versicolour;Iris Virginica

数据数量:共150个数据点


使用多项式核函数的非线性支持向量机训练分类模型

image.png

点击标题查阅往期内容


数据分享|WEKA信贷违约预测报告:用决策树、随机森林、支持向量机SVM、朴素贝叶斯、逻辑回归


01

02

03

04


Python用户流失数据挖掘:建立支持向量机、逻辑回归、XGboost、随机森林、决策树、朴素贝叶斯模型和Kmeans用户画像


在今天产品高度同质化的品牌营销阶段,企业与企业之间的竞争集中地体现在对客户的争夺上

“用户就是上帝”促使众多的企业不惜代价去争夺尽可能多的客户。但是企业在不惜代价发展新用户的过程中,往往会忽视或无暇顾及已有客户的流失情况,结果就导致出现这样一种窘况:一边是新客户在源源不断地增加,而另一方面是辛辛苦苦找来的客户却在悄然无声地流失。因此对老用户的流失进行数据分析从而挖掘出重要信息帮助企业决策者采取措施来减少用户流失的事情至关重要,迫在眉睫。

image.png

1.2 目的:

深入了解用户画像及行为偏好,挖掘出影响用户流失的关键因素,并通过算法预测客户访问的转化结果,从而更好地完善产品设计、提升用户体验。


1.3 数据说明:

此次数据是携程用户一周的访问数据,为保护客户隐私,已经将数据经过了脱敏,和实际商品的订单量、浏览量、转化率等有一些差距,不影响问题的可解性。


2 读取数据


# 显示全部特征
df.head()

image.png

3 切分数据


# 划分训练集,测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=666)

3.1 理解数据

可以看到变量比较的多,先进行分类,除去目标变量label,此数据集的字段可以分成三个类别:订单相关指标、客户行为相关指标、酒店相关指标。

image.png

image.png

4 特征工程


# 用训练集进行数据探索
train = pd.concat([X_train,y_train],axis=1)


4.1 数据预处理

image.png

image.png

4.1.1 删除不必要的列

X_train.pop("sampleid")
X_test.pop("sampleid")
train.pop("sampleid")

4.1.2 数据类型转换

字符串类型的特征需要处理成数值型才能建模,将arrival和d相减得到"提前预定的天数",作为新的特征

# 增加列
# 将两个日期变量由字符串转换为日期格式类型
train["arrial"] = pd.to_datimetain["arrval"])
X_tst["arival"] = d.to_daetime(X_est["arival"])
# 生成提前预定时间列(衍生变量)
X_trin["day_adanced"] = (X_rain["arival"]-Xtrain["d"]).dt.days
## 删除列
X_tran.dro(columns="d","arrivl"],inpace=True)

4.1.3 缺失值的变量生成一个指示哑变量

zsl = tain.isnll().sum()[tain.isnll(.sum()!=0].inex

4.1.4 根据业务经验填补空缺值

ordernum_oneyear 用户年订单数为0 ,lasthtlordergap 11%用600000填充 88%用600000填充 一年内距离上次下单时长,ordercanncelednum 用0填充 用户一年内取消订单数,ordercanceledprecent 用0t填充 用户一年内取消订

单率 242114 242114 -为空 有2种情况 1:新用户未下订单的空-88.42% 214097 2.老用户1年以上未消费的空 增加编码列未下订单新用户和 1年未下订单的老用户

price_sensitive -0 ,中位数填充 价格敏感指数,consuming_capacity -0 中位数填充 消费能力指数 226108 -为空情况 1.从未下过单的新用户214097 2.12011个人为空原因暂不明确

uv_pre -24小时历史浏览次数最多酒店历史uv. cr_pre -0,中位数填充 -24小时历史浏览次数最多酒店历史cr -0,中位数填充 29397 -为空 1.用户当天未登录APP 28633 2.刚上线的新酒店178 586 无uv,cr记录 编码添加 该APP刚上线的新酒店 764 29397

customereval_pre2 用0填充-24小时历史浏览酒店客户评分均值, landhalfhours -24小时内登陆时长 -用0填充28633 -为空:用户当天未登录APP 28633

hotelcr ,hoteluv -中位数填充 797


【视频】支持向量机算法原理和Python用户流失数据挖掘SVM实例(下):https://developer.aliyun.com/article/1496761

相关文章
|
6月前
|
算法 搜索推荐 JavaScript
基于python智能推荐算法的全屋定制系统
本研究聚焦基于智能推荐算法的全屋定制平台网站设计,旨在解决消费者在个性化定制中面临的选择难题。通过整合Django、Vue、Python与MySQL等技术,构建集家装设计、材料推荐、家具搭配于一体的一站式智能服务平台,提升用户体验与行业数字化水平。
|
6月前
|
存储 监控 算法
监控电脑屏幕的帧数据检索 Python 语言算法
针对监控电脑屏幕场景,本文提出基于哈希表的帧数据高效检索方案。利用时间戳作键,实现O(1)级查询与去重,结合链式地址法支持多条件检索,并通过Python实现插入、查询、删除操作。测试表明,相较传统列表,检索速度提升80%以上,存储减少15%,具备高实时性与可扩展性,适用于大规模屏幕监控系统。
201 5
|
7月前
|
存储 算法 调度
【复现】【遗传算法】考虑储能和可再生能源消纳责任制的售电公司购售电策略(Python代码实现)
【复现】【遗传算法】考虑储能和可再生能源消纳责任制的售电公司购售电策略(Python代码实现)
343 26
|
7月前
|
机器学习/深度学习 算法 机器人
【机器人路径规划】基于D*算法的机器人路径规划(Python代码实现)
【机器人路径规划】基于D*算法的机器人路径规划(Python代码实现)
345 0
|
7月前
|
机器学习/深度学习 算法 机器人
【机器人路径规划】基于改进型A*算法的机器人路径规划(Python代码实现)
【机器人路径规划】基于改进型A*算法的机器人路径规划(Python代码实现)
521 0
|
7月前
|
机器学习/深度学习 编解码 算法
【机器人路径规划】基于迪杰斯特拉算法(Dijkstra)的机器人路径规划(Python代码实现)
【机器人路径规划】基于迪杰斯特拉算法(Dijkstra)的机器人路径规划(Python代码实现)
565 4
|
7月前
|
机器学习/深度学习 算法 机器人
【机器人路径规划】基于A*算法的机器人路径规划研究(Python代码实现)
【机器人路径规划】基于A*算法的机器人路径规划研究(Python代码实现)
887 4
|
7月前
|
机器学习/深度学习 算法 机器人
【机器人路径规划】基于深度优先搜索(Depth-First-Search,DFS)算法的机器人路径规划(Python代码实现)
【机器人路径规划】基于深度优先搜索(Depth-First-Search,DFS)算法的机器人路径规划(Python代码实现)
357 3
|
7月前
|
算法 机器人 定位技术
【机器人路径规划】基于流场寻路算法(Flow Field Pathfinding)的机器人路径规划(Python代码实现)
【机器人路径规划】基于流场寻路算法(Flow Field Pathfinding)的机器人路径规划(Python代码实现)
454 4
机器学习/深度学习 算法 自动驾驶
1232 0

推荐镜像

更多
下一篇
开通oss服务