IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 【机器学习】KMeans算法聚类分析可视化 -> 正文阅读

[数据结构与算法]【机器学习】KMeans算法聚类分析可视化

机器学习–KMeans算法聚类分析可视化

Kmeans算法可以直接引用库函数,我们只需要了解一下其参数就可以了:

 KMeans(n_clusters=8, init='k-means++', n_init=10, max_iter=300, tol=0.0001,   
         precompute_distances='auto', verbose=0, random_state=None,  
         copy_x=True, n_jobs=None, algorithm='auto')

参数说明
n-cluster分类簇的数量
max_iter最大的迭代次数
n_init算法的运行次数
init接收待定的string。kmeans++表示该初始化策略选择的初始均值向量之间都距离比较远,它的效果较好;random表示从数据中随机选择K个样本最为初始均值向量;或者提供一个数组,数组的形状为(n_cluster,n_features),该数组作为初始均值向量。
precompute_distance接收Boolean或者auto。表示是否提前计算好样本之间的距离,auto表示如果nsamples*n>12 million,则不提前计算。
tol接收float,表示算法收敛的阈值。
N_jobs表示任务使用CPU数量
random_state表示随机数生成器的种子。
verbose0表示不输出日志信息;1表示每隔一段时间打印一次日志信息。如果大于1,打印次数频繁。

接下来说一下我被绊住的地方,一个是数据处理,一个是散点图坐标确定。

1)数据处理还是要用Pandas库的read_csv()函数,然后采用最后两列数据(age和deposit)作为数据特征进行聚类分析依据。

2)散点图绘制坐标主要思想就是通过索引x的存储值来获得一个点的坐标。

下面是源码:

#!usr/bin/env python3.9
# ! -*- coding = utf-8 -*-

import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans

Cus_data = pd.read_csv(r'E:\研究生生活\课程\研一下\机器学习\Customer_Info.csv', encoding='gb18030')
print('原始数据形状为:', Cus_data.shape)
Cus_data.info()     # 查看是否存在缺失值,与形状有存在差异,则存在缺失值

x = Cus_data.iloc[:, 3:].values  # 使用最后两列作为分群依据
kmeans_model = KMeans(n_clusters=3, init='k-means++', random_state=0)   # 模型创建
y_kmeans = kmeans_model.fit_predict(x)  # 进行聚类处理,这里数据已经是array形式
Cus_data['聚类结果'] = kmeans_model.labels_

# 聚类结果可视化
# 颜色/标签/形状列表
colors_list = ['teal', 'skyblue', 'tomato']
labels_list = ['Not very rich', 'Middle', 'Rich']
markers_list = ['o', '*', 'D']  # 分别为圆、星型、菱形

# 进行x[y_kmeans==i,0]
for i in range(3):
    plt.scatter(x[y_kmeans == i, 0], x[y_kmeans == i, 1], s=100, c=colors_list[i], label=labels_list[i],
                marker=markers_list[i])

# 设置聚类中心点,颜色设置为黄色
plt.scatter(kmeans_model.cluster_centers_[:, 0], kmeans_model.cluster_centers_[:, 1], s=300, c='yellow',
            label='centroids')

plt.legend(loc=1)  # 图例位置放在第二象限
plt.title('Clusters of Customer Info')
plt.xlabel('Age')
plt.ylabel('Deposit')
plt.show()
  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 00:19:45  更:2022-04-01 00:23:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 9:49:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码