Python实现基于机器学习的RFM假设
发布时间:2025-05-23
标识符解读:
首先另设GIS的隐喻为seaborn下的黒窗格状态,其次自由选择围绕(2,1),(6,5),(10,3)这三个点(类正上方)构造取样集。套用make_blobs()算子才可构筑取样集,该算子之年前可以基本上取样集的量n_samples和方差cluster_std。之年前以散点布基本概念显露显现出。
之年前命令行KMeansAPI,将该取样集展开聚类,用GIS的模式对聚类后结果展开显露显现出,结果如下布
可以明确认出,聚类结果为3类,和我们短期内的是赞同的,几周看类型正上方于原设计的正上方对比,如下同上。 从上同上可以看显现出,聚类正上方是依赖于微小不同的,这也解释KMeansAPI时借助于损失算子展开渐进的。具体标识符如下 # K-Means聚类 from sklearn.cluster import KMeans sns.set_style('darkgrid') # 之年概要推断缺陷妥善解决 plt.rcParams['font.sans-serif'] = ["SimHei"] plt.rcParams["axes.unicode_minus"] = False # 数学模型粗略 k_means = KMeans(init="k-means++", n_clusters=3) k_means.fit(X) # GIS结果 fig = plt.figure(figsize=(15,8)) colors = ["#4EACC5", "#FF9C34", "#4E9A06"] k_means_cluster_centers = k_means.cluster_centers_ k_means_labels = k_means.labels_ ax = fig.add_subplot() for k, col in zip(range(n_clusters), colors): my_members = k_means_labels == k cluster_center = k_means_cluster_centers[k] ax.plot(X[my_members, 0], X[my_members, 1], "w", markerfacecolor=col, marker="*") ax.plot( cluster_center[0], cluster_center[1], "o", markerfacecolor=col, markeredgecolor="k", markersize=6, ) ax.set_title("KMeans聚类结果") #ax.set_xticks() #ax.set_yticks() plt.sefig('举例来说结果.jpg',dpi=200)标识符解读:
KMeans(init="k-means++", n_clusters=3)这段标识符即将据估计支架粗略上述的取样集。其之年前,init变量即为上述所讲KMeans++的初始化自由选择模式。而后的变量为基本上分成多少类。
粗略后的KMeans据估计支架是可以展开命令行的,这里我们命令行类正上方(k_means.cluster_centers_)和取样所属类型(k_means.labels_)。
之年前一段标识符是结合类正上方和取样所属类型展开GIS展览,可以非常明确的认出聚类后的结果。(TIps:之年前保存布片的dpi是优化图形的,在Python校对支架里面可选保存的布像图形普遍存在都不高,听众可以适当的另设。)三 基于K-Means的RFM供应商分群人构筑
统计数据数据来源 首先统计数据数据的来源依旧是在年概要(Python充分借助于基于客观事实的RFM数学模型)所中用的早就处理好的统计数据数据,即有user_id、R、F、M4个codice_的统计数据数据,统计数据数据展览如下,如有听众不确实该统计数据数据是如何处理,可以鲜为人知年概要。 K-Means数学模型构筑(标识符) 有了统计数据数据和scikit-learn库之年前的KMmeansAPI的明了,那么几周先上清晰标识符和解释,数学模型构筑的标识符如下 # RMF实战 import pandas as pd import seaborn as sns sns.set_style('darkgrid') # 之年概要推断缺陷妥善解决 plt.rcParams['font.sans-serif'] = ["SimHei"] plt.rcParams["axes.unicode_minus"] = False ## 统计数据数据读取 data = pd.read_excel('rfm.xlsx') X = data.drop(columns = 'user_id') ## KMeans数学模型构筑 k_means = KMeans(init="k-means++", n_clusters=8,random_state=123) k_means.fit(X) ## 类型发送给 data['categories'] = k_means.labels_ ## 具体特性发送给 k_means.cluster_centers_ k_means.verbose ## 机支架帮助辨别(等深达分箱) result = k_means.cluster_centers_ reuslt = pd.DataFrame(result) reuslt['R_label'] = pd.qcut(reuslt[2],2,labels = range(1,3)).astype('int') reuslt['F_label'] = pd.qcut(reuslt[0],2,labels = range(1,3)).astype('int') reuslt['M_label'] = pd.qcut(reuslt[1],2,labels = range(1,3)).astype('int') ## 供应商归纳打标签 for i,j in data.iterrows(): if j['categories'] == 0 or j['categories'] == 2: data.loc[i,'供应商类型'] = '一般其发展应用程序' if j['categories'] == 1 or j['categories'] == 5: data.loc[i,'供应商类型'] = '最重要实用价差值应用程序' if j['categories'] == 3 or j['categories'] == 7: data.loc[i,'供应商类型'] = '最重要保持一致供应商' if j['categories'] == 4 or j['categories'] == 6: data.loc[i,'供应商类型'] = '一般劝说供应商' # GIS cate_sta = data['供应商类型'].value_counts() cate_sta = pd.DataFrame(cate_sta) sns.barplot(y='供应商类型', x=cate_sta.index, data=cate_sta) plt.title('应用程序类型统计数据') plt.show() 标识符解释: 首先,明确我们的数学模型构筑期望。对于一份供应商犯罪行为实用价差值统计数据数据而言,我们是不知道这其之年前到底包括几种类型的供应商的,有可能值得注意了8类,也有可能值得注意3类等。而这个类型的确定就必须通过KMeans数学模型自动的去识别系统。因此,首先我们基本上聚类的簇(类型总数)为RFM之年前的总类型量8种,初始化的类正上方依旧使用KMeans++的模式。这段段落在上面注释为KMeans数学模型构筑一小。 有了粗略后的数学模型后,我们就必须发送给粗略后的具体特性结果,k_means.cluster_centers_,k_means.labels_这两个算子分别发送给8个类正上方和对于每个id所属的类型。 接着,有了类正上方之后,我们就必须对类正上方展开等深达分箱。 之年前彰显每个应用程序相应的供应商类型并展开GIS直观展览,下面将详细对结果展开阐述。 K-Means数学模型结果计息 借助于在第二一小所学方,才可对这份统计数据数据展开一个KMeans聚类,得到的结果如下同上:从上布可以认出,借助于KMeans的据估计支架,我们早就得到了每个id所属的类型,那么现在的缺陷是,该怎么辨别应用程序是哪种供应商类型呢(Tips:应用程序类型统称8种,不确实的听众可以鲜为人知年概要),这时候就必须中用类正上方,通过辨别类正上方来给每种归纳一个辨别,下同上为每个类型对应的类正上方。
有了每个类型的类正上方,我们就必须对每个类彰显RFM数学模型之年前的供应商类型,本题名在这方面自由选择分箱的擅于展开归纳。
对类正上方充分借助于等深达分箱,与年概要套用菱形分箱不同,这里采行的是指定每个类型种的个数是赞同的,这也符合RFM数学模型之年前的每个差值都有4个高,4个低。在Python之年前借助于pd.qcut()算子展开分箱,其变量与菱形分箱大同小异,热爱的听众可以研究。之年前以"2"代同上高,"1"代同上低。并按照RFM的规则将每种类型彰显一个供应商类型,结果如下同上:
之年前,以柱状布的基本概念展览该份统计数据数据集之年前的供应商类型总计
就其数差值如下同上:
四 对比与论述
与年概要(Python充分借助于基于客观事实的RFM数学模型)对比,本题名将该份统计数据数据集之年前的应用程序统称4类(一般其发展应用程序、最重要保持一致供应商、一般劝说供应商、最重要实用价差值应用程序),而年概要将应用程序统称5类(一般其发展应用程序、一般劝说应用程序、最重要劝说供应商、一般保持一致应用程序、最重要其发展应用程序)。可以看显现出,两者都识别系统显现出了一般其发展应用程序的信息,且其所占人口比例也是最多的。不同之处在于,基于KMeans聚类数学模型的RFM数学模型可以挖掘显现出最重要保持一致供应商、最重要实用价差值应用程序的信息,而基于客观事实的RFM数学模型对一般劝说应用程序较为尖锐。 因此,对于举例来说而言,每个数学模型得到的RFM数学模型是不赞同的,而举例来说不应从数学模型结果的相同点入手,如该份统计数据数据,两个数学模型都注意到了一般其发展应用程序所占人口比例是最大的,代同上其解释性过关斩将。而对于数学模型外的不同点,则必须更深达入的探究如何取舍的缺陷。 CDA统计数据数据分析师显现出品。北京看眼科到哪个医院好上海皮肤病医院排行
天津肛肠医院电话
南宁白癜风治疗费用多少钱
肌无力的致病因素
缓解视疲劳
乌梅人丹对口臭有效果吗
怎么补充眼部营养让视力变好
高血压
深圳科兴荣获两项资质认定
-
【干货】金属材料疲劳强度的八大主要直接影响因素
当大的全域内瞬时。 在大致相同的其中心水准时,片状珠光体的疲倦其中心轻微要最低紫红色珠光体。同是紫红色珠光体,其渗磷体紫红色越少细小,则疲倦其中心越少更高。 放射的组织对材
- 2025-05-23寻找老用户 就是让大型企业找回研制电视的工匠初心
- 2025-05-23三面锦旗、两封感谢信!武邑宏达东方师生敖犬哒
- 2025-05-23T3通达崔大勇:3年内网约车市占率突破30%
- 2025-05-23高德地图开始运行等车倒计时功能
- 2025-05-23Python实现基于机器学习的RFM假设
- 2025-05-23意大利FBT推出全新有源音箱管理系统INFINITO,更有多项新产品!
- 2025-05-23驾驶者了!iPhone将用上35W快充
- 2025-05-23爆料:真级!RTX 4090的整卡功耗将达到600W
- 2025-05-23第三方厂商推出CPU矫正器:管控12代酷睿处理器
- 2025-05-23太空人的月薪是多少?网友得知后不淡定了,和想象中的落差很大