1. K-means Clustering Algorithm
- 定义总共有K个类/簇(cluster)
- 随机生成k个簇中心(cluster centers)
- 让每个数据点与其最近的簇中心连接,将连接到同一簇中心的数据点聚为同一簇
- 计算每一个簇的所有关联点的中心点(取数据点坐标的平均值),作为新的簇心
- 不停重复,直到簇中心不再发生变化
2. DBSCAN聚类
- 选择一个恰当的邻域范围,对每一个点遍历。如果该点的邻域内其他数据点超过MinPts,则该点称为核心点,核心点邻域内的其他点称为边界点。既不是核心点,也不是边界点,则是噪声点。
- 将距离不超过邻域半径的核心点及其所属的边界点聚成同一簇。
3. 层次聚类之最近邻算法
最近邻算法(Nearest Neighbor Algorithm)是一种从下至上的聚类方法。把两个最近的点合并为一类,然后不停的合并新的类。
方法:
- 开始时就有n个节点(n是样本容量),即n个类。
- 合并两个最相似(例如distance)的节点聚为一类。
- 求这一类与其他所有类的distance(方法有都找两个类中最近的点、或都找两个类中最远的点),排序找到与该类最小distance的节点,将此节点融入到该类中。
- 不停地重复直到达到想要的簇的数量
4. 朴素贝叶斯分类法
贝叶斯公式需要大量的关于不同事件间概率知识,需要很大的计算成本。
朴素贝叶斯分类法:假设每一个属性都是相互独立的,那么 P ( X ∣ C ) = ∏ k = 1 n P ( x k ∣ C ) P(X|C)=\prod_{k=1}^{n}P(x_{k}|C) P(X∣C)=∏k=1nP(xk∣C)
理解:P(发烧且嗜睡|得了流感)=P(发烧|得了流感)X P(嗜睡|得了流感)X P(得了流感)