机器学习:基于Kmeans聚类算法对银行客户进行分类

这篇具有很好参考价值的文章主要介绍了机器学习:基于Kmeans聚类算法对银行客户进行分类。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

机器学习:基于Kmeans聚类算法对银行客户进行分类

机器学习:基于Kmeans聚类算法对银行客户进行分类

作者:i阿极

作者简介:Python领域新星作者、多项比赛获奖者:博主个人首页

😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!👍👍👍

📜📜📜如果有小伙伴需要数据集和学习交流,文章下方有交流学习区!一起学习进步!💪


大家好,我i阿极。喜欢本专栏的小伙伴,请多多支持

专栏案例:机器学习案例
机器学习(一):线性回归之最小二乘法
机器学习(二):线性回归之梯度下降法
机器学习(三):基于线性回归对波士顿房价预测
机器学习(四):基于KNN算法对鸢尾花类别进行分类预测
机器学习(五):基于KNN模型对高炉发电量进行回归预测分析
机器学习(六):基于高斯贝叶斯对面部皮肤进行预测分析
机器学习(七):基于多项式贝叶斯对蘑菇毒性分类预测分析
机器学习(八):基于PCA对人脸识别数据降维并建立KNN模型检验
机器学习(十四):基于逻辑回归对超市销售活动预测分析
机器学习(十五):基于神经网络对用户评论情感分析预测
机器学习(十六):线性回归分析女性身高与体重之间的关系
机器学习(十七):基于支持向量机(SVM)进行人脸识别预测
机器学习(十八):基于逻辑回归对优惠券使用情况预测分析
机器学习(十九):基于逻辑回归对某银行客户违约预测分析
机器学习(二十):LightGBM算法原理(附案例实战)
机器学习(二十一):基于朴素贝叶斯对花瓣花萼的宽度和长度分类预测
机器学习(二十二):基于逻辑回归(Logistic Regression)对股票客户流失预测分析


1、Kmeans原理

K-means算法是一种常用的聚类算法,用于将数据集划分成k个不重叠的簇。其主要思想是通过迭代的方式将样本点划分到不同的簇中,使得同一簇内的样本点相似度较高,不同簇之间的相似度较低。
下面我们以一个简单案例对KMeans算法的原理进行解释,该案例目的是将样本点聚成3个类别(K=3)
机器学习:基于Kmeans聚类算法对银行客户进行分类

下面是K-means算法的详细步骤:

  • 初始化:选择k个初始聚类中心,可以是随机选择或根据某种启发式方法选择。聚类中心通常是从数据集中选取的k个样本点。

  • 分配样本点:对于每个样本点,计算其与各个聚类中心的距离(如欧氏距离),将样本点分配给距离最近的聚类中心所在的簇。

  • 更新聚类中心:对于每个簇,计算其所有样本点的均值,将该均值作为新的聚类中心。

  • 重复步骤2和3,直到聚类中心不再发生变化或达到预定的迭代次数。

  • 输出结果:最终得到k个聚类簇,每个簇包含一组样本点。

K-means算法的特点:

  • K-means算法是一种迭代算法,通过多次迭代来优化聚类结果。
  • K-means算法基于距离度量来进行样本点的分配和聚类中心的更新。
  • K-means算法对离群点敏感,离群点可能会影响聚类结果。
  • K-means算法要求事先指定聚类的个数k。

K-means算法的优化方法:

  • 通过增加迭代次数或设置收敛条件来控制算法的迭代次数。
  • 使用更好的初始化方法,如K-means++算法,可以更好地选择初始聚类中心。
  • 对于离群点的处理,可以使用基于距离的异常值检测方法,或者采用基于密度的聚类算法。

2、实验环境

Python 3.9

Jupyter Notebook

Anaconda

3、Kmeans简单代码实现

3.1构造数据

import numpy as np
data = np.array([[3, 2], [4, 1], [3, 6], [4, 7], [3, 9], [6, 8], [6, 6], [7, 7]])

3.2可视化展示

import matplotlib.pyplot as plt
plt.scatter(data[:, 0], data[:, 1], c="red", marker='o', label='samples')  # 以红色圆圈样式绘制散点图并加上标签
plt.legend()  # 设置图例,图例内容为上面设置的label参数
plt.show()

机器学习:基于Kmeans聚类算法对银行客户进行分类

3.3聚类成二分类

from sklearn.cluster import KMeans
kms = KMeans(n_clusters=2)
kms.fit(data)

机器学习:基于Kmeans聚类算法对银行客户进行分类

3.4获取结果

label = kms.labels_
print(label)

机器学习:基于Kmeans聚类算法对银行客户进行分类

3.5结果可视化

plt.scatter(data[label == 0][:, 0], data[label == 0][:, 1], c="red", marker='o', label='class0')  # 以红色圆圈样式绘制散点图并加上标签
plt.scatter(data[label == 1][:, 0], data[label == 1][:, 1], c="green", marker='*', label='class1')  # 以绿色星星样式绘制散点图并加上标签
plt.legend()  # 设置图例

机器学习:基于Kmeans聚类算法对银行客户进行分类

3.6聚类成3类

kms_3 = KMeans(n_clusters=3)
kms_3.fit(data)
label_3 = kms_3.labels_
print(label_3)

机器学习:基于Kmeans聚类算法对银行客户进行分类

3.7结果可视化

plt.scatter(data[label_3 == 0][:, 0], data[label_3 == 0][:, 1], c="red", marker='o', label='class0')  # 以红色圆圈样式绘制散点图并加上标签
plt.scatter(data[label_3 == 1][:, 0], data[label_3 == 1][:, 1], c="green", marker='*', label='class1')  # 以绿色星星样式绘制散点图并加上标签
plt.scatter(data[label_3 == 2][:, 0], data[label_3 == 2][:, 1], c="blue", marker='+', label='class2')  # 以蓝色加号样式绘制散点图并加上标签
plt.legend()  # 设置图例

机器学习:基于Kmeans聚类算法对银行客户进行分类

4、Kmeans案例实战

4.1案例背景

银行通常拥有海量的客户,对于不同的客户,银行需要进行不同的营销与工作开展策略,例如对于高收入且风险承受能力强的客户,可以进行重点挖掘业务机会,例如可以给他推销一些收益率高但周期相对较长的理财产品;而对于低收入且风险承受能力较弱的客户,则需要制定不同的营销与工作策略。因此对于银行来说,通常需要将客户进行分群处理,对于不同分群的客户进行不同的处理。

4.2读取数据

import pandas as pd 
data = pd.read_excel('客户信息.xlsx')
data.head(10)

机器学习:基于Kmeans聚类算法对银行客户进行分类

4.2可视化展示

import matplotlib.pyplot as plt
plt.scatter(data.iloc[:, 0], data.iloc[:, 1], c="green", marker='*')  # 以绿色星星样式绘制散点图
plt.xlabel('age')  # 添加x轴名称
plt.ylabel('salary')  # 添加y轴名称
plt.show()

机器学习:基于Kmeans聚类算法对银行客户进行分类

4.3数据建模

from sklearn.cluster import KMeans
kms = KMeans(n_clusters=3, random_state=123)
kms.fit(data)
label = kms.labels_
label = kms.fit_predict(data)
print(label)

机器学习:基于Kmeans聚类算法对银行客户进行分类

4.4建模效果可视化展示

plt.scatter(data[label == 0].iloc[:, 0], data[label == 0].iloc[:, 1], c="red", marker='o', label='class0')  # 以红色圆圈样式绘制散点图并加上标签  
plt.scatter(data[label == 1].iloc[:, 0], data[label == 1].iloc[:, 1], c="green", marker='*', label='class1')  # 以绿色星星样式绘制散点图并加上标签 
plt.scatter(data[label == 2].iloc[:, 0], data[label == 2].iloc[:, 1], c="blue", marker='+', label='class2')  # 以蓝色加号样式绘制散点图并加上标签
plt.xlabel('age')  # 添加x轴名称
plt.ylabel('salary')  # 添加y轴名称
plt.legend()  # 设置图例

机器学习:基于Kmeans聚类算法对银行客户进行分类


📢文章下方有交流学习区!一起学习进步!💪💪💪
📢首发CSDN博客,创作不易,如果觉得文章不错,可以点赞👍收藏📁评论📒
📢你的支持和鼓励是我创作的动力❗❗❗文章来源地址https://www.toymoban.com/news/detail-447892.html

到了这里,关于机器学习:基于Kmeans聚类算法对银行客户进行分类的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于爬虫+词云图+Kmeans聚类+LDA主题分析+社会网络语义分析对大唐不夜城用户评论进行分析

      🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 一、项目简介 二、实验过程 2.1获取数据 2.2情感分析 2.3TF-IDF+Kmeans聚类分析 2.4LDA主题

    2024年02月08日
    浏览(39)
  • 基于TF-IDF+KMeans聚类算法构建中文文本分类模型(附案例实战)

      🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 1.TF-IDF算法介绍 2.TF-IDF算法步骤 3.KMeans聚类  4.项目实战 4.1加载数据 4.2中文分词 4.

    2024年02月03日
    浏览(50)
  • 【机器学习实战】Python基于K均值K-means进行聚类(九)

    1.1 K-means的介绍 K均值( K-means )是一种基于距离度量的聚类算法,其主要思想是将数据集划分为k个不同的簇,每个簇代表一个相似度较高的数据组。该算法通过迭代优化来最小化所有数据点与其所属簇的欧氏距离之和,从而找到最佳的簇划分。 需要区分一下,K-means和KNN是两

    2024年02月06日
    浏览(30)
  • 机器学习实战:Python基于K均值K-means进行聚类(九)

    1.1 K-means的介绍 K均值( K-means )是一种基于距离度量的聚类算法,其主要思想是将数据集划分为k个不同的簇,每个簇代表一个相似度较高的数据组。该算法通过迭代优化来最小化所有数据点与其所属簇的欧氏距离之和,从而找到最佳的簇划分。 需要区分一下,K-means和KNN是两

    2024年02月16日
    浏览(23)
  • 聚类算法:Kmeans和Kmeans++算法精讲

    其实Kmeans聚类算法在YOLOv2(【YOLO系列】YOLOv2论文超详细解读(翻译 +学习笔记))中我们就见到了,那时候只是简单地了解了一下。后来在这学期的数据挖掘课程的期末汇报中,我又抽中了这个算法,于是又重新学习了一遍。另外最近在看一些改进的论文,很多摘要中也都

    2024年02月05日
    浏览(25)
  • 机器学习——Kmeans算法

    一、实验目的 学习 sklearn 模块中的 KMeans 算法 二、实验内容 学习 KMeans 算法,了解模型创建、使用模型及模型评价等操作 三、实验原理或流程 实验原理: K-means 算法是将样本聚类成 k 个簇 (cluster) ,具体算法描述如下 : 1 、随机选取 k 个聚类质心点 (cluster centroids) 为 2 、重复

    2024年02月11日
    浏览(30)
  • 机器学习---kMeans算法

    1. Load dataset 鸢(yuan1)尾花卉数据集,是一类多重变量分析的数据集。数据集包含150个数据集,分为3类, 每类50个数据,每个数据包含4个属性。可通过花萼长度,花萼宽度,花瓣长度,花瓣宽度4个属 性预测鸢尾花卉属于(Setosa,Versicolour,Virginica)三个种类中的哪一类。

    2024年01月16日
    浏览(30)
  • Matlab实现Kmeans聚类算法

    kmeans聚类算法是一种迭代求解的聚类分析算法。其实现步骤如下: (1) 随机选取K个对象作为初始的聚类中心 (2) 计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。 (3) 聚类中心以及分配给它们的对象就代表一个聚类。每分配一个样本,聚

    2024年02月02日
    浏览(26)
  • 使用Kmeans算法完成聚类任务

     聚类任务  聚类任务是一种无监督学习任务,其目的是将一组数据点划分成若干个类别或簇,使得同一个簇内的数据点之间的相似度尽可能高,而不同簇之间的相似度尽可能低。聚类算法可以帮助我们发现数据中的内在结构和模式,发现异常点和离群值,简化数据表示,以

    2024年02月15日
    浏览(27)
  • Python——Kmeans聚类算法、轮廓系数(算法理论、代码)

    目录 1 Kmeans模型理论 1.1 K-均值算法(K-means)算法概述 1.2 距离度量 1.3 K-means算法流程 1.4 K值的选择 1.5 K-means的优点 1.6 K-means的缺点 1.7 聚类的评价指标 2 代码解释 3 实操  3.1 构建聚类数目为3的KMeans模型 3.2 占比饼图 3.3 轮廓系数值 3.4 使用for循环计算聚类个数为2至9时的轮廓

    2024年02月01日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包