机器学习课程总结,
本系列文章
以代码
和注释
为主。
理论部分搬至博客上比较耗费时间,所以缺少理论部分。但是也欢迎大家一起探讨学习。
如果需要理论部分的讲义,可私信(个人觉的讲的很好很全)。
现有如下样本:
(0,0), (2,1),(2,-1), (2.1,0),(4.1,0), (5,0)
1、请使用密度聚类算法DBSCAN在半径是1.1,MinPts分别为2和3的情况下,给出聚类结果。
要求简要写出一种情况下的计算过程,另一种情况可以直接给出结果。
2、请使用层次聚类算法AGNES在k=2和3的情况下,给出聚类结果。其中,簇与簇之间的距离选择最小距离。
3、针对如下样本:(0,0), (2,1),(2,-1), (2.1,0),(4.1,0), (5,0),现有聚类模型将其聚为三类:C1={(0,0)}, C2={(2,1),(2,-1), (2.1,0)} C3={(4.1,0), (5,0)}。请计算该模型的轮廓系数silhouette coefficient。
# -*- coding: utf-8 -*-#
# Author: xhc
# Date: 2021-06-20 19:56
# project: 0524
# Name: 密度聚类.py
from sklearn.cluster import DBSCAN
import numpy as np
import matplotlib.pyplot as plt
data=[[0,0],
[2,1],
[2,-1],
[2.1,0],
[4.1,0],
[5,0]]
data=np.array(data)
model = DBSCAN(eps=1.1,min_samples=2) #两个参数分别表示半径和数量
#model = sklearn.cluster.DBSCAN(eps=1.1,min_samples=3)
model.fit(data