- 博客(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 109188 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 55296 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 667
原创 【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 3511
原创 机器学习实战之决策树
理论基础:信息论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 379
原创 机器学习实战之KMean
KMeans算法步骤: 1. 确定聚类个数k 2. 随机选择k个质心 3. 对于所有样本点: 根据样本点到质心的距离分类 4. 分类完成后,如果所有样本点的类别没有变化,算法结束 如果有变化,重新计算质心(当前类中样本的平均值),回到步骤3几个问题: 1. 聚类个数k的确定 2. 初始时质心的选取 3. 容易出现局部最优解考虑在多维空间中将数据点分组/聚类的问题。假设有一个数
2016-08-25 15:23:58 744
原创 机器学习实战之CART
理论CART(Classification and Regression Tree)是决策树的一种。 决策树是每次以某个属性为准,将数据集划分为几个类,最终数据集中的元素都被划分到相应的类中。典型的决策树算法是ID3。ID3与CART不同之处:ID3生成的决策树是n叉树,CART是二叉树;两种算法在每次迭代时都需要寻找最优的划分属性,不同的是,ID3用来度量划分是否为优的准则是:信息增益(Info
2016-08-25 15:23:31 1170
原创 关联分析之Apriori学习笔记
关联分析(Association analysis)简介大量数据中隐藏的关系可以以‘关联规则’和‘频繁项集’的形式表示。rules:{Diapers}–>{Beer}说明两者之间有很强的关系,购买Diapers的消费者通常会购买Beer。 除了应用在市场篮子数据(market basket data)中,关联分析(association analysis)也可以应用在其他领域像bioinfomat
2016-08-25 15:21:25 6090 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 605
原创 机器学习推导—算法SVM
由于在为知笔记里使用markdown+LaTex写的笔记,直接复制到CSDN里不能显示图片,公式渲染不正确。所以我只能导出成图片上传上来,但导出的图片有一些断层,不影响正常阅读。心塞塞。 想自己搭一个支持为知笔记导出的博客,但又嫌太耗费精力。哪位朋友有较好的解决方法,请联系我!
2016-08-25 15:11:51 706
原创 mrjob运行runner参数
本地测试在本地测试作业python your_mrjob_sub_class.py <log_file >output 此脚本会使用InlineMRJobRunner自动调用自身运行各个步骤。如果要更接近Hadoop,可以使用--runner=local,这个参数不会将你当前的工作目录加到PYTHONPATH,而是设置一些Hadoop环境变量,使用多个子处理器来处理任务。 也可以使用参数--ma
2016-08-25 15:02:34 2211 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 1324
原创 AdaBoost
adaboost简介adaboost算法是将一系列弱分类器组合成一个强分类器的算法。所谓弱分类器是指识别错误率小于1/2,即准确率仅比随机猜测略高的学习算法。强分类器是指识别准确率很高并能在多项式时间内完成的学习算法。1 Adaboost算法依次训练弱分类器,赋予错误率低的分类器高权值,错误率高的分类器低权值,使得准确性高的分类器获得更高的‘话语权’,从而构造出一个强分类器。 可以想到,Adab
2016-08-25 14:55:12 2363
原创 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 11345 1
原创 华为交换机STP的配置
什么是STPSTP(Spanning Tree Protocol)生成树协议。 冗余链路当前的交换机为了防止单点故障导致的整个业务中断,常采用冗余链路来实现备份。也就是说如果交换机之间用一条链路互连,那么一旦一条链路出了问题,将会导致整个网络的瘫痪,为了防止这种情况,交换机之间用多条链路互连,当一条链路故障时,还可以通过其他链路发送数据帧(是不是和电路交换/分组交换类似之间的区别类似)。 冗余
2015-12-08 21:24:56 24767
原创 两种动态路由的简单配置
RIP配置 拓扑图 路由器RA、RB、RC、RD分别使用了两个物理接口,一个逻辑接口,ip的配置如图所示。 在每个路由器上的配置步骤: 1:配置3个接口的ip地址(两个物理接口和一个逻辑接口)注意:这一步完成后,最好ping一下直连的接口,检查接口状态时up还是down,另外可以检查自己有没有写错ip 2:在每一个路由器上配置RIP,告知此路由器的每一个 网络号(也就是把自己可到达的网
2015-12-08 21:23:38 1514 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 41448 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 887
原创 华为路由器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 15177 4
原创 【C++】指针数组和数组指针/链表的构建和排序
在上一篇计算机图形学/扫描线填充算法中,由于每一条扫描线要对应一个链表,所以使用到了指针数组,在对活性边表排序时涉及到链表的排序,这些知识都忘了,现在捡起来。指针数组用于存储指针的数组,也就是每个元素都是指针。 int * a[5]; //数组中有四个指针 [ ]的优先级高于优先级,我认为可以看作int 是一种类型,定义一个int * 类型的数组,就是指针数组了。数组指针指向数组的指针,就是一
2015-12-01 14:33:38 2200
原创 【opencv】常用函数(总结自人脸识别MFC程序)
以下OpenCV函数总结自OpenCV+MFC的人脸识别程序简单图像处理函数resize()介绍在我的人脸识别程序中,使用这个函数来对图像进行标准化,每幅图像标准化为200*200大小。void cv::resize(InputArray src, OutputArray dst, double fx=0,
2015-11-23 11:12:59 1941
原创 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 1989
原创 EM算法推导
忘了用了几天的时间来学习EM算法、GMM,学习老师的语音识别程序,先看老师的PPT(简单介绍EM算法和GMM,MFCC的步骤),源代码(刚开始看的时候完全不懂),然后在网上搜索了MFCC方法,通过博客和别人的文档学习GMM,EM算法,又去看了PRLM这本书的第九章(关于GMM和EM的),现在感觉还是似懂非懂,主要是推到过程不清楚加上没有程序实现。可能是我的学习方法有问题。可以和同学多交流,向别人请教
2015-11-22 15:37:23 2076
原创 【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 561
原创 【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 1277
原创 扫描线法填充多边形
原理如下图所示多边形:简述直线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 3544
原创 线性鉴别分析LDA
学习了LDA算法,做个总结,如果有错误,还望指教!LDA的目标应用统计方法解决模式识别问题时,一再碰到的问题之一是维数问题。[1]LDA的目标即是通过投影从高维样本中抽取分类信息、降低维数,使投影后的样本有最大的类间距离和最小的类内距离。将d维样本变换为1维样本所用的方法:其中,w,x为n维列向量。如果||w||=1,则每个yn就是想对应的xn到方向为w的直线上的投影。
2015-10-07 21:19:05 769
原创 字典学习方法—K-SVD
三天学习了K-SVD方法,做个小结,但自己理解不是特别透彻,主要为对文献的翻译,一起学习吧。 由于编辑器使用起来太费时间,我直接上word里的截图了。 下面附上从csdn下载的K-SVD代码,里面的OMP函数是需要自己实现的。 http://pan.baidu.com/s/11BiUE上截图是不是太奇葩了,可CSDN这个编辑器我真的用不习惯,想和大家交流学习,如果能导入word文档了就好了。
2015-10-03 14:49:51 1983 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 604
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人