首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

聚类模型之Python调参

之前我们介绍了几种聚类模型,接下来我们就分别看看他们如何用代码实现吧。

K-Means

首先是k-means的scikit-learn实现:

如图所示,我们介绍几个重要的参数:

1.init

该参数指初始化聚类中心的方式,默认为k-means++,你也可以选择random。

2.n_clusters

指k-means中的k值,即簇的个数,默认为8个。

3.n_init

指初始化聚类中心时,算法迭代的次数,默认为10。

层次聚类(AgglomerativeClustering)

该算法的scikit-learn实现如下:

还是来看一些重要的参数:

1.affinity

指计算距离的方式,默认为euclidean

2.compute_full_tree

指是否训练一棵完整的树,默认为auto。

3.linkage

指距离度量的方式,默认为ward,即最小距离。也可以选择complete(最大距离)和average(平均距离)。

密度聚类(DBSCAN)

DBSCAN的scikit-learn实现如下所示:

第1个参数:eps

指邻域的半径,默认为0.5.

第2个参数:leaf_size

指叶节点的个数,用来限制树的生长。

第3个参数:metric

指距离度量的方式,默认为euclidean,即欧式距离。你还可以选择manhattan(曼哈顿距离)、chebyshev(切比雪夫距离)、minkowski(闵可夫斯基距离)和wminkowski(带权重的闵可夫斯基距离)。

第4个参数:min_samples

指一个点为核心时,其邻域所包含的样本数,默认为5.

高斯混合聚类(GMM)

该算法的代码实现如下:

我们来看几个重要的参数:

1.max_iter

指模型最大迭代次数,默认为100.

2.n_components

指该模型的成分数目,默认为1.

3.tol

指收敛的阈值,当小于该阈值时,EM算法停止迭代。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201226A02ETF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券