随笔分类 -  机器学习

分类器以及归一化
摘要:分类器的本质是什么?其实就是根据近邻算法来判断是否属于同一个区域范围; 近邻算法的本质是什么?是距离,距离分两种,一种是曼哈顿距离,一阶算法;另外一种是欧式距离,二阶算法; 距离怎么判断?对于监督学习,已经知道了几种分类,那么针对这些分类,距离那个分类(样本)近,就是什么分类。 所以推演到这里离,分类器计算本质其实就是根据特征来计算和已知分类样本的距离,距离那个分类样本更近,就是什么分类。 那么物... 阅读全文

posted @ 2018-12-22 13:43 张叫兽的技术研究院 阅读(651) 评论(0) 推荐(0)

主成分分析乱谈
摘要:首先要明白主成分并不是指原始的学习数据;其实所有的模型经过fit(X)之后获取的是模型;不要设想学习之后,可以通过模型来获得学习数据,这是没有意义的。 其次要明白成分(components)的概念,是指数据投影(projection)到低维的向量,其实在空间中一个数据模型是可以有多个投影的,但是每个投影的变化程度是不一样的,这个变化程度用下面的公式来计算,sigma是协方差矩阵的意思,数据变化的主... 阅读全文

posted @ 2018-11-11 21:45 张叫兽的技术研究院 阅读(169) 评论(0) 推荐(0)

期望,方差,均值以及均方差
摘要:一组数求期望(均值),不是对每个数求均值,而是第一轮是将元素以及重复次数整理出来, 二轮才是将求元素的均值: 如上,可以看到mean的值和arr.mean是一致的。重复的元素其实只是会计算一次。概率中的讲的元素也是特征元素(重复的元素只算一个特征元素);这是按照概率定义那种方式来计算(元素*概率再求 阅读全文

posted @ 2018-11-11 21:29 张叫兽的技术研究院 阅读(5334) 评论(0) 推荐(0)

PCA原理解释(二)
摘要:PCA在做数据处理,一般会有一个数据预处理,其中一个目标就是将取数据特征向相关性。 为什么要去特征的相关性? 因为数据如果有相关性,在学习的时候是冗余的,徒增学习成本;所以对于数据处理(也称之为白化,英文有的时候称之为sphering),白化的目的:1.实现特征之间的相关性较低;2.所有的特征具有相同的方差。 怎么去特征相关性,就是让他们的协方差为0,协方差,顾名思义,就是两组变... 阅读全文

posted @ 2018-11-11 21:19 张叫兽的技术研究院 阅读(625) 评论(0) 推荐(0)

PCA原理解释
摘要:上图讲述的两组数据,可以看到左图的数据离散度比较大,相关性比较弱,右图数据的相关性比较强;我们在使用PCA的时候,就是要将相关性强的数据进行降维,以减少处理的数据量。 那么怎么描述数据的相关性呢?使用期望,协方差以及相关系数:下面分别是左图和右图的数字特征: 其实其关键性做得是R,R说明了点间的相关性,但是想要知道R你必须要知道Sigma(X),想要知道Sig... 阅读全文

posted @ 2018-11-11 21:17 张叫兽的技术研究院 阅读(1532) 评论(0) 推荐(0)

关于范数
摘要:python里面是numpy.linalg.norm(X, ord=...., axis=...) norm的涵义是距离;具体的数学含义就是把元素进行某种运算的结果; 距离有几种计算方式: L1:数学含义就是x的绝对值之和,很多时候用于降维; 又称之为曼哈顿距离;如果X是一维数组,求得值是数组中数据累加。 array=np.array([1,2,2]) print(np.linalg.nor... 阅读全文

posted @ 2018-11-03 21:21 张叫兽的技术研究院 阅读(270) 评论(0) 推荐(0)

关于Bagging
摘要:Bagging分为两种:Bagging和Pasting,前者是概率中的放回随机采样,后者是不放回随机采样;默认是放回采样随机;设置bootstrap=False即设置为不放回采样;默认bootstrap=True是放回采样。 对于Bagging(放回采样)有了一个问题,就是总有约37%的样本将不会被任何一个分类器抽中;37%的计算公式如下: oob(out of bag),就是使... 阅读全文

posted @ 2018-10-28 11:48 张叫兽的技术研究院 阅读(597) 评论(0) 推荐(0)

关于等高线绘制和全平面坐标节点生成
摘要:要明白机器学习画图的一个思路,就是全局生成坐标节点,然后让模型进行学习,这样可以得到一个全局的效果图(比如等高线),然后再把指定的数据扔到模型中让其学习,获取分类,然后再把这些局部点绘制出来,和整体的效果图进行比较,将会发现非常吻合。 输出内容: 阅读全文

posted @ 2018-10-21 19:50 张叫兽的技术研究院 阅读(650) 评论(0) 推荐(0)

怎么理解Python画图中的X,y
摘要:X_outliers=np.array([[3.4, 1.3], [3.2, 0.8]]) y_outliers=np.array([0, 0]) 要明白X,y不再是我们高中时候学的x,y轴的坐标;首先X,y都是数组概念,代表多个值;其次之前的坐标概念都在X对象里面;y值代表的描述数据另外一个维度: 阅读全文

posted @ 2018-10-14 19:54 张叫兽的技术研究院 阅读(2265) 评论(0) 推荐(0)

Python画图代码
摘要:1 X1D=np.linspace(-4, 4, 9).reshape(-1,1) 2 X2D=np.c_[X1D, X1D**2] 3 y = np.array([0, 0, 1, 1, 1, 1, 1, 0, 0]) 4 5 plt.figure(figsize=(11, 4)) #这个范围是怎么知道的?经验值 6 pprint(np.zeros(4)) 7 plt.subp... 阅读全文

posted @ 2018-10-14 19:50 张叫兽的技术研究院 阅读(12711) 评论(0) 推荐(0)

关于meshgrid和numpy.c_以及numpy.r_
摘要:meshgrid的目的是生成两套行列数一致的矩阵,其中一个是行重复,一个是列复制;可以这么来理解,通过ravel()将矩阵数据拉平之后,就可以将这两套矩阵累加在一起,形成一个两行数据,要达到这个效果是需要行列相同,这样就能够理解meshgrid行为了。 比如下面的数据,是原始的两个数组: t01: 阅读全文

posted @ 2018-10-14 19:31 张叫兽的技术研究院 阅读(912) 评论(0) 推荐(0)

Reshape以及向量机分类学习和等高线绘制代码
摘要:首先科普一下python里面对于数组的处理,就是如果获取数组大小,以及数组元素数量,这个概念是不一样的,就是一个size和len处理不用。老规矩,上代码: >>8 >>8 貌似两者没啥区别,但是真的是这样吗? Code: >>8 >>1 在多维数组中,size代表的是所有的最小单元的总和,len则是 阅读全文

posted @ 2018-10-14 18:16 张叫兽的技术研究院 阅读(1082) 评论(0) 推荐(0)

Python中的数组和list
摘要:Python的X[y==1, 0] 最近研究逻辑回归,Iris花的经典示例,代码就不全粘贴了,具体代码参看“Iris花逻辑回归与实现” X[y==0, 0]中的y==0是个什么东东,为什么可以占据X的第一个位置? 首先我们看一下X是个什么? Output: X是一个数组,数组的元素是一个二元组。在解 阅读全文

posted @ 2018-10-07 20:52 张叫兽的技术研究院 阅读(6321) 评论(0) 推荐(0)

数据预处理之归一化和标准化
摘要:对于数据的预处理分在思想上称之为归一化以及标准化(normalization)。 首先将归一化/ 标准化,就是将数据缩放(映射)到一个范围内,比如[0,1],[-1,1],还有在图形处理中将颜色处理为[0,255];归一化的好处就是不同纬度的数据在相近的取值范围内,这样在进行梯度下降这样的算法的时候,曲线将会更加简单(由原始的椭圆变成了圆形),如下图所示: 至于缩放的原理就是量纲代表,比如身... 阅读全文

posted @ 2018-10-07 19:14 张叫兽的技术研究院 阅读(3373) 评论(0) 推荐(0)

关于透视图和等高线
摘要:透视图,这个概念是在看splunk的时候接触到的,想到之前在做Excel项目的时候也接触过,那个时候叫透析图;另外一个最近困扰我的概念是等高线;最近在做分类Demo的时候碰到了matplotlib库中的contour,翻译就是等高线;这是一个什么概念? 下去去了一趟天安云谷的图书馆,本意是还书,外加 阅读全文

posted @ 2018-10-07 19:08 张叫兽的技术研究院 阅读(581) 评论(0) 推荐(0)

Iris花逻辑回归与实现
摘要:Iris花的分类是经典的逻辑回归的代表;但是其代码中包含了大量的python库的核心处理模式,这篇文章就是剖析python代码的文章。 关于数据等高线的示例demo: Numpy.c_示例 >>> np.c_[np.array([1,2,3]), np.array([4,5,6])] array([ 阅读全文

posted @ 2018-10-06 13:32 张叫兽的技术研究院 阅读(990) 评论(0) 推荐(0)

Iris分类以及数组reshape想到的
摘要:最近在研究Iris花的逻辑回归分类中看到了如下的代码: from sklearn.linear_model import LogisticRegression X = iris["data"][:, 3:] y=(iris["target"]==2).astype(np.int) log_reg = LogisticRegression() log_reg.fit(X, y) X_new=... 阅读全文

posted @ 2018-10-03 23:24 张叫兽的技术研究院 阅读(624) 评论(0) 推荐(0)

关于plot画图的原理
摘要:首先是导入的: Import matplotlib.pyplot as plt 这份导入要背住,没事就是需要你进行导入的; 然后就是画图了,下面举一个例子: import numpy as np import matplotlib.pyplot as plt t = np.linspace(-10, 10, 100) plt.figure(figsize=(9,3)) sig = 1 / (1... 阅读全文

posted @ 2018-10-03 15:24 张叫兽的技术研究院 阅读(1526) 评论(0) 推荐(0)

Python的rand vs randn以及linspace
摘要:Numpy里面的randn是满足了整体分布的,normal distribution(正态分布);rand则是满足了Uniform Distribution(均匀分布); Linspace(start, end, numercount):start:开始数,end:结束数,numbercount:均分开始数和结束数。Endpoint,是一个布尔值,true代表范围是包含最后一个数(end,相当于数... 阅读全文

posted @ 2018-10-03 15:11 张叫兽的技术研究院 阅读(902) 评论(0) 推荐(0)

关于fit和transform
摘要:Fit是对于数据进行拟合,所谓拟合,就是根据数据,计算获得数据里面的一些指标,比如均值,方差;下一步很多API都是需要这些参数来进行后续对数据的操作,比如下面要讲到的transform。 Transform,对于数据进行变形;常见的变形是标准化和归一化。标准化是需要均值和方差的,标准化本质上将数据进 阅读全文

posted @ 2018-09-30 13:15 张叫兽的技术研究院 阅读(1206) 评论(0) 推荐(0)

导航