
机器学习
文章平均质量分 77
冰火两重天
专注于hadoop平台大数据处理的技术对机器学习以及统计学持续的不断深入
展开
-
深入推荐引擎相关算法 - 协同过滤
本文转载:http://www.ibm.com/developerworks/cn/web/1103_zhaoct_recommstudy2/index.htmlMahout构建:http://www.ibm.com/developerworks/cn/java/j-lo-mahout/集体智慧和协同过滤什么是集体智慧 集体智慧 (Collective Int转载 2013-03-05 09:56:23 · 3043 阅读 · 0 评论 -
非负矩阵分解 NMF(Non-negative Matrix Factorization )
著名的科学杂志《Nature》于1999年刊登了两位科学家D.D.Lee和H.S.Seung对数学中非负矩阵研究的突出成果。该文提出了一种新的矩阵分解思想――非负矩阵分解(Non-negative Matrix Factorization,NMF)算法,即NMF是在矩阵中所有元素均为非负数约束条件之下的矩阵分解方法。该论文的发表迅速引起了各个领域中的科学研究人员的重视:一方面,科学研究中的很多大规转载 2013-08-12 13:47:11 · 2275 阅读 · 0 评论 -
【数据挖掘】决策树之CART (Classification and Regression Trees)分类与回归树
决策树是一种简单的机器学习方法,它是完全透明的分类观测方法,经过训练后由一系列if-then判断语句组成一棵树。#!/usr/bin/pythonmy_data=[['slashdot','USA','yes',18,'None'], ['google','France','yes',23,'Premium'], ['digg','USA','yes',24,原创 2013-07-24 09:48:53 · 3237 阅读 · 0 评论 -
【数据挖掘】决策树之ID3算法
在决策书中,如何衡量数据集的有序度至关重要。划分数据集的最大规则:将无序的数据变得更加有序,划分数据集前后信息发生的变化称为信息增益。香农熵表现为信息的期望值,熵越大,数据越混乱。另外一种度量集合是否无序的方法时基尼不纯度。def calc_entropy(dataset):#香农熵的计算 lines = len(dataset) lables={} for curvect原创 2013-08-25 09:19:38 · 1725 阅读 · 0 评论 -
回归(regression)、梯度下降(gradient descent)
这两天在看机器学习实战这本书时,关于Logistic回归章节中的梯度上升法,有点云里雾里的感觉,特别是那个python代码,不知道怎么来的。直到看了下面这篇文章,才有点感觉。http://www.cnblogs.com/LeftNotEasy/archive/2010/12/05/mathmatic_in_machine_learning_1_regression_and_gradient_d转载 2013-08-28 09:40:51 · 1928 阅读 · 0 评论 -
Logistic回归分类
利用Logistic回归进行分类的核心思想:根据现有数据堆分类边界线简历回归公司,以此进行分类。 基于sigmoid函数的Logistic回归分类器实现:在每个特征上都乘以一个回归系数,然后把所有的结果相加,将总和带入sigmoid函数,得到一个范围在0~1之间的数值。任何大于0.5的数据被分入1类,小于0.5的被归入0类。原创 2013-08-26 17:24:04 · 1886 阅读 · 0 评论 -
【数据挖掘】特征抽取之NMF
矩阵分解:找到两个更小的矩阵,两者相乘可以重新构造这个矩阵。特征矩阵:每一行一个特征,每一列一个item,这些值代表了item对此特征的重要性。权重矩阵:此矩阵映射特征到aricle矩阵。每行是一个aritcle,每一列是一个特诊,此矩阵反映了多少个特征应用到aritcle上。矩阵重新构建原创 2013-08-12 10:43:54 · 4185 阅读 · 0 评论 -
【数据挖掘】k-邻近算法
#!/usr/bin/python#-*-encoding:utf-8-*-import numpy as npimport operatordef classify(vect,dataset,lables,k=5): rows = dataset.shape[0] diffmat = np.tile(vect,(rows,1)) - dataset diffm原创 2013-08-18 20:50:10 · 1585 阅读 · 0 评论 -
【数据挖掘】代价模型
贝叶斯分类、决策树、和向量机对于基于多个不同因素的数值数据做预测,并不是最好的。构建数据集#!/usr/bin/pythonfrom random import random,randintimport math#构建数据集,酒的等级越高,其实价格越高,增加其价格直到peak age#而酒等级越低,其实价格便宜,且变得越便宜#生成就得价格def wineprice(rating原创 2013-07-26 09:05:44 · 1572 阅读 · 1 评论 -
核方法和支持向量机
#!/usr/bin/python#核方法和支持向量机class matchrow(): # def __init__(self,row,allnum=False): if allnum: self.data=[float(row[i] for i in range(len(row) - 1))] else:原创 2013-07-30 12:31:35 · 1867 阅读 · 0 评论 -
数据挖掘入门修行指南
http://www.cnblogs.com/flclain/archive/2012/12/22/2829317.html做数据挖掘也有些年头了,写这篇文一方面是写篇文,给有个朋友作为数据挖掘方面的参考,另一方面也是有抛砖引玉之意,希望能够和一些大牛交流,相互促进,让大家见笑了。入门:数据挖掘入门的书籍,中文的大体有这些:Jiawei Han的《数据挖掘概念与转载 2013-03-13 11:10:48 · 1707 阅读 · 0 评论 -
欧氏距离 vs 马氏距离
转载:http://blog.youkuaiyun.com/chl033/article/details/5526337欧氏距离定义 欧氏距离( Euclidean distance)是一个通常采用的距离定义,它是在m维空间中两个点之间的真实距离。 在二维和三维空间中的欧式距离的就是两点之间的距离,二维的公式是 d = sqrt((x1-x2)^+(转载 2013-03-01 21:59:52 · 4339 阅读 · 0 评论 -
【数据挖掘】k-means聚类算法
K-Means聚类 层次聚类给出了一个树作为结果,但是其不足之处:没有额外的工作,树形结构并不能真正将数据划分到独立的分组中,并且算法属于计算密集型任务。因为每个item之间的距离需要计算,且合并之后,距离需要重算,所以当数据集非常大时,算法运行很缓慢。 K-means聚类,不同于层次聚类,它事先告诉有多少个唯一的clust要生成。算法基于数据的结构来决定cluster原创 2013-07-08 17:40:07 · 1282 阅读 · 0 评论 -
【数据挖掘】最优化算法入门
optimization用来解决以下问题:有多个变量协作,多种可能方法,输出很大程度上依赖各种变量的协作。 预测:通过尝试多种不同方法,并为它们打分来决定其效果。#!/usr/bin/pythonimport timeimport randomimport math#元组中存放的是人和其家乡people = [('Seymour','BOS'),('Franny','DA原创 2013-07-10 20:21:59 · 3000 阅读 · 0 评论 -
数据挖掘之距离计算算法
转载至http://www.dataguru.cn/article-2749-1.html 在数据分析和数据挖掘的过程中,我们经常需要知道个体间差异的大小,进而评价个体的相似性和类别。最常见的是数据分析中的相关分析,数据挖掘中的分类和聚类算法,如K最近邻(KNN)和K均值(K-Means)。当然衡量个体差异的方法有很多,最近查阅了相关的资料,这里整理罗列下。 为了方转载 2013-03-04 07:45:07 · 3003 阅读 · 0 评论 -
数据挖掘之【协同过滤算法简版】
算法简介 协同过滤算法在数据挖掘算法中属于比较简单的,在《集体智慧编程》一书中,开篇讲的就是协同过滤算法。这章早就看完了,没有用代码区实现而已,今天动手敲了代码,返现还是有些感触,特此记录下。 协同过滤的算法核心在于以下两方面: 1)怎么衡量两个向量之间的相似性,此处可以参见我转载的一片博客:数据挖掘之距离计算算法 2)从集合中找出与原创 2013-06-27 23:21:17 · 1784 阅读 · 0 评论 -
【数据挖掘】文档分类之朴素贝叶斯算法
#!/usr/bin/pythonimport reimport mathdef getwords(doc): splitter=re.compile('\\W*') # Split the words by non-alpha characters words=[s.lower() for s in splitter.split(doc) if len(s)原创 2013-07-21 21:42:25 · 1237 阅读 · 0 评论 -
最小二乘法
先看下百度百科的介绍:最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。 通过这段描述可以看出来,最小二乘法也是一种优化方法,求得目标函数的最优值。并且也可以用转载 2013-09-21 09:14:58 · 2584 阅读 · 0 评论