- 博客(30)
- 收藏
- 关注
转载 递归式特征消除:Recursive feature elimination
递归式特征消除:Recursive feature elimination 1.1.1删除方差低的特征举个栗子,假如我们有一个是布尔值的特征,我们想去删去0(或1)个数大于总数的80%。偏差var[x]=p(1-p)所以我们赋值threshold为0.8*(1-0.8)>>> from sklearn....
2018-11-06 17:02:17
1445
转载 机器学习算法的随机数据生成.Numpy/Scikit-learn
在学习机器学习算法的过程中,我们经常需要数据来验证算法,调试参数。但是找到一组十分合适某种特定算法类型的数据样本却不那么容易。还好numpy, scikit-learn都提供了随机数据生成的功能,我们可以自己生成适合某一种模型的数据,用随机数据来做清洗,归一化,转换,然后选择模型与算法做拟合和预测。下面对scikit-learn和numpy生成数据样本的方法做一个总结。1. numpy随机数据生成...
2018-04-26 21:17:22
813
转载 机器学习.数据不平衡处理之SMOTE算法实现
数据不平衡的处理方法有三种:一是欠采样,二是过采样,三是调整权重。今天要说的是过采样中的一个算法SMOTE。在网上找到一个Python库imbalance-learn package 。它是专门用来处理数据不平衡的,网址在这:https://pypi.python.org/pypi/imbalanced-learn#id27 安装说明安装之后就可以使用了,下面是一个简单的例子:import mat...
2018-04-26 21:07:04
4240
原创 Bagging
Bagging (Bootstrap Aggregation)1.对样本集重采样,选出n个样本2.对n个样本训练分类器(ID3,C4.5,C5.0,LogisticRegression..)3.重复以上两步m次,训练出m个分类器4.将数据放到m个分类器中,根据投票结果决定属于哪一类(回归问题可以取平均值,对于分类问题可以采取多数投票的方法)ResampleBootstrap sample: ...
2018-04-23 16:42:36
1213
转载 集成学习算法总结----Boosting和Bagging
集成学习算法总结----Boosting和Bagging作者:a1b2c3d41234561、集成学习概述1.1 集成学习概述集成学习在机器学习算法中具有较高的准去率,不足之处就是模型的训练过程可能比较复杂,效率不是很高。目前接触较多的集成学习主要有2种:基于Boosting的和基于Bagging,前者的代表算法有Adaboost、GBDT、XGBOOST、后者的代表算法主要是随机森林。1.2 集...
2018-04-22 22:34:23
356
转载 generalization error 泛化误差
当train出来一个model之后,parameters已经定了下来。然后用test dataset去test这个network。 泛化误差就是test的时候的误差。
2018-04-22 21:47:55
2924
转载 机器学习常用的分类器比较
传统的机器学习的监督学习分类分类和回归,分类是争对离散的数据,而回归是争对连续的数据,在数据预处理好的基础上要对数据进行预测,通常采用CV交叉验证来进行模型评价和选择。这篇文章通过连续的数据结合sklearn库对各种回归器做一比较:1.linear regression缺点:顾名思义,linear regression是假设数据服从线性分布的,这一假设前提也限制了该模型的准确率,因为现实中由于噪声...
2018-04-22 21:15:15
14665
原创 熵和基尼系数
CART Classification & Regression Tree1.熵(entropy) 熵是表示随机变量不确定性的度量。设XX是一个取有限个值的离散随机变量,其概率分布为对于一个取有限个值的随机变量X,如果其概率分布为: P(X=xi)=pi,i=1,2,⋯,n那么随机变量X的熵可以用以下公式描述: H(X)=−∑i=1npilog...
2018-04-19 22:25:17
4508
转载 Sklearn数据预处理:scale, StandardScaler, MinMaxScaler, Normalizer
Standardization即标准化,尽量将数据转化为均值为零,方差为一的数据,形如标准正态分布(高斯分布)。实际中我们会忽略数据的分布情况,仅仅是通过改变均值来集中数据,然后将非连续特征除以他们的标准差。sklearn中 scale函数提供了简单快速的singlearray-like数据集操作。一、标准化,均值去除和按方差比例缩放(Standardization, or mean remova...
2018-04-19 19:18:21
2159
转载 sklearn 中的 Pipeline 机制
from sklearn.pipeline import Pipeline1管道机制在机器学习算法中得以应用的根源在于,参数集在新数据集(比如测试集)上的重复使用。管道机制实现了对全部步骤的流式化封装和管理(streaming workflows with pipelines)。注意:管道机制更像是编程技巧的创新,而非算法的创新。接下来我们以一个具体的例子来演示sklearn库中强大的Pipeli...
2018-04-19 19:16:51
230
转载 sklearn.decomposition.PCA
1、函数原型及参数说明sklearn.decomposition.PCA(n_components=None, copy=True, whiten=False) 参数说明:n_components: 意义:PCA算法中所要保留的主成分个数n,也即保留下来的特征个数n类型:int 或者 string,缺省时默认为None,所有成分被保留。 赋值为int,比如n_componen...
2018-04-19 19:10:20
4759
原创 一些定义
对于m个样本(x1,y1),(x2,y2)....(xm,ym)1.TSS (Total Sum of Square) 计算样本的总平方和 TSS/m-1 -> 方差2.RSS Residual Sum of Square 残差平方和RSS=SSE (Sum of Square Errors)误差平方和3.R2=1-RSS/TSS R2越大,拟合效果越好4.leven...
2018-04-18 16:31:47
235
原创 线性回归
线性回归: 1.高斯分布 2.极大似然估计 3.最小二乘法的本质用极大似然估计解释最小二乘是独立同分布的。是服从均值为0,方差某特定值的高斯分布 原因:中心极限定理 所以:用y和x去替换误差: 然后使用极大似然估计:取对数:就变成了最小二乘用极大似然估计要使得L(θ)最大,就要使得J(θ)最小Ridge Regression 岭回归:带L2正则的线性回归LASS...
2018-04-16 16:56:59
161
转载 矩阵的相似
定义设A,B都是n阶矩阵,若存在可逆矩阵P,使P^(-1)AP=B,则称B是A的相似矩阵, 并称矩阵A与B相似,记为A~B。矩阵性质编辑对于 设A,B和C是任意同阶方阵,则有:(1)0反身性:A~ A(2)对称性:若A~ B,则 B~ A(3)传递性:若A~ B,B~ C,则A~ C(4)若A~ B,则r(A)=r(B),|A|=|B|,tr(A)=tr(B)。(5)若A~ B,且A可逆,则B也可...
2018-03-26 11:29:49
2711
转载 对角矩阵
对角矩阵(diagonal matrix)是一个主对角线之外的元素皆为0的矩阵,常写为diag(a1,a2,...,an) 。对角矩阵可以认为是矩阵中最简单的一种,值得一提的是:对角线上的元素可以为 0 或其他值,对角线上元素相等的对角矩阵称为数量矩阵;对角线上元素全为1的对角矩阵称为单位矩阵。对角矩阵的运算包括和、差运算、数乘运算、同阶对角阵的乘积运算,且结果仍为对角阵。定义 (1...
2018-03-26 11:18:58
8968
转载 (转载)R-CNN论文详解
博主链接:http://blog.youkuaiyun.com/wopawn/article/details/52133338paper链接:Rich feature hierarchies for accurate object detection and semantic segmentation&创新点采用CNN网络提取图像特征,从经验驱动的人造特征范式HOG、SIFT到数据驱动的表示学习范式,...
2018-03-21 22:35:13
194
原创 目标检测R-CNN.读论文
作为RCNN系列小说的第一篇,今天终于翻开了第一页。论文和论文详解博客夹着看,大概是文章要做的事情看懂了,代码等4篇看完再看,代码的复现就要等GPU买回来了。一、文章做了什么 深度学习在目标检测领域的开山之作。用Selective Search生成2k个候选区域,经过归一化处理,通过AlexNet/VGG进行特征提取,然后用SVM进行识别分类,再用Bounding Box Regressin...
2018-03-21 22:32:12
233
原创 Selective Search(选择性搜索)
今天看R-CNN的论文, 算法的第一步是提取2000个Region Proposal,然后根据提取的目标图像进行Crop/Warp处理后,再用AlexNet(VGG)提取特征,得到固定维度的输出(4096),经过SVM分类识别,再用Bounding Box Regressing精确候选框位置。而生成候选区域的方法就是用Selective Search。一、目标检测 VS 目标识别目标识别(obje...
2018-03-21 21:40:25
1169
转载 TensorFlow图变量tf.Variable的用法解析
目录图变量的初始化方法两种定义图变量的方法scope如何划分命名空间图变量的复用图变量的种类1.图变量的初始化方法对于一般的Python代码,变量的初始化就是变量的定义,向下面这样:In [1]: x = 3In [2]: y = 3 * 5In [3]: yOut[3]: 151234如果我们模仿上面的写法来进行TensorFlow编程,就会出现下面的”怪现象”:In [1]: impor...
2018-03-19 18:30:32
362
转载 良好特征的特点
表示 (Representation):良好特征的特点预计用时:10 分钟我们探索了将原始数据映射到合适特征矢量的方法,但这只是工作的一部分。现在,我们必须探索什么样的值才算这些特征矢量中良好的特征。避免很少使用的离散特征值良好的特征值应该在数据集中出现大约 5 次以上。这样一来,模型就可以学习该特征值与标签是如何关联的。也就是说,大量离散值相同的样本可让模型有机会了解不同设置中的特征,从而判断何...
2018-03-16 18:56:40
510
转载 特征工程
将原始数据映射到特征图 1 左侧表示来自输入数据源的原始数据,右侧表示特征矢量,也就是组成数据集中样本的浮点值集。 特征工程指的是将原始数据转换为特征矢量。进行特征工程预计需要大量时间。机器学习模型通常期望样本表示为实数矢量。这种矢量的构建方法如下:为每个字段衍生特征,然后将它们全部连接到一起。图 1. 程序工程将原始数据映射到机器学习特征。映射数值机器学习模型根据浮点值进行训练,因此整数和浮点原...
2018-03-16 18:47:35
236
转载 DIV+CSS布局例子
DIV+CSS布局中主要CSS属性介绍:Float: Float属性是DIV+CSS布局中最基本也是最常用的属性,用于实现多列功能,我们知道标签默认一行只能显示一个,而使用Float属性可以实现一行显示多个div的功能,最直接解释方法就是能实现表格布局的多列功能。Margin: Margin属性用于设置两个元素之间的距离。Padding:
2017-01-19 15:24:55
452
转载 div+css常见布局结构定义
在使用div+css布局时,首先应该根据网页内容进行结构设计,仔细分析和规划你的页面结构,你可能得到类似这样的几块:页面层容器、页面头部、标志和站点名称、站点导航(主菜单)、主页面内容、子菜单、搜索框、页脚(版权和有关法律声明)。通常采用DIV元素来将这些结构定义出来,类似这样: 页面层容器 页面头部 页面主体 站点导航 子菜单 搜索框 页脚 这不是布
2017-01-19 15:22:56
1400
原创 Java学习(5)-泛型一些注意点
如果两边使用到泛型,两边必须一样e.g.List list = new ArrayList(); √两边不一样:List list = new ArrayList(); 错为了兼容性List list = new ArrayListList(); 对
2016-08-31 16:24:39
207
转载 Java学习(4)-JavaBean
第一个简单JavaBeanpackage blog.csdn.joywy; public class SimpleBean{ private String name; private int age; public void setName(String name){ this.name = name
2016-08-27 23:30:15
330
转载 Java学习(3)-可变参数
可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。注意:可变参数必须位于最后一项。当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,java无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项。例:public class test{ pu
2016-08-26 21:34:28
339
原创 Java学习(3)-增强for循环注意的问题
例子: List list=new ArrayList();list.add("1");for(Object obj: list) obj="10"; System.out.print(list.get(0));结果为 ?答案:1 增强for循环只取值,不能修改
2016-08-24 23:40:55
393
原创 Java学习(2)-Map的遍历
一、HashMap两种遍历方式 HashMap map=new HashMap(); list.put("1","a"); list.put("2","b"); list.put("c","c"); (1)map.keySet().iterator Iterator it=map.keySet().iterator(); while
2016-08-24 17:31:47
234
转载 Java学习(1)-Iterator迭代器
一、迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。 Java中的Iterator功能比较简单,并且只能单向移动: (1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的
2016-08-24 00:00:42
273
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人