- 博客(51)
- 收藏
- 关注
原创 TSVD截断奇异值分解
从某种程度上来说,PCA和SVD是一对表亲,PCA对特征的协方差矩阵进行分解,找到一堆特征的线性组合,尽可能多的表示出原始特征中成分,SVD则对原始数据直接进行奇异值分解,找到原始数据中尽可能大的特征值,以这些特征值多对应的特征向量作为新的特征。本文在这里介绍一种正则化办法——截断奇异值分解技术(TSVD)。对于线性方程组,进行奇异值分解,得到则方程原本的解可写成截取前p项
2017-05-13 11:32:38
13503
原创 利用pandas高维作图
多维变量双散点矩阵图弹簧图并行维度图from sklearn import datasetsimport pandasfrom pandas.tools.plotting import scatter_matrixfrom matplotlib import pyplot# 以下三个为多变量可视化from pandas.tools.plotting import
2017-05-13 10:40:31
3245
原创 pandas操作
pandas知识回顾iloc/ix切片列条件与与列的筛选读取csv、xlsx文件行的增加与删除列的增加与删除排序数据分组描述统计描述作图数据框合并#-*-encoding:utf-8-*-'''created by zwg in 2016-12-03'''import pandasimport numpyfrom pylab import mplfrom matplotl
2017-05-13 10:34:05
600
原创 集成方法(随机森林)
随机森林是集成方法中优势非常强的一种方法,它以决策树为基础学习器,每棵树独立建立,天然具有并行特性,相对于GradientBoosting和Bagging方法而言,它耗内存更大,速度也相对慢些,但能获得更稳定的结果,尤其是在与CV验证相结合时,泛化能力大大增强。决策树基本算法随机森林算法应用随机森林1、决策树基本算法(1)寻找最优化分节点的办法有信息增益量和
2017-05-07 10:58:28
1664
原创 流形学习
经典流形学习:1、MDS2、ISOMAP3、LLE4、SpecturalEmbeding6、SNE系列MDS是在降维后保持样本之间的相对距离不变,ISOMAP对MDS进行改进,讲相对距离改成了测地线距离(机除了领域点之外,其他的之间距离都为无穷大,再通过最小路径求得这些距离无穷大的点间距离),LLE与ISOMAP思想类似,不过LLE绕了一个弯,它构建出高维空间中的领域点间线
2017-05-06 10:21:53
1034
1
原创 PCA与KPCA
PCA是利用特征的协方差矩阵判断变量间的方差一致性,寻找出变量之间的最佳的线性组合,来代替特征,从而达到降维的目的,但从其定义和计算方式中就可以看出,这是一种线性降维的方法,如果特征之间的关系是非线性的,用线性关系去刻画他们就会显得低效,KPCA正是应此而生,KPCA利用核化的思想,将样本的空间映射到更高维度的空间,再利用这个更高的维度空间进行线性降维。如果样本的维度是k,样本个数是n(n>k
2017-04-30 13:49:35
9140
2
原创 TSNE动态可视化
这里将上一篇博客中的迭代数据保存下来,用matplotlib一次次更新数据,利用moviepy合成一个小视频,效果看上去有点酷酷的,因为mp4格式无法上传。。。。所以:生成视频链接:http://pan.baidu.com/s/1ge7BYXd# -*-encoding:utf-8-*-from sklearn import manifoldfrom sklearn import deco
2017-04-30 13:30:50
4144
2
原创 Python实现TSNE
TSNE的实现总体上并不复杂,麻烦的是其超高的浮点运算和大型矩阵的操控,在上一篇Largevis的算法中,TangJian大神很明显用的是MATLAB,我这里贴出Python版本的代码,和大家一起学习。代码分为几个模块1、计算高维空间分布P2、计算低维空间分布Q3、计算梯度4、主函数,进行迭代1、计算高维空间分布Pdef cal_matrix_P(X,neigh
2017-04-30 12:28:30
24034
5
原创 Largevis算法
Largevis是国内某博士在TSNE基础上加工得到的一种新型算法,其改进处在于用一种半并行的树搜索算法+低维空间中基于核距离的概率分布,并采用了大量的百万级以上数据作为例子,画出了非常炫酷的散点图,我只能说他的计算机太厉害了,SNE系列的算法一直都有一个最大的毛病,就是计算成本大,消耗内存,每次迭代都需要所有样本参与进行。在计算高维分布之前,邻域图的重建采用以下算法,就是多个点同时进
2017-04-30 10:55:54
4550
原创 SNE、TSNE
TSNE是由SNE衍生出的一种算法,SNE最早出现在2002年,它改变了MDS和ISOMAP中基于距离不变的思想,将高维映射到低维的同时,尽量保证相互之间的分布概率不变,SNE将高维和低维中的样本分布都看作高斯分布,而Tsne将低维中的坐标当做T分布,这样做的好处是为了让距离大的簇之间距离拉大,从而解决了拥挤问题。从SNE到TSNE之间,还有一个对称SNE,其对SNE有部分改进作用。S
2017-04-16 00:21:01
16876
原创 SVM人脸识别
SVM在中等维度的分类问题中,有较好的表现,其在某种程度上构建了一个简单的网络结构,类似于神经网络中的RBF神经网络。人脸数据集是经典的分类和聚类问题中经常使用的数据集,维度相对不高,灰度图像,这里选用64*64的人脸图像,将其reshape从1*64^2的一维数组,共40类样本,每组10个。通常在SVM解决较高维度问题时,需要将其适度降维,这里选用传统的线性降维方法PCA(KPCA同样适
2017-04-09 15:17:37
2934
转载 数据集资源
转载自:http://rensanning.iteye.com/blog/1601663海量数据数据集 海量数据(又称大数据)已经成为各大互联网企业面临的最大问题,如何处理海量数据,提供更好的解决方案,是目前相当热门的一个话题。类似MapReduce、 Hadoop等架构的普遍推广,大家都在构建自己的大数据处理,大数据分析平台。 相应之下,目前对于海量数据处理人才的需求也在不断增多
2017-04-09 11:32:01
614
原创 Python_51job爬虫
闲来无事,爬个51job的薪酬信息,哈哈,低质量工作,简单的列表模式,有没有什么反爬虫,连多进程都没用上,直接上代码。# -*-encoding:utf-8 -*-'''created by zwg in 2017-04-03'''import urllib2from bs4 import BeautifulSoupimport csvimport sysreload(sys
2017-04-09 11:17:41
1035
原创 Isomap
Isomap算法是在MDS算法的基础上衍生出的一种算法,MDS算法是保持降维后的样本间距离不变,Isomap算法引进了邻域图,样本只与其相邻的样本连接,他们之间的距离可直接计算,较远的点可通过最小路径算出距离,在此基础上进行降维保距。计算流程如下:设定邻域点个数,计算邻接距离矩阵,不在邻域之外的距离设为无穷大;求每对点之间的最小路径,将邻接矩阵矩阵转为最小路径矩阵;输入MDS算法,
2017-04-09 11:14:11
14529
6
原创 MDS算法
非常传统的降维的方法,以距离为标准,将高维坐标中的点投影到低维坐标中,保持彼此之间的相对距离变化最小,更新的方法是T-SNE,基于分布概率变化最小进行投影。假定原始高维数据样本的距离矩阵为D,则在低维下的距离矩阵为Z,我们可以用优化算法选取初始点,用梯度下降法求最佳逼近,使得||D-Z||最小,同时,也可以利用內积来求的低维映射。前者在样本较多时容易陷入局部最优,后者较稳定,但在样本不多时,效
2017-04-07 23:51:58
30831
7
原创 Oracle客户端安装
想要连接Oracle服务器必须安装Oracle客户端,Oracle客户端分两种,一种是免安装的,体积较小,直接解压后使用,一种是需要安装的,体积较大,500多MB,建议大家都用下面的百度云盘安装,装32位的,64位的不建议安装,因为和plsql不太兼容。下面分别进行简单介绍:1、免安装客户端instant-client(百度云盘地址:http://pan.baidu.com/s/1dF
2016-11-04 21:35:03
436
原创 html_Javascript制作简易计算器
easy calculator#tab{width:800px;height:400px;}#an{margin:0;padding:0;width:100%;height:120%;color:white;background-color:black;font-size:30px;}var show="";var real="";var second
2016-11-01 21:50:45
864
1
原创 Python_实现简单贝叶斯分类
import numpy#先生成原始数据n1=200;n2=40;m=4;h=6#n1代表总样品数,n2是测试样品数,m是种类数,h是特征数S1=numpy.zeros((200,7))#最后一列代表类别S1[0:30,0:6]=numpy.random.randn(30,6)S1[0:30,6]=1S1[30:60,0:6]=numpy.random.randn(30,6)
2016-11-01 21:45:46
625
原创 穿透肌肤
每个人身上都有很多毛孔,每个毛孔里面都藏着一个小东西。每个小东西都有很多自己的小秘密,每个小秘密都代表着一段故事。这些故事中,悲伤的叫往事,快乐的叫回忆,不痛不痒的只能叫内存。据不完全统计,我们每天要闭塞五十万个毛孔,同时又会生成二十万个新的毛孔,同时重新打开以前关闭的三十万个毛孔。数字当然是我瞎编的,但我可以确定,我今天清理了几百万的内存,又增加了几千万的回忆,毛孔已经完全不
2016-11-01 21:44:04
358
原创 Python_操作txt、xls、csv、PDF
读写TXT文件读写xls文件读写csv文件读写PDF文件#-*-coding:utf-8-*-'''created by zwg in 2016-10-22''''''txt、xlsx、csv、pdf文件读写操作'''################################一、txt文件操作(file和open几乎相同)# file=open('zwgoracl
2016-10-28 23:07:20
2696
原创 Python_正则表达式入门(实例讲解)
import re# compile #编译成正则# findall #寻找所有符合条件的字符,返回列表# match #开头匹配,返回最前面匹配到的内容,通过group调用# search #全局匹配,返回最前面匹配到的内容,通过group调用# split #用正则分割字符串,功能更强大,返回列表# sub #替换,返回替换后的字符# s
2016-10-27 23:46:00
502
原创 RBF的一维和二维逼近
RBF在函数逼近上有非常好的表现,这里给出了RBF在单自变量单因变量,以及二自变量单因变量的逼近方法,进行Python实现,多维问题的逼近同样很方便,只需增加相应的维度即可,只是需要更多的数据。一、原理(公式难写,如需具体文档可私信)假设有n个样本,每个样本有m个属性,设第i个样本Xi的第j个属性为aij,其对应的目标值为fi,那么可以构建逼近函数F=A*a,A为n*m阶的矩阵,a为m*1
2016-10-23 11:22:16
2863
1
原创 Python_sklearn_回归
所用模块:sklearn,numpy,time实现功能:(1)一般回归(2)岭回归(3)Lasso回归(4)lars回归(5)贝叶斯回归(6)ARD回归(7)RBF的逼近
2016-10-23 11:19:31
3252
原创 Python_百度图片以及百度贴吧图片抓取
一、百度图片抓取解决问题:爬虫下载的图片不能打开未解决问题:百度图片下拉翻页功能二。百度贴吧图片抓取
2016-10-23 10:57:09
2892
原创 Python_大众点评网站数据爬虫
目标:爬取大众点评某地区的酒店信息,包括酒店名,平均价格,评价人数,标签等,并将其写入txt,导入数据库。所用模块:urllib,urllib2,re,BeautifulSoup大致步骤:(1)获取页面所在首页url,及相应的headers;(2)页面解析,获取信息,写入txt,并尝试获取下一页的url,若得到,则以此更新url,继续(2),若找不到,则停止,进入(3);(
2016-10-22 13:25:25
4048
1
原创 Python_模拟登录(爬取教务系统信息并制作查询界面)
采用模块:(1)urllib,urllib2,cookielib,BeautifulSoup(2)wx,py2exe工作步骤:(1)解析网站原理,主要获取post数据、密码加密方式相关信息所在真实页面;(2)爬取所选课程信息与成绩;(3)利用wxpython制作界面,并生成exe;(4)发博客增加个人人气。1、网站解析(1)headers和post数据可
2016-10-22 13:10:37
5882
原创 Python实现二叉树
二叉树是数据结构中非常重要的一种数据结构,在用Python搭建决策树模型时,发现需要先实现多叉树,于是回过头来,看了遍二叉树,有了如下的成果。我先构建了这样一个节点型数据,他有这样几个属性和功能:(1)属性:名称,数据,左子节点,右子节点,父节点,子节点个数(度);(2)方法:添加子节点和删除子节点,并且其子节点个数随之变化,子节点的父节点变成该节点。我需要使我的二叉树有这样功能:
2016-10-16 14:16:26
7951
2
原创 美人
笑脸没有了,笑容还在空中荡漾。我喜欢坐美人的车,肆无忌惮,口无遮拦,看窗外的风景和车里的美人,美人开着车,你平时那些不敢做的举动现在都可以尽情施展,一只手搭在美人的腿上,另一只夹紧就要递进嘴里的烟头。落花无言,人落如菊。手机就在身边,一个号码就能解决所有思念,天渐渐暗下来,窗子里是很好的月亮。小姑娘,我小小的姑娘,我睡在粉红色花瓣上的姑娘,我淡如菊花的小姑娘,你想不想陪我出去走走呢。
2016-10-15 16:20:54
483
转载 有的鱼
有的鱼是永远关不住的,因为它们属于天空。我们既不是人,也不是神,我们是,其他人。所有活着的人类,都是海里一条巨大的鱼。出生的时候,他们从海的此岸出发,他们的生命,就像横越大海,有时相遇,有时分开,死的时候,他们便到了岸,各去各的世界。我记得他的样子,我不知道他的名字。我们对待生命,就像对待路边的石头。但是如果不快乐,活再久又有什么用。我会化作人间的风雨陪在你身边。生命是一场
2016-10-15 16:20:00
329
原创 Python_排序算法实现
这里用Python给出几种常用排序算法:插入排序依次找最小值排序冒泡排序Python列表内部排序(未知算法)希尔排序快速排序堆排序树排序注意:使用copy模块,注意深复制与浅复制的区别这里代码尚未经过优化,速度方面有待提高,建议使用Python内置排序函数# -*- coding: GBK -*-"""Created on Mon Oct 10 16:38:
2016-10-15 14:22:58
316
原创 Python_多元回归(一元回归)
所用模块:sklearn实现功能:1、多自变量多因变量的最小二乘线性回归、预测、作图;2、多自变量单因变量的最小二乘线性回归、预测、作图;3、单自变量单因变量的最小二乘线性回归、预测、作图。#-*-coding:utf-8-*-'''created by zwg in 2016-10-5''''''最小二乘多项式拟合'''import numpyfrom
2016-10-15 09:35:01
6076
原创 最速下降法和牛顿方法的Python实现和MATLAB实现
算法来源:《数值最优化方法~高立》算法目的:实现函数的局部最优化寻找,以二元函数为例,展示了最速下降法和牛顿寻优的算法过程主要Python模块:numpy,sympy(1)Python实现(2)MATLAB实现(3)比较
2016-10-02 19:35:10
23370
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人