分析总结Python数据化运营KMeans聚类

分析总结Python数据化运营KMeans聚类攻略

背景

在进行数据化运营的过程中,我们经常需要对用户行为、产品属性等数据进行分析。KMeans聚类是常用的无监督机器学习算法,可以帮助我们进行数据聚类分析。

步骤

  1. 准备数据集

将需要分析的数据集读取进来,进行预处理,数据清洗,确保数据的准确性和完整性。

  1. 定义距离度量

定义距离度量方法,用来衡量数据点之间的距离。

  1. 选择合适的K值

KMeans聚类需要预先设定分组数量,也就是K值。可以通过手肘法、轮廓系数等方法来选择合适的K值。

  1. 训练模型

将数据集输入KMeans聚类模型中,进行训练。

  1. 可视化

通过可视化工具将聚类结果进行展示,便于我们更好地理解分析结果。

示例一

以鸢尾花数据集为例,进行KMeans聚类分析。

  1. 准备数据集
from sklearn.datasets import load_iris

iris = load_iris()
X = iris.data
  1. 定义距离度量
from scipy.spatial.distance import euclidean

def dist(a, b):
    return euclidean(a, b)
  1. 选择合适的K值
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt

K = range(1, 10)
SSE = []
# Sum of squared errors
for k in K:
    estimator = KMeans(n_clusters=k)
    estimator.fit(X)
    SSE.append(estimator.inertia_)

plt.plot(K, SSE, 'o-')
plt.xlabel('K')
plt.ylabel('SSE')
plt.show()

分析总结Python数据化运营KMeans聚类

  1. 训练模型
estimator = KMeans(n_clusters=3)
estimator.fit(X)
labels = estimator.labels_
  1. 可视化
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure(1, figsize=(8,8))
ax = Axes3D(fig, rect=[0, 0, .95, 1], elev=48, azim=134)
ax.scatter(X[:, 3], X[:, 0], X[:, 2],c=labels.astype(np.float), edgecolor="k")
ax.set_xlabel("花瓣宽度")
ax.set_ylabel("花萼长度")
ax.set_zlabel("花瓣长度")
plt.show()

分析总结Python数据化运营KMeans聚类

示例二

以国际足球比赛数据集为例,进行KMeans聚类分析。

  1. 准备数据集
import pandas as pd

df = pd.read_csv('results.csv')
X = df[['home_score', 'away_score']].values
  1. 定义距离度量
def dist(a, b):
    return abs(a[0] - b[0]) + abs(a[1] - b[1])
  1. 选择合适的K值
K = range(1, 10)
SSE = []
for k in K:
    estimator = KMeans(n_clusters=k)
    estimator.fit(X)
    SSE.append(estimator.inertia_)

plt.plot(K, SSE, 'o-')
plt.xlabel('K')
plt.ylabel('SSE')
plt.show()

分析总结Python数据化运营KMeans聚类

  1. 训练模型
estimator = KMeans(n_clusters=3)
estimator.fit(X)
labels = estimator.labels_
  1. 可视化
import seaborn as sns

df['cluster'] = labels
sns.scatterplot(x="home_score", y="away_score",hue='cluster',palette=["y", "b", "r"], data=df)
plt.show()

分析总结Python数据化运营KMeans聚类

总结

上述两个示例展示了KMeans聚类的使用方法,选取了不同的数据集进行训练及可视化。最后利用可视化工具将聚类结果展示出来,帮助我们更好地理解分析结果。KMeans聚类并不是万能的,不同的数据集需要选择不同的算法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:分析总结Python数据化运营KMeans聚类 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • 他最早提出“云计算”,如今却落于人后

    一般而言,提到一家公司,往往第一印象会是它的创始人,就像乔布斯之于苹果,马云之于阿里巴巴;但是提起号称本世界最伟大的互联网公司——谷歌,却是埃里克·施密特这个名字进入脑海。 **经历 出生于1955年的施密特,其生平经历堪称**,拥有普林斯顿大学电子工程师学士、加州伯克利分校计算机科学博士学位,在进入谷歌之前,曾在贝尔实验室(电话专利持有人创办的实验室,曾诞…

    云计算 2023年4月12日
    00
  • 云计算笔记(一):基础概念

    本文用于收集和整理云计算设计的概念。 现在的云计算有些过热(“人人都在谈论它,但没有人真正知道它”),很多研究都挂上了这个名词来显示其时髦。从某种意义上讲:云计算is nothing new,只是概念的创造。重新整理了网络资源,特别适合与运营商(包括亚马逊)来整理他们的产品和服务。云计算提供了很好的梳理,梳理了信息内容提供和信息获取途径 。而云这个概念sel…

    云计算 2023年4月12日
    00
  • 《聊聊云计算》,评论和讨论

    开心在博客园发了一篇名叫《聊聊云计算》的帖子。感兴趣的人不少,我把链接和我的看法一并放在这里供大家拍砖。 原文: 聊聊云计算(1):什么是云计算 IT界是一个特别适合“创新”的地方,尤其是各种各样的术语。各大厂商为了自己的利益,不断的推出一些新的术语,而媒体们也在不断的站队,跟着一些忽悠,搞得我们这些IT界的前线战士们一阵一阵得晕。刚刚有了B/S、C/S、S…

    云计算 2023年4月9日
    00
  • ASP.NET下上传图片到数据库,并且读出图片的代码(详细版)

    ASP.NET下上传图片到数据库,并且读出图片的代码(详细版) 在 ASP.NET 中,我们可以使用 C# 代码实现上传图片到数据库,并且读出图片的功能。本文将提供一个完整的攻略,包括如何创建 ASP.NET 项目、如何上传图片到数据库、如何读出图片、如何使用示例代码等内容。 创建 ASP.NET 项目 在开始实现上传图片到数据库,并且读出图片的功能之前,我…

    云计算 2023年5月16日
    00
  • Python md5与sha1加密算法用法分析

    Python md5与sha1加密算法用法分析 简介 md5和sha1是两种常用的加密算法,可以用于加密密码、保护数据安全等等。Python中提供了标准库hashlib来支持这两种算法。该库支持多种加密算法,除了md5和sha1之外还包括sha256、sha512等算法。 md5加密算法 首先,我们需要将要加密的字符串转换为二进制格式。可以用encode()…

    云计算 2023年5月18日
    00
  • TKE 用户故事 | 作业帮 Kubernetes 原生调度器优化实践

    作者 吕亚霖,2019年加入作业帮,作业帮架构研发负责人,在作业帮期间主导了云原生架构演进、推动实施容器化改造、服务治理、GO微服务框架、DevOps的落地实践。 简介 调度系统的本质是为计算服务/任务匹配合适的资源,使其能够稳定高效地运行,以及在此的基础上进一步提高资源使用密度,而影响应用运行的因素非常多,比如 CPU、内存、IO、差异化的资源设备等等一系…

    云计算 2023年4月13日
    00
  • IAAS云计算产品畅想-公有云主机产品优势

    关于云计算的优势介绍真是太多太多了,但是说实话准确性欠妥。 云计算也是有很多细分的: 公有云、私有云、混合云 IAAS、PAAS、SAAS 园区云、行业云(医疗云、教育云等等) 说起优点来,绝对不能一概而论   在这里我单单介绍公有云中的IAAS的特点:省时、省事、省钱、省心。 省时:采购模式通过以租代建,通过租用现成的IT计算资源,而免去繁琐的采购、筹建、…

    云计算 2023年4月10日
    00
  • Jupyter notebook快速入门教程(推荐)

    以下是关于 Jupyter notebook 快速入门教程的完整攻略。 1. 简介 Jupyter Notebook 是一款强大的交互式开发环境。Jupyter 是 Julia、Python 和 R 三种编程语言的集合体,它将代码、文本、数据分析结果和可视化内容集成到一个可自包含的文档中,具有简便、灵活和互动性强的特点。 2. 安装和启动 2.1 安装 安装…

    云计算 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部