python函一维聚类_聚类实战:一维数组数据聚类

本文介绍了针对一维数据的聚类方法,包括使用K-Means和Jenks Natural Breaks算法进行一维数组数据的聚类。K-Means需将一维数据转换为列形式,Jenks Natural Breaks则通过计算方差和寻找最优分类。此外,还提到了GVF方差拟合优度用于确定最佳分类数,并给出了Python代码示例。
摘要由CSDN通过智能技术生成

大部分聚类方法针对的是多维数据,现实场景中还有可能存在以为数据的情况,针对以为数组的聚类和多维的数据有很大的不同,今天就来实战演练下:

需求内容:分析订单的价格分布

常见方案:按照100为梯度,分析不同价格区间的订单量

存在缺陷:现实生活中,定价存在一些自然的价格分隔,如果按照步距划分可能存在一些偏差,比如airbnb的价格筛选显示出的房价分布:

解决上述缺陷最好的方式是对价格进行聚类,找出做合适的价格区间。

在学习聚类算法的过程中,学习到的聚类算法大部分都是针对n维的,针对一维数据的聚类方式较少,今天就来学习下如何给一维的数据进行聚类。

方案一:采用K-Means对一维数据聚类

Python代码如下:

from sklearn.cluster import KMeans

import numpy as np

x = np.random.random(10000)

y = x.reshape(-1,1)

km = KMeans()

km.fit(y)

km.cluster_centers_

核心的操作是y = x.reshape(-1,1),含义为将一维数据变成只有1列,行数不知道多少(-1代表根据剩下的维度计算出数组的另外一个shape属性值)。

方案二:采用一维聚类方法Jenks Natural Breaks

Jenks Natural Breaks(自然断点分类)。一般来说

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值