浙工商机器学习课程论文+代码分享(含数据集)

论文探讨了K-means++、AgglomerativeClustering和SpectralClustering三种聚类算法在客户个性分析中的效果,发现AgglomerativeClustering在设定簇数为3时表现最佳。通过数据集、内存优化、特征生成和可视化分析,该研究为企业提供了客户细分和个性化营销的策略支持。
摘要由CSDN通过智能技术生成

完整版的论文+代码+数据集地址:

https://mbd.pub/o/bread/ZJecmJty

在这里插入图片描述
【另外,接写论文的业务,价格好商量,具体可以私聊我】

一、论文总览

在这里插入图片描述

共计26页,8104个字。

二、摘要 & 目录

随着大数据时代的到来,个性化营销越来越受到企业的关注。客户个性分析是一种重要的市场营销策略,通过对客户数据的聚类分析,可以将客户划分为不同的群体,从而实现精细化的营销推送。本论文选用了三种常用的聚类算法,包括K-means++、Agglomerative Clustering和Spectral Clustering,通过对一个数据集的实证研究,探讨了不同聚类算法在客户个性分析中的应用。

首先,本文介绍了K-means++、Agglomerative Clustering和Spectral Clustering这三种聚类算法的基本原理和特点,并针对研究问题设定了最小簇数为2,最大簇数为8的实验设置。接着,本文选用了Silhouette score作为聚类算法的评价指标,该指标可以衡量聚类结果的紧密性和分离性。通过在实验数据集上运行不同聚类算法,并计算其对应的Silhouette score,本文得出了最好的模型为Agglomerative Clustering,并且设置簇数为3。

进一步地,本文构建了特征的主要特征图,通过对聚类结果的可视化分析,得出了最终的分类结果。这对于企业进行客户个性化营销推送具有重要的实际应用意义,可以帮助企业更好地理解客户群体的特点和需求,从而优化营销策略,提高市场竞争力。

本研究的结果表明,Agglomerative Clustering算法在客户个性分析中具有较好的性能,可以有效地帮助企业进行客户细分和个性化营销推送。同时,特征的主要特征图的构建和可视化分析也为企业提供了直观的营销决策参考。这对于企业在面对大规模客户数据时,利用聚类算法进行个性化营销具有重要的实际应用价值。

关键词:客户个性分析,K-means++,Agglomerative Clustering,Spectral Clustering,Silhouette score,特征可视化

在这里插入图片描述

三、数据集的展示

在这里插入图片描述

四、部分代码

4.1 降低内存

def reduce_mem_usage(df: pd.DataFrame) -> pd.DataFrame:
    """Iterate through all the columns of a dataframe and modify the data type to reduce memory usage"""
    start_mem = df.memory_usage().sum() / 1024 ** 2
    print('Memory usage of DataFrame is {:.2f} MB'.format(start_mem))
    
    for col in df.columns:
        col_type = df[col].dtype
        
        if col_type != object:
            c_min = df[col].min()
            c_max = df[col].max()
            if str(col_type)[: 3] == 'int':
                if c_min > np.iinfo(np.int8).min and c_max < np.iinfo(np.int8).max:
                    df[col] = df[col].astype(np.int8)
                elif c_min > np.iinfo(np.int16).min and c_max < np.iinfo(np.int16).max:
                    df[col] = df[col].astype(np.int16)
                elif c_min > np.iinfo(np.int32).min and c_max < np.iinfo(np.int32).max:
                    df[col] = df[col].astype(np.int32)
                elif c_min > np.iinfo(np.int64).min and c_max < np.iinfo(np.int64).max:
                    df[col] = df[col].astype(np.int64)  
            else:
                if c_min > np.finfo(np.float32).min and c_max < np.finfo(np.float32).max:
                    df[col] = df[col].astype(np.float32)
                else:
                    df[col] = df[col].astype(np.float64)
        else:
            df[col] = df[col].astype('category')

    end_mem = df.memory_usage().sum() / 1024 ** 2
    print('Memory usage after optimization is: {:.2f} MB'.format(end_mem))
    print('Decreased by {:.1f}%'.format(100 * (start_mem - end_mem) / start_mem))
    return df

在这里插入图片描述

4.2 部分特征生成

在这里插入图片描述

4.3 热力图分析

在这里插入图片描述

4.4 变量分布图

在这里插入图片描述

4.5 聚类算法

在这里插入图片描述

4.6 聚类结果的展示(部分)

聚类中心从2到8:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.7 聚类后的特征图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

旅途中的宽~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值