zoukankan      html  css  js  c++  java
  • 聚类(DBSCAN)

    DBSCAN 是一种基于密度的分类方法

    若一个点的密度达到算法设定的阖值则其为核心点(即R领域内点的数量不小于minPts)

    所以对于DBSCAN需要设定的参数为两个半径和minPts

    我们以一个啤酒的分类指标来做
    第一步:提取数据,并分配变量

    import pandas as pd
    beer = pd.read_csv('data.txt', sep=' ')
    

    X = beer[["calories","sodium","alcohol","cost"]]

    第二步:构建模型,并做测试,我们使用的r半径为10,最小样本数为2

    db = DBSCAN(eps=10, min_samples=2).fit(X)
    print(db.labels_)
    beer['cluster_db'] = db.labels_

    第三步:根据轮廓系数选定参数,我们发现i=18时,轮廓参数最大

    for i in range(5, 20):
        print(metrics.silhouette_score(X, DBSCAN(eps=i, min_samples=2).fit(X).labels_)) #X表示数据,DBSCAN(eps=i, min_samples=2).fit(X).labels_)表示分类的结果标签
  • 相关阅读:
    做汉堡(续)
    做汉堡
    <构建之法>3-5章感想
    《构建之法》1-2章感想
    四则运算界面练习
    快速排序
    冒泡算法(思路1)
    希尔排序
    KMP算法
    1、基础算法题
  • 原文地址:https://www.cnblogs.com/litieshuai/p/11394181.html
Copyright © 2011-2022 走看看