
机器学习
u011551096
这个作者很懒,什么都没留下…
展开
-
回归小结
与分类一样,回归也是预测目标值的过程。回归与分类的不同点在于,前者是预测连续型变量,而后者是预测离散型变量。在回归方程中,求得特征对应的最佳回归系数的方法是最小化误差平方和法,给定输入矩阵X如果的逆矩阵存在并且可以求得的话,回归法就可以直接使用,数据集上计算的回归方程不一定是最佳的,可以使用预测值yHat和原始值y的相关性来度量回归方程的好坏。当数据的样本数比特征数还少时候,矩阵的逆不能直接计算。原创 2016-04-12 11:06:56 · 318 阅读 · 0 评论 -
python画log图
1、用python画出log1.5(x),log(2x),log(3x)import numpy as npimport mathimport matplotlib.pyplot as pltx=np.arange(0.05,3,0.05)y1=[math.log(a,1.5)for a in x]y2=[math.log(a,2)for a in x]y3=[math.log(a原创 2016-04-16 14:07:37 · 15376 阅读 · 0 评论 -
机器学习---回归
1、python中计算回归系数代码如下:def loadDataSet(fileName): #general function to parse tab -delimited floats numFeat = len(open(fileName).readline().split('\t')) - 1 #get number of fields dataMat =原创 2016-04-11 20:45:03 · 698 阅读 · 0 评论 -
正确率、召回率及ROC曲线
如果将一个正例判断为正例,称为真正例(TP),类似的,将一个反例判断为反例,称为真反例(TN),将一个正例判断为反例,称为伪反例(FN),将一个反例判断为正例,即伪正例(FP); 1、正确率P是指判断为正确的样本中,实际为正确样本的个数: P=TP/(TP+FP) 2、召回率R是指所有正例样本中预测为正例样本的比例: R=TP/(TP+FN)原创 2016-04-11 13:12:28 · 6639 阅读 · 0 评论 -
基于AdaBoost的分类(测试算法)
1、 一旦拥有多个弱分类器以及其对应的alpha值,进行测试就变得相对容易。在上节的代码中已经完成了大部分代码,现在要做的就是将弱分类器的结果抽取抽来,应用到某个事例中,每个弱分类器乘以相对应的权重值,加权结果就是最终的结果。2、python代码def adaClassify(datToClass,dataArr,classLabels): classifierArr,aggCl原创 2016-04-11 10:19:08 · 899 阅读 · 0 评论 -
基于单层决策树的 AdaBoost的训练及测试过程
1、整个实现的伪代码python:对每次迭代:利用buildstump()函数(上一篇提到过)找到最佳的单层决策树;计算alpha(利用该决策树的错误率进行计算);计算新的每个样本的权重D(使用alpha进行计算,第一次分对的样本,权重减小反之,权重增大)给最佳单侧决策树的预测结果添加alpha权重(弱分类器(这里指最佳的单侧决策树)的错误率越小,赋予该分类器的权重值a原创 2016-04-11 09:13:44 · 2444 阅读 · 0 评论 -
单层决策树
单层决策树(decision stump)是一种简单的决策树,它仅仅是基于单个特征来做决策,由于这棵树只有一次分裂过程,因此它实际上仅仅是一个树桩。例如对下面一幅图进行分类:这里的数据分别是(1,2.1),(2,1.1),(1.3,1),(1,1),(2,1)这里要将圈和框分开:1、按照横坐标or纵坐标来划分,这里将横坐标视为特征一,纵坐标视为特征二(单决策树只能根据一个特征原创 2016-04-10 21:00:18 · 8735 阅读 · 0 评论 -
机器学习实战----AdaBoost
AdaBoost是自适应boosting的缩写,所谓的boosting通过集中关注已被已有分类器错分的那些数据来获得新的分类器。利用boosting分类的结果是基于所有分类器的加权求和的结果,因此boosting中的分类器权重并不相等,每个权重代表其对应分类器在上一轮迭代中的成功度。 这里说明一个类似的技术bagging自举汇聚法,即从原始数据集选择S次后,得到S个新数据集的一种技原创 2016-04-10 20:57:39 · 689 阅读 · 0 评论 -
模型树
模型树是将叶节点设置为分段线性函数,具体代码如下:def loadDataSet(fileName): #general function to parse tab -delimited floats dataMat = [] #assume last column is target value fr = open(fileName原创 2016-04-13 10:21:41 · 750 阅读 · 0 评论 -
将CART算法用于回归
1、所谓的CART算法是指分类回归树,以下代码是一个回归树的框架:def createTree(dataSet, leafType=regLeaf, errType=regErr, ops=(1,4)):#assume dataSet is NumPy Mat so we can array filtering feat, val = chooseBestSplit(dataSet,原创 2016-04-12 19:50:14 · 793 阅读 · 0 评论 -
凸优化----初步理解
1、什么时候KKT条件可以成为充要条件2、什么时候局部最优解可以成为全局最优解上面两个问题答案显然就是凸优化问题。3、一般的优化问题与凸优化问题的分水岭不在于问题本身是线性还是非线性的,有约束还是无约束的,核心问题在于这个问题是凸还是非凸。如果该问题是凸问题,那么这个问题就已经解决了。凸集的定义本图片出自于七月算法四月机器学习班第四课也就是集合中任意两点的线段都在这个集原创 2016-05-03 15:41:05 · 1622 阅读 · 1 评论