机器学习
文章平均质量分 72
涛涛不绝蕾蕾于冬
https://github.com/xlniu
展开
-
scikit-learn之聚类算法之K-Means
K-means算法步骤: 1、给定类别个数 k,在数据集 X 中选择 k 个点作为初始的图心; 重复进行2、3步骤直到更新前后的图心之间的距离小于设定的阈值; 2、将数据集 X 中的点分配给离它最近的图心; 3、根据属于每个图心的所有点,重新计算新的图心; 上面的算法涉及两个问题: 1、输入问题;将输入的文本、图像向量化,这属于特征选择问题; 2、初始图心选择问题:可以使用k-m...原创 2018-04-18 11:22:08 · 1230 阅读 · 0 评论 -
python 实现倒排索引
代码如下:#encoding:utf-8fin = open('1.txt', 'r')'''建立正向索引: “文档1”的ID > 单词1:出现位置列表;单词2:出现位置列表;………… “文档2”的ID > 此文档出现的关键词列表。'''forward_index = {}for line in fin: line = line.strip().spli...原创 2018-05-08 17:29:40 · 9226 阅读 · 0 评论 -
scikit-learn之降维之LDA
线性判别分析LDA原理总结LDA 既可以用于分类又可以用于降维,应用场景最多的还是降维。和 PCA 类似,LDA 降维基本也不用调参,只需要指定降维到的维数即可。class sklearn.discriminant_analysis.LinearDiscriminantAnalysissolver=’svd’:即求LDA超平面特征矩阵使用的方法。可以选择的方法有奇异值分解”svd”,最...原创 2018-04-28 15:39:23 · 1285 阅读 · 0 评论 -
scikit-learn之分类算法
1、逻辑回归class sklearn.linear_model.LogisticRegressionpenalty=’l2’:‘l1’ or ‘l2’,正则项,‘newton-cg’, ‘sag’ and ‘lbfgs’ 只支持 ‘l2’;dual=False: bool,默认值就可以;tol=0.0001:停止准则容忍度;C=1.0: positive float,正则化强...原创 2018-04-27 17:22:30 · 558 阅读 · 0 评论 -
scikit-learn之聚类算法之Spectral clustering(谱聚类)
下面链接中的文章总结的太好了,就偷懒不自己写了。算法流程谱聚类原理总结sklearn中的参数scikit-learn学习谱聚类转载 2018-04-21 11:24:17 · 1637 阅读 · 0 评论 -
scikit-learn之聚类算法之Mean Shift
Mean Shift 算法通过更新质心的候选位置为 所选定区域 的偏移均值。 然后,这些候选者在后处理阶段被过滤以消除近似重复,从而形成最终质心集合。算法流程1、在指定的区域内计算偏移均值(如下图的黄色的圈); 2、移动该点到偏移均值点处; 重复上述的过程(计算新的偏移均值,移动),直到满足了最终的条件,退出;均值偏移向量 其中,SkSkS_{k} 为上面图中的蓝...原创 2018-04-20 16:10:12 · 3382 阅读 · 2 评论 -
scikit-learn之聚类性能度量
1、调整兰德系数sklearn.metrics.adjusted_rand_score数学公式Rand index(兰德系数):RI=a+bCnsamples2RI=a+bC2nsamplesRI=\frac{a+b}{C_{2}^{n_{samples}}} 1、a:应该在一类,最后聚到一类的数量; 2、b:不应该在一类 ,最后聚类结果也没把他们聚在一起的数量; 3、数量是...原创 2018-04-24 09:08:57 · 2704 阅读 · 1 评论 -
scikit-learn之聚类算法之Affinity Propagation
基本概念exemplar:聚类的中心点; s(i,k):样本 i 和样本 k 之间的相似度,初始化时会有一个相似度矩阵; preference:偏好参数,相似度矩阵中横轴纵轴索引相同的点,如s(i,i),表示数据点 i 作为聚类中心的程度。迭代开始前假设所有点成为聚类中心的能力相同,因此参考度一般设为相似度矩阵中所有值得最小值或者中位数,但是参考度越大则说明各数据点成为聚类中心的能力越强,...原创 2018-04-19 16:52:01 · 5428 阅读 · 1 评论 -
scikit-learn之聚类算法之Birch
算法流程BIRCH聚类算法原理sklearn中的参数用scikit-learn学习BIRCH聚类转载 2018-04-23 15:10:33 · 975 阅读 · 0 评论 -
scikit-learn之聚类算法之DBSCAN
算法流程DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类方法)算法将聚类视为被低密度区域分隔的高密度区域。 核心样本:数据集中的一个样本,至少存在 min_samples 个其他样本在 eps 距离范围内,这些样本被定为核心样本的邻居 neighbors; 1、计算出所有的核心样...原创 2018-04-23 12:42:35 · 2449 阅读 · 0 评论 -
scikit-learn之聚类算法之Hierarchical clustering(层次聚类)
算法流程层次聚类分为分裂法和凝聚法,分裂法由上向下把大的类别(cluster)分割,凝聚法由下向上对小的类别进行聚合,但是一般用的比较多的是由下向上的凝聚法。 下面只介绍凝聚法,分裂法和凝聚法类似: 1、将样本集中的所有的样本点都当做一个独立的类簇; 2、计算两两类簇之间的距离(对应下面的 linkage 和 affinity 参数),找到距离最小的两个类簇 c1 和 c2; 3、合并...原创 2018-04-22 17:53:25 · 4409 阅读 · 0 评论 -
文本聚类demo
由于工作需要,使用了聚类方法在文本语料中挖掘类别信息,下面是一个demo,供大家参考。实验数据由于公司原因不便公开。实验步骤:1、 排序去重,经过排序去重后数据从10万条变为3万条。2、 结巴分词。3、 特征提取,使用平滑后的tf-idf作为特征,为每个用户问题构建特征向量,采用了scikit-learn 中的类 TfidfVectorizer。4、 采用了两种聚类方法K-means 。...原创 2019-05-14 15:44:21 · 562 阅读 · 0 评论