自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

爱哭的猫的专栏

没有经历就不配拥有!

  • 博客(78)
  • 资源 (6)
  • 收藏
  • 关注

原创 window Anaconda环境下pip提示无权限

解决办法:1、conda install package_name上面的不行就用下面的。2、pip install--userpackage_name

2017-04-21 14:28:59 4095

转载 使用sklearn做单机特征工程

1 特征工程是什么?  有这么一句话在业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。那特征工程到底是什么呢?顾名思义,其本质是一项工程活动,目的是最大限度地从原始数据中提取特征以供算法和模型使用。通过总结和归纳,人们认为特征工程包括以下方面:  特征处理是特征工程的核心部分,sklearn提供了较为完整的特征处理方法,包括数据预处理,特征选择,降维等。

2017-04-21 13:41:20 672

原创 python调用matplotlib

环境安装:pip install mlabpip install pypiwin32使用:from mlab.releases import latest_release as matlabmatlab.path(matlab.path(),r'./')matlab.your(args)

2017-04-21 13:29:19 660

原创 error: command 'gcc' failed with exit status 1

解决办法:sudo apt-get install python-dev

2016-10-31 17:27:24 399

原创 mongodb基本操作(客户端命令行)

这里简单列举一些mongodb在命令行里的常用操作:1)启动mongodb     命令:mongod  --dbpath [你的mongodb数据存放的目录      然后另开一个标签输入:mongo         前提是你已经将mongodb添加到环境变量中,否则需到mongodb安装目录的bin文件夹下去执行以上命令2)显示mongodb中有哪些数据库>show d

2016-08-30 13:32:56 14234

转载 python遇到‘\u’开头的unicode编码

web信息中常会遇到“\u4f60\u597d”类型的字符。首先’\u‘开头就基本表明是跟unicode编码相关的,“\u”后的16进制字符串是相应汉字的utf-16编码。Python里decode()和encode()为我们提供了解码和编码的方法。其中decode('unicode_escape')能将此种字符串解码为unicode字符串。比如:[python] view p

2016-07-29 15:48:55 2625

原创 基于协同过滤的推荐引擎

对于推荐系统大家都很熟悉,几乎每天都能碰到,今天我们就再来看看基于物品的协同过滤的推荐引擎。这里的协同过滤推荐引擎主要是根据用户已经对商品的评分来估计用户对没有进行评分的商品的可能评分。要想估算物品的评分就要算出物品间的相似度,这里介绍几种用于计算相似度的方法:def ecludSim(inA,inB): return 1.0/(1.0 + la.norm(inA - inB))第一中

2016-03-16 18:32:32 854

原创 Apriori2(关联规则)

上一节我们讨论了频繁项集,这一节我们就用频繁项集挖掘关联规则,频繁项集有支持度的指标,关联规则则有可信度的指标,关于支持度一看很类似贝叶斯公式:{尿布,啤酒}/{尿布}这就算出了尿布的支持度。接下来就来看一看def generateRules(L, supportData, minConf=0.7): bigRuleList = [] for i in range(1, len(

2016-03-14 20:24:08 644

原创 Apriori算法

在讨论这个算法之前需要知道什么是频繁项集以及关联规则,频繁项集是经常出现在一块的集合,关联规则是暗示两种物品之间有很强的关系。今天这个算法就是解决这个问题的,首先我们讨论频繁项集,支持度是频繁项集频繁的一个重要指标,支持度越高说明频繁程度越高。举个例子:比如有五组商品,其中出现某一种商品的次数是二,那么它的支持度就是2/5,如果某两种商品组合出现在一起的次数是1,那么它的支持度就是1/5,这就是支

2016-03-14 19:59:51 410

原创 k-Means(二分k-均值算法)

在上一节中我们已经讲了k-均值算法,当时我们选取的质心是随机选取的,没有什么依据,所以聚类的结果很可能出现误差,为了降低这种误差的出现我们今天来研究一种优化的k-均值算法----二分k--均值算法,看到名称我们就能明白在每次划分的时候都是将数据划分成俩份,直到达到我们要求的聚类数。怎么来分?选取哪一堆数据来分?需要我们计算,这里我们引入一个叫做误差平方和的指标,这个指标越小就代表所分的数据越准确。

2016-03-14 18:49:52 2387

原创 k--Means

前面我们大致介绍了一些回归、预测算法,它们都属于监督学习算法的范畴,今天我们将接触到一种无监督学习的算法k--Means算法。这个算法很好理解。k就代表要要分的多少个类,每个类都聚到一堆,怎么算同一类呢?既然同一类都到一堆了,肯定是根据距离来进行计算的。首先我们需要随机选取k个点,然后算出数据集中各个点距离哪一个点最近就属于那一类。一次遍历之后需要重新确定k个点的位置,再次遍历。直到符合最终条件为

2016-03-14 18:11:31 603

原创 树回归预测

两种树已经创建完毕,现在我们就进行预测:train.txt (提取码:405c)test.txt (提取码:72d9)def regTreeEval(model, inDat): return float(model)def modelTreeEval(model, inDat): n = shape(inDat)[1] X = mat(ones((1,n+1)

2016-03-13 17:37:11 978

原创 模型树------构建模型树

上一节我们讨论了回归树,今天我们来讨论模型树,回归树的叶子节点是数值,模型树的叶子节点是线性函数,这里需要将上一节的函数稍加修改即可,上一节中的叶子节点生成函数、错误率函数需要进行稍加修改。def linearSolve(dataSet): m,n = shape(dataSet) X = mat(ones((m,n))); Y = mat(ones((m,1)))

2016-03-13 17:11:01 1537

原创 回归树-----生成回归树

当数据拥有众多属性并且属性间关系复杂时,前面所讲的回归算法就显得太难了。今天我们就讨论一种树型的回归算法。前面讲过一个树,叫做决策树,构建决策树时需要利用信息增益来计算出最佳的分类特征然后不断的从剩余的特征中找出最佳的分类特征进行分类,这种方法叫做ID3.今天我们构建树所用的切分数据的方法有所不同,用的是二分法。其主体思想也是找到最佳的分类特征:ex00.txt (提取码:b416)fro

2016-03-13 16:51:01 1520

原创 前向逐步回归

接下来我们讨论另一个简单点的计算回归系数的方法:前向逐步回归。该算法属于贪心算法,经过多次迭代计算出最佳的回归系数,在每次迭代中增加或减少某个权重观察其错误率变化。选择对误差影响小的方向:def stageWise(xArr,yArr,eps=0.01,numIt=100): xMat = mat(xArr); yMat=mat(yArr).T yMean = mean(yMa

2016-03-13 12:09:10 6914 1

原创 岭回归

对于样本数据的特征比数据样本点还多的数据我们就没有办法使用标准线性回归和局部加权线性回归来计算,因为没有办法对矩阵求逆。所以这一小节我们引入岭回归来处理这种数据,当然岭回归也可以处理普通的数据。回归系数的计算公式:在这个公式中我们加入了一项:进而就可以对矩阵求逆,是用户指定的值,是一个单位矩阵,通过引入该项可以减少不重要的参数。了解了公式我们就来分析一下代码:def r

2016-03-13 11:20:45 700

原创 线性回归2(局部加权回归)

上节我们讨论了标准的求回归系数的方法,今天我们来讨论使用局部加权的方法求回归系数。对于线性回归有可能出现欠拟合现象。所以为了避免这种情况的发生我们为每个数据点引入一个权重来降低误差,我们这里计算权重的方法是使用高斯核公式计算。这里使用的数据还是上一节的数据,有需要的可以到上一节下载。def lwlr(testPoint,xArr,yArr,k=1.0): xMat = mat(xArr

2016-03-13 10:05:07 692

原创 线性回归(标准回归)

今天我们来讨论机器学习的另一个领域---预测;首先我们来讨论利用线性回归来预测数值型数据。利用线性回归进行预测的过程就是求解回归系数的过程,求出回归系数后进行系数与特征值乘积求和即可,这里我们使用最小二乘法进行求解:ex0.txt (提取码:dbe2)def loadDataSet(fileName): numFeat = len(open(fileName).rea

2016-03-13 09:21:24 1097

原创 AdaBoost算法2(基于单层决策树)

上节我们介绍了单层决策树的生成算法,今天我们就利用单层决策树创建完整的AdaBoost算法:def adaBoostTrainDS(dataArr,classLabels,numIt=40): weakClassArr = [] m = shape(dataArr)[0] D = mat(ones((m,1))/m) aggClassEst = mat(z

2016-03-12 22:33:53 1551

原创 AdaBoost算法1(基于单层决策树)

今天我们来讨论一个不一样的分类算法,这种算法叫做元算法,元算法是一种与其他算法组合在一起来使用的算法。今天我们来讨论自适应boosting:在训练数据中的每一个样本赋予一个权重,这些权重构成向量D,开始时权重值相等,在训练弱分类器的过程中这些权重值会发生变化,对于分对的样本权重值会下降,对于分错的样本其权重值会提高。直到所有数据全部正确分类。下面就来介绍一种基于单层决策树的自适应分类器:fro

2016-03-12 21:45:38 2144

原创 Logistic回归(实例)

这节我们通过一个实例来进行一下算法测试:Text.txt下载  (提取码:3b8f)  Train.txt下载  (提取码:d947)def classifyVector(inX, weights): prob = sigmoid(sum(inX*weights)) if prob > 0.5: return 1.0 else: return 0.0def co

2016-03-12 17:23:53 2258

原创 Logistic回归(改进的随机梯度上升)

上一节我们讨论的随机梯度上升算法在进行迭代的过程中回归系数会出现激烈的改变,这一节我们对上一节的算法进行改进:def stocGradAscent1(dataMatrix, classLabels, numIter=150): m,n = shape(dataMatrix) weights = ones(n) #initialize to all ones for

2016-03-12 17:07:24 1890

原创 Logistic回归(随机梯度上升)

由于梯度上升优化算法在每次更新数据集时都需要遍历整个数据集,计算复杂都较高,这里有一个随机梯度上升算法也可以求得回归系数,这种算法一次只用一个样本点来更新回归系数。def stocGradAscent0(dataMatrix, classLabels): m,n = shape(dataMatrix) alpha = 0.01 weights = ones(n) #

2016-03-12 16:37:30 3852

原创 Logistic回归算法(梯度上升)

Logistic回归算法是一个最优化算法,回归就是拟合的过程。Logistic回归的思想就是利用现有数据对分类边界建立线性回归公式,今天我们用这个算法来解决二值分类问题。这里介绍一个名叫Sigmoid的公式,这个函数是一种阶跃函数,(详细含义可以去问度娘)利用这个函数我们可以预测二值分类问题,为了使用Logistic回归分类器,我们需要在每一个特征值上乘以一个回归系数,然后把所有的值加起来,代

2016-03-12 16:28:45 1394 2

原创 贝叶斯算法扩展(支持多分类处理)

在前一节中我们已经讨论了关于贝叶斯算法的工作原理以及代码实现,但是它处理的数据是二分类问题,这一节我们就将代码稍微修改一下使其能够实现多分类问题。主要有两个函数需要进行修改一个是trainNB0(),一个是classifyNB()这两个,接下来我们就来讲解一下这两个函数:def trainNB0(trainMatrix,trainCategory): numTrainDocs = le

2016-03-12 15:17:45 1110

原创 贝叶斯算法实例

这一节我们将通过一个例子来观察贝叶斯的运行情况:email文件下载(提取码:0610)def textParse(bigString): import re listOfTokens = re.split(r'\W*', bigString) return [tok.lower() for tok in listOfTokens if len(tok) > 2

2016-03-12 12:34:59 1980

原创 朴素贝叶斯

这一节让我们来学习一下利用贝叶斯进行分类处理。在学习贝叶斯算法之前我们需要了解一些条件概率的的概念。什么是条件概率呢?条件概率就是在已知条件下另一个事件发生的概率,这就是贝叶斯算法的核心思想,接下来我们就利用分类文章的例子来讲解贝叶斯算法:首先创建一个名为bayes.py的文件,添加如下代码:from numpy import *def loadDataSet(): posti

2016-03-12 12:04:45 375

原创 决策树

决策树算法也是分类算法中非常常用的一个算法,首先我们先来了解一下它的基本实现原理:        在给定的一个训练样本中可能包含很多的属性,我们可以根据属性值来划分数据集,通过不断的划分数据集直到所有的叶子节点上的数据集属于同意类。就构造好了一个决策树算法。接下来我们来仔细的探讨一下这个算法的实现过程:       首先我们来创建一个名为trees.py的文件,在进行编码工作之前我们需

2016-03-12 10:36:01 448

原创 K--近邻算法示例

这个实例是一个手写识别系统,在这个系统中包含2000个训练数据和900个测试数据。同学们可以在digits.zip下载,每个文件名的第一个数字即为文件内容所代表的数字,我们可以将下面代码加入到上节的文件中:def img2vector(filename): returnVect = zeros((1,1024)) fr = open(filename) for i

2016-03-11 17:54:17 905

原创 K--近邻算法解析

代码测试环境:Python,需要安装Numpy库首先讲解关于K--近邻算法的工作原理:       K--近邻算法的工作原理是根据所给已知标签的数据集计算出与未知标签数据的最近的K个数据,这K个数据的标签中所占比重最大的那个数据的标签即为所要预测数据的标签。下面进行详细解释一下:假设现在有一个已知标签数据的样本,它包含5个属性值,则这个样本被称作训练样本集。当输入一个没有标签的数据样本

2016-03-11 17:20:52 856 1

原创 eclipse找不到或无法加载主类

有时候 Eclipse 会发神经,好端端的 project就这么编译不了了,连 Hello World 都会报“找不到或无法加载主类”的错误,我已经遇到好几次了,以前是懒得深究就直接重建project了,但遇到次数多了必须深究下了,现总结几种解决方案,大家根据自己的情况逐一尝试即可。1、是因为.java文件不在项目的src路径内,也就是说源代码未被eclipse编译,字节码不存在无法运行了在项

2015-11-24 14:33:35 455

原创 java.lang.RuntimeException: java.lang.NoSuchMethodException: tfidf$Reduce.<init>()

今天运行hadoop突然出现一个问题!java.lang.RuntimeException: java.lang.NoSuchMethodException: tfidf$Reduce.() at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:115) at org.apach

2015-11-13 16:56:34 1450

原创 java.lang.NoSuchMethodError: org.slf4j.impl.StaticLoggerBinder.getSingleton()Lorg/slf4j/impl/StaticL

运行hadoop    jar  包时出现以下错误提示;Exception in thread "main" java.lang.NoSuchMethodError: org.slf4j.impl.StaticLoggerBinder.getSingleton()Lorg/slf4j/impl/StaticLoggerBinder;    at org.slf4j.LoggerFactor

2015-11-05 20:23:16 2681

原创 assert的使用

assertion断言在软件开发中是一种常用的调试方式,很多开发语言都支持这种机制。在实现中,assertion就是在程序中的一条语句,他对boolean表达式进行检查,一个正确的程序必须保证这个bolean值是true,如果为false,说明程序已经处于不正确的状态下。这时assert会发出警告或退出。例如:public class AssertTest{ public

2015-10-26 16:29:42 345

原创 删除文件中的空行

1 sed '/^$/d' input.txt > output.txt #output file: output.txt2 sed -i '/^$/d' input.txt #output file: input.txt3 awk 'NF > 0' input.txt > output.txt #output file: output.txt4 perl -i.ba

2015-10-22 13:54:38 379

原创 hadoop heap space问题

在mapred-site.xml中设置:  mapred.child.java.opts  -Xmx200m 值改大一些  1024m。 同时在hadoop-env.sh中 export HADOOP_HEAPSIZE=2000 这个的大小,开始装的时候我把这个值设置的太小了,现在调大一些。就可以了。

2015-10-17 21:19:27 603

原创 heap和stack有什么区别

java内存分为两类,一类为 栈内存,一类为堆内存。栈内存是指程序进入一个方法时,会为这个方法分配一块专属的私有空间,用来存储这个方法内的局部变量。当这个方法结束时,分配给这个方法的栈就会释放,这个栈中的变量也会释放。堆与栈作用不同的内存你。一般用于存放不放在当前方法栈中的数据。例如:new对象。方法中用final修饰的变量放在堆中。而不是栈中。

2015-10-15 20:29:27 343

原创 字节流与字符流的区别

要把一片二进制数据逐一输出到某一设备,或者从设备中读取二进制流,我们都要用统一的方式完成这个操作。这个抽象描述的方式起名为IO流。对应的抽象类为OutputStream和InputStream。不同的实现类代表这不同的输入输出设备。他们都是对字节进行操作。在应用中,经常是要将全是字符的文本进行输入输出操作。计算机中的一切都是以二进制字节流的形式存在的,所以对任何字符都要将其转化为字节然后进行输

2015-10-15 20:10:51 317

原创 could only be replicated to 0 nodes, instead of 1解决办法

1、系统或hdfs是否有足够空间(本人就是因为硬盘空间不足导致异常发生)2、datanode数是否正常3、是否在safemode4、防火墙是否关闭5、关闭hadoop、格式化、重启hadoop

2015-10-15 18:34:34 780

原创 重新格式化hadoop

首先将hdfs-site.xml文件中的代码片 dfs.name.dir /home/hadoop/hdfs/name namenode上存储hdfs名字空间元数据 dfs.data.dir /home/hadoop/hdsf/data dat

2015-10-14 20:01:25 626

digits.zip

2016-03-11

datingTestSet

2016-03-11

datingTestSet2

2016-03-11

datingTestSet.txt

2016-03-11

mapreduce示例

这是一些简单的MR程序,有助于初接触MR的同学参考。希望能够从中获得知识。

2015-08-09

多叉树的后序非递归遍历

多叉树的建立以及后序非递归遍历,希望对学习数据结构的同学有所帮助,也对树一部分有更深的了解。

2015-01-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除