DBSCAN聚类

##DBSCAN

import numpy as np
import pandas as pd
from sklearn.cluster import DBSCAN

#1.导入数据
#data = pd.read_csv(’’)

#2.数据预处理
#略,最终生成x_train,x_test

x_train = np.array([[1, 2, 3], [1, 4, 6], [1, 0, 9], [4, 6, 1], [7, 8, 9], [4, 5, 6], [5, 1, 3], [5, 6, 2], [6, 2, 1]])

#3.模型训练
model = DBSCAN(eps=3, min_samples=2)
model.fit(x_train)

#4.模型预测
print(model.labels_)

#参数列表与调参方法
DBSCAN(eps=0.5, min_samples=5, metric=’euclidean’, metric_params=None, algorithm=’auto’, leaf_size=30, p=None, n_jobs=None)

#eps : float, optional
两个样本之间的最大距离,一个被认为是另一个样本的邻域。这不是群集中点的距离的最大界限。这是为您的数据集和距离函数选择适当的最重要的DBSCAN参数。

#min_samples : int,可选
对于要被视为核心对象的点,邻域中的样本数(或总权重)。这包括点本身。

#metric : string或callable
计算要素数组中实例之间距离时使用的度量标准。如果metric是字符串或可调用的,则它必须是sklearn.metrics.pairwise_distances其metric metric参数允许的选项之一。
如果度量是“预先计算的”,则假定X是距离矩阵,并且必须是正方形。X可以是稀疏矩阵,在这种情况下,只有“非零”元素可以被认为是DBSCAN的邻居。

#metric_params : dict, optional
度量函数的其他关键字参数。

#algorithm:{‘auto’,‘ball_tree’,‘kd_tree’,‘brute’},可选
NearestNeighbors模块用于计算逐点距离并找到最近邻居的算法。有关详细信息,请参阅NearestNeighbors模块文档。

#leaf_size : int,optional(默认值= 30)
叶子大小传递给BallTree或cKDTree。这可能会影响构造和查询的速度,以及存储树所需的内存。最佳值取决于问题的性质。

#p : float,可选
正确译法:用于计算点之间距离的Minkowski矩阵的幂。

#n_jobs : int或None,可选(默认=无)
要运行的并行作业数。 None除非在joblib.parallel_backend上下文中,否则表示1 。 -1表示使用所有处理器。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值