无监督学习
- K-means聚类算法的处理流程
- 1.随机选择k个点作为初始的聚类中心
- 2.对于剩下的点,根据其与聚类中心的距离,将其归入最近的簇
- 3.对每个簇,计算所有点的均值作为新的聚类中心
- 4.重复2,3过程,直到聚类中心不再发生改变
- 调用K-means方法所需参数
- n_cluster:用于指定聚类中心的个数
- init:初始聚类中心的初始化方法
- max_iter:最大的迭代次数
一般调用时只给出n_cluster即可,init默认是k-means++,max_iter默认是300
- 其它参数
- data:加载的数据
- label:聚类后,各数据所属的标签
- axis:按行求和
- fit_predict():计算簇中心以及为簇分配序号
- DBSCAN算法:基于密度的聚类方法
- 聚类的时候不需要预先指定簇的个数
- 最终簇的个数不定
- 三类数据点
- 核心点
- 边界点
- 噪音点
- DBSCAN算法流程:
- 将所有点分别标记为核心点,边界点,噪音点
- 删除噪音点
- 为距离为Eps之内的所有核心点之间赋予一条边
- 每组连通的核心点形成一个簇
- DBSCAN主要参数
- eps:两个样本被看作邻居节点的最大距离
- min_samples:簇的样本数
- metric:距离计算方式
- PCA算法主成分分析流程:
- 输入:样本集D={x1,x2,…,xm};低维空间位数d’.
- 过程:
- 1.对所有样本进行中心化
- 2.计算样本的协方差矩阵XX^T;
- 3.对协方差矩阵XX^T做特征值分解
- 4.取最大的d’个特征值所对应的特征向量w1,w2,…,wd’.
- 输出:投影矩阵W = (w1,w2,…,wd’)
- PCA算法主要参数有:
- n_components:指定主成分的个数,即降维后数据的维度
- svd_solver:设置特征值分解的方法,默认为’auto’,其它可选有’full’,‘arpack’,‘randomized’.
- NMF算法主要参数
- n-components:用于指定分解后矩阵的单个维度k
- init:W矩阵和H矩阵的初始化方式,默认为’nndsvdar’