无聊看下kaggle,发现了一个不错 的数据集

您有超市购物中心和会员卡,您可以获得有关客户的一些基本数据,如客户ID,年龄,性别,年收入和支出分数。消费分数是您根据定义的参数(如客户行为和购买数据)分配给客户的分数。

问题陈述 您拥有购物中心并希望了解哪些客户可以轻松融合[目标客户],以便可以向营销团队提供意见并相应地制定策略

数据集是要根据最后两个特征,来判断是否给会员卡,在生活挺常见的,典型的无监督学习,用k-means他们分类

import numpy as np # linear algebra
import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)import os
print(os.listdir("../input"))
['Mall_Customers.csv']
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import warnings
import seaborn as sns
from sklearn.preprocessing import LabelEncoder
warnings.filterwarnings('ignore')
data=pd.read_csv('../input/Mall_Customers.csv')
data.head()

X=data.iloc[:,[3,4]].values # 将年度收入和支出分数作为特征

求最优聚类数

from sklearn.cluster import KMeans
wcss=[]
for i in range(1,11):kmeans=KMeans(n_clusters=i,init='k-means++',max_iter=300,n_init=10,random_state=0)kmeans.fit(X)wcss.append(kmeans.inertia_)
plt.plot(range(1,11),wcss)
plt.title('The Elbow Method')
plt.xlabel('Number of clusters')
plt.ylabel('WCSS')
plt.show()


看出就是5,因为5是折点

kmeans=KMeans(n_clusters=5,init='k-means++',max_iter=300,n_init=10,random_state=0)
y_kmeans=kmeans.fit_predict(X)

plt.scatter(X[y_kmeans==0,0],X[y_kmeans==0,1],s=100,c='magenta',label='Careful')
plt.scatter(X[y_kmeans==1,0],X[y_kmeans==1,1],s=100,c='yellow',label='Standard')
plt.scatter(X[y_kmeans==2,0],X[y_kmeans==2,1],s=100,c='green',label='Target')
plt.scatter(X[y_kmeans==3,0],X[y_kmeans==3,1],s=100,c='cyan',label='Careless')
plt.scatter(X[y_kmeans==4,0],X[y_kmeans==4,1],s=100,c='burlywood',label='Sensible')
plt.scatter(kmeans.cluster_centers_[:,0],kmeans.cluster_centers_[:,1],s=300,c='red',label='Centroids')
plt.title('Cluster of Clients')
plt.xlabel('Annual Income (k$)')
plt.ylabel('Spending Score (1-100)')
plt.legend()
plt.show


五个分类

Cluster 1- High income low spending =CarefulCluster 2- Medium income medium spending =StandardCluster 3- High Income and high spending =TargetCluster 4- Low Income and high spending =CarelessCluster 5- Low Income and low spending =Sensible

比较男和女

sns.lmplot(x='Age', y='Spending Score (1-100)', data=data,fit_reg=True,hue='Gender')
plt.show()


年龄分布

data.sort_values(['Age'])
plt.figure(figsize=(10,8))
plt.bar(data['Age'],data['Spending Score (1-100)'])
plt.xlabel('Age')
plt.ylabel('Spending Score')
plt.show()

男人和女人花在20多岁和30多岁的时候,因为在以后的阶段,消费变小了。

男变为1,女0

label_encoder=LabelEncoder()
integer_encoded=label_encoder.fit_transform(data.iloc[:,1].values)
data['Gender']=integer_encoded
data.head()

hm=sns.heatmap(data.iloc[:,1:5].corr(), annot = True, linewidths=.5, cmap='Blues')
hm.set_title(label='Heatmap of dataset', fontsize=20)
hm
plt.ioff()


看了下其他人的代码,学习一下

有人分成3类

dataset_1 = data.iloc[:,1:5]
dataset_1.head(10)

results = []
for i in range(1,10):kmeans = KMeans(n_clusters=i, init='k-means++')res = kmeans.fit(dataset_1)results.append(res.score(dataset_1))
plt.plot(range(1,10),results)
plt.xlabel('Num Clusters')
plt.ylabel('score')
plt.title('Elbow Curve')


应该是无关数据影响了

dataset_2 = dataset[:,3:5]
dataset_2.head(10)

results = []
for i in range(1,10):kmeans = KMeans(n_clusters=i, init='k-means++')res = kmeans.fit(dataset_2)results.append(res.score(dataset_2))
plt.plot(range(1,10),results)
plt.xlabel('Num Clusters')
plt.ylabel('score')
plt.title('Elbow Curve')

数据集链接:

https://www.kaggle.com/vjchoudhary7/customer-segmentation-tutorial-in-python

无聊刷kaggle ,我也是醉了

商城客户细分数据(kaggle)相关推荐

  1. 大数据精准营销之客户细分

    客户细分(customer segmentation)是通过分析客户的属性.行为.需求等,寻求客户之间的个性与共性特征,对客户进行划分与归类,从而形成不同的客户集合. 客户细分没有统一的标准,它是从业 ...

  2. 客户细分_客户细分:K-Means聚类和A / B测试

    客户细分 语境 (Context) I have been working in Advertising, specifically Digital Media and Performance, fo ...

  3. 客户细分模型_Avarto金融解决方案的客户细分和监督学习模型

    客户细分模型 Lets assume that you are a CEO of a company which have some X amount of customers in a city w ...

  4. RFM模型分析与客户细分

    今天偶然看到沈浩老师的文章<数据挖掘应用案例:RFM模型分析与客户细分>(http://shenhaolaoshi.blog.sohu.com/201923838.html),感慨不少.这 ...

  5. rfm模型分析与客户细分_如何使用基于RFM的细分来确定最佳客户

    rfm模型分析与客户细分 With some free time at hand in the midst of COVID-19 pandemic, I decided to do pro bono ...

  6. 数据挖掘应用案例:RFM模型分析与客户细分(转)

    正好刚帮某电信行业完成一个数据挖掘工作,其中的RFM模型还是有一定代表性,就再把数据挖掘RFM模型的建模思路细节与大家分享一下吧!手机充值业务是一项主要电信业务形式,客户的充值行为记录正好满足RFM模 ...

  7. 房地产企业的客户细分战略

    --2005年旧文 在变化莫测的房地产市场上,唯一不变的是把握客户的重要性.设计可以外包,建筑可以外包,销售可以外包,几乎什么都可以外包,只有基于客户忠诚度的品牌不变,这也是房地产市场发展的趋势之一. ...

  8. 进行有效客户细分的八个步骤

    转载自:http://www.itongji.cn/article/0GJ32011.html 企业的竞争是客户的竞争,大多数企业已经意识到有效的客户细分是企业参与客户竞争的核心竞争力,企业的服务营销 ...

  9. 超详细!构建基于客户细分的 K-Means 聚类算法

    客群细分对于企业了解目标受众非常重要.根据受众群体的不同,我们可以给采取不同的营销策略.目前有许多无监督的机器学习算法可以帮助公司识别他们的用户群并创建消费群体. 在本文中,我将分享一种目前比较流行的 ...

最新文章

  1. Vision 圖像識別框架的使用
  2. checkbox的相关知识点
  3. Java实现算法导论中快速傅里叶变换FFT迭代算法
  4. 对“纯手工编写的第一个Hibernate程序”的改进
  5. grasshopper for rhino 6下载_从SU到Rhino——lumion批量种树
  6. java如果属性为空返回其他_后台返回前台数据(实体类)如果存在为空或‘’的属性,如何过滤掉...
  7. java list 删除元素_Java面试题:List如何一边遍历,一边删除?
  8. 在Spring中使用jOOQ:CRUD
  9. mysql 编译安装与rpm安装的区别_编译安装与RPM安装的区别
  10. VNCServer在Linux下设置
  11. 如何避免文件被删无法找回的尴尬?
  12. Ubuntu 配置环境变量
  13. linux需要的GLIBCXX版本,Linux下GLIBCXX和GLIBC版本低造成的编译错误的解决方案
  14. 强悍的电子邮件地址(email address)正则表达式
  15. 汽车软件质量体系DIY(1)难题-价值-周期
  16. 【脑电数据十折交叉验证】实现对数据自动划分训练集与测试集得出平均分类准确率
  17. C#实现图片转字符画
  18. 文献学习(part102-A)--Autoencoders
  19. html5积分墙联盟,积分墙平台有哪些(全面解读积分墙)
  20. 短信验证码mysql_短信验证码

热门文章

  1. 乐鑫官宣:ESP32-S3真的来了!
  2. 有很多人都想知道SSD201开放了openwrt到底有什么好处?为什么好多开发者都盼着要呢?
  3. java窗体设置最小宽度_flex web Application设置最小高度和宽度。
  4. mysql复制文件迁移后看不到表_mysql 直接拷贝data 目录下文件 进行数据库迁移时遇到的一些问题??...
  5. 中学生学计算机6,中小学学习电脑版
  6. java 10zhuan8,Java代码 10进制转2、8、16进制转换 / 2、8、16进制转10进制转换
  7. java内部方法调用_Java学习之类方法的外部和内部调用
  8. 百度智能云人脸活体检测系统获得公安部一所首批安全性能认证
  9. EBS ORACLE使用API批量取消销售订单
  10. Centos与Ubuntu