自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小小鸟

相信

  • 博客(29)
  • 收藏
  • 关注

原创 pandas索引和选择数据

使用pandas索引和选择数据时,总是需要百度,因此决定对pandas.DataFrame中的索引和选择方法做个总结。所用的pandas版本号为0.20.1 pandas中有三种索引方法:.loc,.iloc和[],注意:.ix的用法在0.20.0中已经不建议使用了!.loc用法iloc用法切片操作[]下文中全部使用一个DataFrame来举例: .loc用法...

2018-04-10 10:36:02 107131 3

原创 QR分解之HouseHolder变换

QR分解一个矩阵的QR分解(QRdecomposition)(QRfactorization)是将矩阵分解成A=QRA=QR,其中Q是一个正交矩阵(QTQ=IQ^TQ=I),R是上三角矩阵。HouseHolder变换HouseHolder变换可以将一个向量映射到一个超平面上。 HoulseHolder矩阵 P=I−2vvTP=I-2vv^T,II是单位矩阵,vv是单位正交矩阵,vvT=Ivv

2016-08-25 15:33:20 54781 6

原创 【C++】上机实例之vector内存分配

Employee.h#include<string>#include<iostream>using namespace std;class Employee{private: string name; string address; string code; float wage;public: Emplo

2016-08-25 15:31:22 613

原创 【C++】多维数组传参

方法1:void func(int array[3][10]) void func(int array[][10]) 两种写法都是合法的,不能把第二维或者更高维的大小省略,如: void func(int array[][]) void func(int array[3][]) 这是由编译器的原理限制的,对于数组int array[m][n],如果要取p[i][j]的值,编译器的寻址方式:

2016-08-25 15:30:49 3355

原创 机器学习实战之决策树

理论基础:信息论1. 熵(entropy)H(S)用来测量一个数据集S的不确定程度。  H(S)=−∑x∈Xp(x)log2p(x)H(S)=-\sum_{x\in X}p(x)log_2p(x)  - SS-待计算熵的数据集,在ID3算法的每次迭代中会改变  - X -S中类别的集合  - p(x)p(x) -属于类别x的元素站集合S中总元素的比例  H(S)=0H(S)=0,集合SS被

2016-08-25 15:24:29 354

原创 机器学习实战之KMean

KMeans算法步骤: 1. 确定聚类个数k 2. 随机选择k个质心 3. 对于所有样本点: 根据样本点到质心的距离分类 4. 分类完成后,如果所有样本点的类别没有变化,算法结束 如果有变化,重新计算质心(当前类中样本的平均值),回到步骤3几个问题: 1. 聚类个数k的确定 2. 初始时质心的选取 3. 容易出现局部最优解考虑在多维空间中将数据点分组/聚类的问题。假设有一个数

2016-08-25 15:23:58 705

原创 机器学习实战之CART

理论CART(Classification and Regression Tree)是决策树的一种。 决策树是每次以某个属性为准,将数据集划分为几个类,最终数据集中的元素都被划分到相应的类中。典型的决策树算法是ID3。ID3与CART不同之处:ID3生成的决策树是n叉树,CART是二叉树;两种算法在每次迭代时都需要寻找最优的划分属性,不同的是,ID3用来度量划分是否为优的准则是:信息增益(Info

2016-08-25 15:23:31 1133

原创 关联分析之Apriori学习笔记

关联分析(Association analysis)简介大量数据中隐藏的关系可以以‘关联规则’和‘频繁项集’的形式表示。rules:{Diapers}–>{Beer}说明两者之间有很强的关系,购买Diapers的消费者通常会购买Beer。 除了应用在市场篮子数据(market basket data)中,关联分析(association analysis)也可以应用在其他领域像bioinfomat

2016-08-25 15:21:25 5960 1

原创 windows安装matplotlib

安装matplotlib.exe在Python Shell中import matplotlib出错,显示需要dateutil下载dateutil文件,格式为whl,在cmd中进入到此文件所在的目录,输入pip install name.whl注意在上一步中,下载dateutil文件时需要安装six,用同样的方法安装six的whl文件此时import matplotlib 依然出错,需要pyp

2016-08-25 15:12:32 576

原创 机器学习推导—算法SVM

由于在为知笔记里使用markdown+LaTex写的笔记,直接复制到CSDN里不能显示图片,公式渲染不正确。所以我只能导出成图片上传上来,但导出的图片有一些断层,不影响正常阅读。心塞塞。 想自己搭一个支持为知笔记导出的博客,但又嫌太耗费精力。哪位朋友有较好的解决方法,请联系我!

2016-08-25 15:11:51 679

原创 mrjob运行runner参数

本地测试在本地测试作业python your_mrjob_sub_class.py <log_file >output 此脚本会使用InlineMRJobRunner自动调用自身运行各个步骤。如果要更接近Hadoop,可以使用--runner=local,这个参数不会将你当前的工作目录加到PYTHONPATH,而是设置一些Hadoop环境变量,使用多个子处理器来处理任务。 也可以使用参数--ma

2016-08-25 15:02:34 2145 1

原创 mrjob运行方式

翻译自http://pythonhosted.org/mrjob/guides/runners.html运行本地测试python my_mrjob.py < test.txt >output 以上脚本会使用InlineMRJobRunner自动运行文件中的步骤。使用--runner=local可以更接近模拟Hadoop,这种方式不会将工作目录添加到PYTHONPATH,而是设置几个Hadoop环境

2016-08-25 15:01:54 1289

原创 AdaBoost

adaboost简介adaboost算法是将一系列弱分类器组合成一个强分类器的算法。所谓弱分类器是指识别错误率小于1/2,即准确率仅比随机猜测略高的学习算法。强分类器是指识别准确率很高并能在多项式时间内完成的学习算法。1 Adaboost算法依次训练弱分类器,赋予错误率低的分类器高权值,错误率高的分类器低权值,使得准确性高的分类器获得更高的‘话语权’,从而构造出一个强分类器。 可以想到,Adab

2016-08-25 14:55:12 2323

原创 Jacobi 方法计算特征值特征向量

在求解协方差矩阵的特征值和特征向量时用到了Jacobi方法原理设A是n阶实对称矩阵,则必有正交矩阵P,使PTAP=⎡⎣⎢⎢λ1⋮0⋯⋱⋯0⋮λn⎤⎦⎥⎥=∧;P^TAP=\begin{bmatrix}\lambda_1 &\cdots &0 \\\vdots &\ddots &\vdots\\0 &\cdots &\lambda_n\end{bmatrix}=\

2015-12-12 15:56:42 11155 1

原创 华为交换机STP的配置

什么是STPSTP(Spanning Tree Protocol)生成树协议。 冗余链路当前的交换机为了防止单点故障导致的整个业务中断,常采用冗余链路来实现备份。也就是说如果交换机之间用一条链路互连,那么一旦一条链路出了问题,将会导致整个网络的瘫痪,为了防止这种情况,交换机之间用多条链路互连,当一条链路故障时,还可以通过其他链路发送数据帧(是不是和电路交换/分组交换类似之间的区别类似)。 冗余

2015-12-08 21:24:56 24405

原创 两种动态路由的简单配置

RIP配置 拓扑图 路由器RA、RB、RC、RD分别使用了两个物理接口,一个逻辑接口,ip的配置如图所示。 在每个路由器上的配置步骤: 1:配置3个接口的ip地址(两个物理接口和一个逻辑接口)注意:这一步完成后,最好ping一下直连的接口,检查接口状态时up还是down,另外可以检查自己有没有写错ip 2:在每一个路由器上配置RIP,告知此路由器的每一个 网络号(也就是把自己可到达的网

2015-12-08 21:23:38 1381 1

原创 华为路由器ACL简单配置

ACL(Access Control List)访问控制列表,是由一系列规则组成的集合。 先来看下拓扑图吧~ lo0就是LoopBack0,路由器上的逻辑接口,可以模拟一台主机 配置目的: AR1上的lo0可以ping通AR3上的lo0,而lo1不可以ping通AR3上的lo0 一、 首先最基本的配置,接口IP、静态路由,使这两条链路是通的。过程,此处省略n个字。 结果,两个逻辑接

2015-12-08 21:19:19 40928 1

原创 NAT配置

拓扑图: 实验目的: 1、配置easyIP,使AR1的lo0和lo1两个逻辑接口可以访问外网 2、给内网服务器server配置静态NAT 验证:内网IP来ping外网IP步骤一: 基础配置,首先配置好IP。 R1,R2,R4配置默认路由,使数据包能到达R3;R3,R2配置静态IP,目的地址是R1的lo0和lo1,使数据报可以到达R1. 步骤二: 在R3上配置easyIP,R1的l

2015-12-08 21:14:12 726

原创 华为路由器DHCP中继

按照老师的例子搭了一个简单的拓扑,包括一个终端,两个路由器,如图:路由器AR2 g0端口作为网关,地址:192.168.1.1 子网掩码:255.255.255.0g1端口                  地址 :192.168.2.2 子网掩码:255.255.255.0(可以看出路由器的两个端口分别是两个网络)路由器AR4作为dhcp服务器(dhcp服务器原来就是

2015-12-08 21:05:09 15074 4

原创 【C++】指针数组和数组指针/链表的构建和排序

在上一篇计算机图形学/扫描线填充算法中,由于每一条扫描线要对应一个链表,所以使用到了指针数组,在对活性边表排序时涉及到链表的排序,这些知识都忘了,现在捡起来。指针数组用于存储指针的数组,也就是每个元素都是指针。 int * a[5]; //数组中有四个指针 [ ]的优先级高于优先级,我认为可以看作int 是一种类型,定义一个int * 类型的数组,就是指针数组了。数组指针指向数组的指针,就是一

2015-12-01 14:33:38 2160

原创 【opencv】常用函数(总结自人脸识别MFC程序)

以下OpenCV函数总结自OpenCV+MFC的人脸识别程序简单图像处理函数resize()介绍在我的人脸识别程序中,使用这个函数来对图像进行标准化,每幅图像标准化为200*200大小。void cv::resize(InputArray src, OutputArray dst, double fx=0,

2015-11-23 11:12:59 1874

原创 EM算法解决GMM问题

高斯混合模型高斯混合模型是几个高斯成分的简单线性叠加,可以提供比单高斯更加丰富的密度模型。 高斯模型的形式: 这就表示此模型是由K个高斯分布线性叠加而成。高斯混合模型公式的推导引入一个K维的二进制随机变量z,其中只有一个元素zkz_k为1,其他元素都为0。因此zkz_k的值满足zk∈0,1z_k\in{0,1}并且∑kzk=1\sum_k z_k=1。通过哪个元素不为0,可以看出向量z有K种

2015-11-22 20:52:47 1951

原创 EM算法推导

忘了用了几天的时间来学习EM算法、GMM,学习老师的语音识别程序,先看老师的PPT(简单介绍EM算法和GMM,MFCC的步骤),源代码(刚开始看的时候完全不懂),然后在网上搜索了MFCC方法,通过博客和别人的文档学习GMM,EM算法,又去看了PRLM这本书的第九章(关于GMM和EM的),现在感觉还是似懂非懂,主要是推到过程不清楚加上没有程序实现。可能是我的学习方法有问题。可以和同学多交流,向别人请教

2015-11-22 15:37:23 2023

原创 【opencv】cvmat、IplImage、Mat之间的转换

CvMat、IplImage转换为Matopencv3.0中 Mat(CvMat *M,bool copydata=false)这个构造函数已经不再使用,而有函数:Mat cvarrToMat(const CvArr *arr, bool copyData=false, int coiMode=0, )Cvarr可以是CvMa

2015-11-08 22:00:23 533

原创 【MFC】利用CvvImage类在MFC控件中显示图片

利用opencv以前的CvvImage类可以很方便地在MFC图片控件中显示图片,但在opencv2.2及以上版本中已经没有这个类,只要自己在工程中添加CvvImage.h和CvvImage.cpp文件即可,这两个文件在网上搜一下就可以找到。 具体的现实图片方法:IplImage *iplimage = cvLoadImage(mPath, 1); //加载图像CDC *pDC = GetDl

2015-11-08 21:22:46 1248

原创 扫描线法填充多边形

原理如下图所示多边形:简述直线y=1,2,3……8顺序扫描多边形,以直线y=3为例,它与多边形的边有4个交点,将这4个交点的x坐标保存下来,两两之间画线,也就是(A,B)(C,D)之间画线。对于每一个y都是两两之间画线。现在考虑直线y=2,它与多边形有3个交点,很显然是F,G之间画线,那么p1怎么处理呢?可以观察到p1是多边形边的一个端点,是两条边的交点,因此,可以选择将p1看

2015-10-20 19:30:52 3470

原创 线性鉴别分析LDA

学习了LDA算法,做个总结,如果有错误,还望指教!LDA的目标应用统计方法解决模式识别问题时,一再碰到的问题之一是维数问题。[1]LDA的目标即是通过投影从高维样本中抽取分类信息、降低维数,使投影后的样本有最大的类间距离和最小的类内距离。将d维样本变换为1维样本所用的方法:其中,w,x为n维列向量。如果||w||=1,则每个yn就是想对应的xn到方向为w的直线上的投影。

2015-10-07 21:19:05 750

原创 字典学习方法—K-SVD

三天学习了K-SVD方法,做个小结,但自己理解不是特别透彻,主要为对文献的翻译,一起学习吧。 由于编辑器使用起来太费时间,我直接上word里的截图了。 下面附上从csdn下载的K-SVD代码,里面的OMP函数是需要自己实现的。 http://pan.baidu.com/s/11BiUE上截图是不是太奇葩了,可CSDN这个编辑器我真的用不习惯,想和大家交流学习,如果能导入word文档了就好了。

2015-10-03 14:49:51 1926 1

原创 Java设置环境变量

成功安装JDK后,我使用的是是默认路径   C:\Program Files\Java\jdk1.8.0_60需要设置的环境变量包括三个:JAVA_HOME、Path、CLASSPATH1、(以win8为例)右击计算机,选择“属性”,选择左侧的“高级系统设置”,在弹出的对话框中选择“高级”选项卡;2、在“系统变量”中新建变量"JAVA_HOME",变量值为JDK的路径,我的

2015-10-03 09:18:12 589

空空如也

空空如也

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

TA关注的人

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