AI制胜:机器学习极简入门_宋立桓_AZW3_MOBI_EPUB_PDF_电子书(无页码)_宋立桓
内容节选
6.6K-means算法实现客户价值分析 公司的客户只是具有某些特征,没有具体的分类标准,那么可以直接根据特征进行聚类,得出聚类结果后再分析研究这些类别的真实含义,目的是找出最有价值和重要的客户。 假设初始时存在部分客户的数据,如图6-10所示,包含客户年龄、平均每次消费金额、平均消费周期等数据。现需要对上述客户进行聚类,以帮助公司快速区别出普通客户、VIP客户和超级VIP客户。在有其他历史数据的情况下,可以将这些用户的特征和客户类型建立起映射关系,通过机器学习训练便可以得到未知的客户类型。但在没有历史数据的情况下,这就是典型的聚类问题。 图6-10 接下来使用K-Means算法来解决公司客户价值自动划分的问题。在Python中实现K-means算法其实是相对容易的。首先加载客户数据文件company.csv,从中读取客户数据,然后导入K-means模型,这里设置聚类成3类,然后将聚类结果通过图像来分析。但当聚类有多个特征值时,绘图分析会有一定的难度,例如在本例中有3个特征值,在作图时就需要将特征值两两组合,对年龄-消费金额图、消费周期-消费金额图、年龄-消费周期分别进行分析。 范例程序代码如下:import pandas as pdimport numpy as npyimport matplotlib.pylab as pyl# 忽略警告 import warnings warnings.filterwarnings("ignore") dataf = pd.read_csv('company.csv', encoding='utf-8') x = dataf[['平均消费周期(天)', '平均每次消费金额']].values # 导入聚类分析工具KMeans from sklearn.cluster import KMeans # 传入要分类的数目 kms = KMeans(n_clusters=3) y = kms.fit_predict(x) print(y) # 做图:年龄-消费金额图,消费时间-消费金额图,年龄-消费时间图 for i in range(0,len(y)): if(y[i]==0): print(str(i)+"大众客户") pyl.subplot(2,3,1) # 年龄-消费金额图 pyl.xlabel('age') pyl.ylabel('amount') pyl.plot(dataf.iloc[i:i+1,0:1].values,dataf.iloc[i:i+1,1:2].values,"*r") pyl.subplot(2,3,2) # 消费时间-消费金额图 pyl.xlabel('period') pyl.ylabel('amount') pyl.plot(dataf.iloc[i:i+1,2:3].values,dataf.iloc[i:i+1,1:2].values,"*r") pyl.subplot(2,3,3) # 年龄-消费时间图 pyl.xlabel('age') pyl.ylabel('period') pyl.plot(dataf.iloc[i:i+1,0:1].values,dataf.iloc[i:i+1,2:3].values,"*r") elif(y[i]==1): print(str(i)+"超级VIP客户") pyl.subplot(2,3,1) pyl.xlabel('age') pyl.ylabel('amount') # 年龄-消费金额图 pyl.plot(dataf.iloc[i:i+1,0:1].values,dataf.iloc[i:i+1,1:2].values,"sy") pyl.subplot(2,3,2) pyl.xlabel('period') pyl.ylabel('amount') # 消费时间-消费金额图 pyl.plot(dataf.iloc[i:i+1,2:3].values,dataf.iloc[i:i+1,1:2].values,"sy") pyl.subplot(2,3,3) # 年龄-消费时间图 pyl.xlabel('age') pyl.ylabel('period') pyl.plot(dataf.iloc[i:i+1,0:1].values,dataf.iloc[i:i+1,2:3].values,"sy") elif(y[i]==2): print(str(i)+"VIP 客户") pyl.subplot(2,3,1) # 年龄-消费金额图 pyl.xlabel('age') pyl.ylabel('amount') pyl.plot(dataf.iloc[i:i+1,0:1].values,dataf.iloc......
- 信息
- 内容简介
- 推荐序一
- 推荐序二
- 前言
- 第1章 机器学习概述
- 1.1 什么是机器学习
- 1.2 机器学习的流程
- 1.3 机器学习该如何学
- 1.4 机器学习分类
- 1.5 过拟合和欠拟合
- 1.6 衡量机器学习模型的指标
- 第2章 机器学习中的数据预处理
- 2.1 数据预处理的重要性和原则
- 2.2 数据预处理方法介绍
- 2.3 数据降维
- 第3章 k最近邻算法
- 3.1 k最近邻算法的原理
- 3.2 k最近邻算法过程详解
- 3.3 kNN算法的注意事项
- 3.4 k最近邻算法案例分享
- 3.5 kNN算法优缺点
- 第4章 回归算法
- 4.1 线性回归
- 4.2 线性回归案例实战
- 4.3 逻辑回归
- 4.4 回归算法总结和优缺点
- 第5章 决策树
- 5.1 决策树概念
- 5.2 信息熵
- 5.3 信息增益与信息增益比
- 5.4 基尼系数
- 5.5 过拟合与剪枝
- 5.6 决策树算法案例实战——预测患者佩戴隐形眼镜类型
- 5.7 决策树算法实战案例——电影喜好预测
- 5.8 总结
- 第6章 K-means聚类算法
- 6.1 何为聚类
- 6.2 K-means算法思想和原理
- 6.3 K-means算法涉及的参数和优缺点
- 6.4 K-means应用场景
- 6.5 K-means聚类算法实现鸢尾花数据的聚类
- 6.6 K-means算法实现客户价值分析
- 6.7 K-means算法实现对亚洲足球队做聚类
- 第7章 随机森林
- 7.1 随机森林概述
- 7.2 随机森林实战——红酒数据集案例
- 7.3 随机森林算法实战——泰坦尼克号生存预测
- 第8章 朴素贝叶斯算法
- 8.1 朴素贝叶斯算法概念和原理
- 8.2 贝叶斯算法实战案例——曲奇饼
- 8.3 贝叶斯算法案例实战——单词拼写纠错
- 8.4 贝叶斯算法案例实战——识别中文垃圾邮件
- 8.5 贝叶斯算法案例实战——鸢尾花分类预测
- 第9章 支持向量机SVM
- 9.1 支持向量机概述
- 9.2 工作原理
- 9.3 SVM的核函数选择和参数的调整
- 9.4 SVM算法案例实战——波士顿房价分析
- 9.5 SVM算法案例实战——鸢尾花分类
- 9.6 SVM算法优缺点
- 第10章 神经网络
- 10.1 神经网络概念
- 10.2 卷积神经网络(CNN)
- 10.3 用Python实现自己的神经网络案例
- 10.4 多层神经网络基于sklearn的实现案例
- 10.5 使用Keras框架实现神经网络案例
- 第11章 人脸识别入门实践
- 11.1 人脸识别简介
- 11.2 人脸检测和关键点定位实战
- 11.3 人脸表情分析——情绪识别实战
- 11.4 我能认识你——人脸识别实战