![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分类
文章平均质量分 80
爱哭的猫ff
在校软件工程学生
展开
-
K--近邻算法示例
这个实例是一个手写识别系统,在这个系统中包含2000个训练数据和900个测试数据。同学们可以在digits.zip下载,每个文件名的第一个数字即为文件内容所代表的数字,我们可以将下面代码加入到上节的文件中:def img2vector(filename): returnVect = zeros((1,1024)) fr = open(filename) for i原创 2016-03-11 17:54:17 · 895 阅读 · 0 评论 -
回归树-----生成回归树
当数据拥有众多属性并且属性间关系复杂时,前面所讲的回归算法就显得太难了。今天我们就讨论一种树型的回归算法。前面讲过一个树,叫做决策树,构建决策树时需要利用信息增益来计算出最佳的分类特征然后不断的从剩余的特征中找出最佳的分类特征进行分类,这种方法叫做ID3.今天我们构建树所用的切分数据的方法有所不同,用的是二分法。其主体思想也是找到最佳的分类特征:ex00.txt (提取码:b416)fro原创 2016-03-13 16:51:01 · 1515 阅读 · 0 评论 -
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 · 1542 阅读 · 0 评论 -
AdaBoost算法1(基于单层决策树)
今天我们来讨论一个不一样的分类算法,这种算法叫做元算法,元算法是一种与其他算法组合在一起来使用的算法。今天我们来讨论自适应boosting:在训练数据中的每一个样本赋予一个权重,这些权重构成向量D,开始时权重值相等,在训练弱分类器的过程中这些权重值会发生变化,对于分对的样本权重值会下降,对于分错的样本其权重值会提高。直到所有数据全部正确分类。下面就来介绍一种基于单层决策树的自适应分类器:fro原创 2016-03-12 21:45:38 · 2137 阅读 · 0 评论 -
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 · 2247 阅读 · 0 评论 -
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 · 1872 阅读 · 0 评论 -
Logistic回归(随机梯度上升)
由于梯度上升优化算法在每次更新数据集时都需要遍历整个数据集,计算复杂都较高,这里有一个随机梯度上升算法也可以求得回归系数,这种算法一次只用一个样本点来更新回归系数。def stocGradAscent0(dataMatrix, classLabels): m,n = shape(dataMatrix) alpha = 0.01 weights = ones(n) #原创 2016-03-12 16:37:30 · 3840 阅读 · 0 评论 -
Logistic回归算法(梯度上升)
Logistic回归算法是一个最优化算法,回归就是拟合的过程。Logistic回归的思想就是利用现有数据对分类边界建立线性回归公式,今天我们用这个算法来解决二值分类问题。这里介绍一个名叫Sigmoid的公式,这个函数是一种阶跃函数,(详细含义可以去问度娘)利用这个函数我们可以预测二值分类问题,为了使用Logistic回归分类器,我们需要在每一个特征值上乘以一个回归系数,然后把所有的值加起来,代原创 2016-03-12 16:28:45 · 1384 阅读 · 2 评论 -
贝叶斯算法扩展(支持多分类处理)
在前一节中我们已经讨论了关于贝叶斯算法的工作原理以及代码实现,但是它处理的数据是二分类问题,这一节我们就将代码稍微修改一下使其能够实现多分类问题。主要有两个函数需要进行修改一个是trainNB0(),一个是classifyNB()这两个,接下来我们就来讲解一下这两个函数:def trainNB0(trainMatrix,trainCategory): numTrainDocs = le原创 2016-03-12 15:17:45 · 1099 阅读 · 0 评论 -
贝叶斯算法实例
这一节我们将通过一个例子来观察贝叶斯的运行情况: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 · 1972 阅读 · 0 评论 -
朴素贝叶斯
这一节让我们来学习一下利用贝叶斯进行分类处理。在学习贝叶斯算法之前我们需要了解一些条件概率的的概念。什么是条件概率呢?条件概率就是在已知条件下另一个事件发生的概率,这就是贝叶斯算法的核心思想,接下来我们就利用分类文章的例子来讲解贝叶斯算法:首先创建一个名为bayes.py的文件,添加如下代码:from numpy import *def loadDataSet(): posti原创 2016-03-12 12:04:45 · 364 阅读 · 0 评论 -
决策树
决策树算法也是分类算法中非常常用的一个算法,首先我们先来了解一下它的基本实现原理: 在给定的一个训练样本中可能包含很多的属性,我们可以根据属性值来划分数据集,通过不断的划分数据集直到所有的叶子节点上的数据集属于同意类。就构造好了一个决策树算法。接下来我们来仔细的探讨一下这个算法的实现过程: 首先我们来创建一个名为trees.py的文件,在进行编码工作之前我们需原创 2016-03-12 10:36:01 · 436 阅读 · 0 评论 -
K--近邻算法解析
代码测试环境:Python,需要安装Numpy库首先讲解关于K--近邻算法的工作原理: K--近邻算法的工作原理是根据所给已知标签的数据集计算出与未知标签数据的最近的K个数据,这K个数据的标签中所占比重最大的那个数据的标签即为所要预测数据的标签。下面进行详细解释一下:假设现在有一个已知标签数据的样本,它包含5个属性值,则这个样本被称作训练样本集。当输入一个没有标签的数据样本原创 2016-03-11 17:20:52 · 837 阅读 · 1 评论 -
树回归预测
两种树已经创建完毕,现在我们就进行预测: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 · 969 阅读 · 0 评论