自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 笛卡尔坐标系统

笛卡尔坐标系统1. 1D数学数字体系和计数概念:自然数,整数,有理数,实数。其实在实际编程中short,int,float,double数据类型都是离散的,选择度量单位的关键是选择离散的精度。如何选择精度,参考计算机图形学第一准则。计算机图形学第一准则:近似原则,如果看上去是对的它就是对的。2. 2D笛卡尔数学2D笛卡尔坐标系由原点(坐标轴的中心)和两条过原点且相互垂直的轴组成。在2D笛卡尔坐标系...

2018-04-21 01:09:40 1831

原创 优化算法-遗传算法

优化算法-遗传算法 主要参考了集体智慧编程一书之前已经实现过优化算法中的爬山法和模拟退火法,现在我们讨论一下另一种受自然科学启发的算法:遗传算法。借鉴生物进化论,遗传算法将要解决的问题模拟成一个生物进化的过程,通过复制、交叉、突变等操作产生下一代的解,并逐步淘汰掉适应度函数值低的解,留下适应度函数值高的解。这样进化N代后就很有可能会进化出适应度函数值很高的个体。遗传算法流程1.首先我们要初始化

2017-04-22 18:12:10 794

原创 优化算法-爬山法和模拟退火

优化算法-爬山法和模拟退火1.随机搜索算法随机搜索不是一种好的算法,但是它是爬山法和模拟退火的基础,可以帮 助我们理解爬山法和模拟退火法。现在简单介绍一下随机搜索算法,随机 确定许多个解,然后选择使目标函数最小的那个解,当然这个算法的结果 不是非常好,其效果和随机确定的解的个数也有关系,后面实现的python 算法就是随机确定1000个解。2.爬山法引出模拟退火先简单介绍一下爬山法,爬山发是

2017-04-22 11:21:56 4466

原创 Numpy学习笔记之随机数生成

Numpy学习笔记之随机数生成之前一直使用numpy.random模块来生成随机数,现在我们来介绍一下这个模块。我在上面的笔记中使用的是numpy.random.randn()函数,通过下面列表可知,此函数产生的是均值为0,标准差为1的正态分布的样本值。不知道具体参数可以help函数一下。然后就可以根据help的输出来设置自己想要的参数:下面是numpy.ran

2017-04-18 21:40:19 580

原创 Numpy学习笔记之线性代数

Numpy学习笔记之线性代数线性代数(如矩阵乘法、矩阵分解、行列式等等)是任何数组库的重要组成部分,ndarray对象有一个dot的数组方法(同时也是一个numpy函数),可以用来计算矩阵的点乘,还有一个T的数组属性,可以返回数组矩阵的转置。numpy.linalg模块中有一组标准的矩阵运算的方法。下面是numpy.linalg模块中常用的函数列表:

2017-04-18 21:37:51 569

原创 Numpy学习笔记之利用数组处理数据

Numpy学习笔记之利用数组处理数据使用Numpy数组的数组表达式可以代替循环的做法,通常被称为矢量化。1.将条件逻辑表述为逻辑运算numpy.where是三元表达式x if condition else y的矢量化版本。其参数形式为numpy.where(condition, x, y),且numpy.where表达式处理速度更快,且可以作用于多维数组。numpy.where

2017-04-16 14:35:50 565

原创 Numpy学习笔记之ndarray通用函数

Numpy学习笔记之ndarray通用函数Numpy中的通用函数(ufunc)是一种针对ndarray对象执行元素集运算的函数。同时也可以看成一种矢量级的运算。ufunc中有接受一个数组参数的称为一元ufunc,而接受两个数组参数的则称为二元ufunc。下表列出了一些一元和二元ufunc:下面表来源于《利用python进行数据分析》一书的P99-P100

2017-04-15 22:54:01 1046

原创 Numpy学习笔记之ndarray的索引和切片

Numpy学习笔记之ndarray的索引和切片1. 基本索引和切片一维数组和python列表结构差不多,基本索引和切片得到的结果都是原始数组的视图,修改视图也会修改原始数组。若想得到副本而非视图,就需要进行显式的复制操作,例如arr[5:8].copy()。再来看一下二维数组的基本索引和切片:重要的事情再说一遍:基本索引和切片返回的均为视图。2. 布

2017-04-14 13:58:16 7209

原创 Numpy学习笔记之ndarray对象

Numpy学习笔记之ndarray对象参考书籍:《利用Python进行数据分析》ndarray是一个N维数组对象1.创建ndarray对象list方法创建:使用array函数,它接受一切序列型对象(列表、元组、数组或其他序列类型),以列表为例:嵌套序列会被转换成一个多维数组,下面是一些ndarray数据类型的基本属性:除了np.array之外

2017-04-13 22:54:28 764

原创 KNN-KD树

KNN-KD树学习笔记之前已经介绍过KNN的算法了,回顾一下KNN的算法核心思想:KNN算法是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的k个实例,这k个实例的多数属于某个类,就把该输入实例分类到这个类中。实现kNN算法时,主要考虑的问题是如何对训练数据进行快速k近邻搜索,这点在特征空间的维数大以及训练数据容量大时尤其重要。简单的KNN算法需要遍历整个训练数据集来求解距离,

2017-04-08 21:32:24 675

原创 KNN-用于回归的python实现

KNN-用于回归的python实现之前实现过用于分类的KNN算法,现在实现用于回归的KNN算法,前面计算预测样本与训练集中样本的距离的步骤不变,后面同样是选取训练集中样本最近的k个点,但是输出的结果变为最近的k个训练样本的标签值的平均。使用最近的k个训练样本的标签值的平均作为预测样本的预测值。# encoing:utf-8import numpy as npimport pandas as pd

2017-04-08 13:36:23 2990

原创 KNN-K邻近算法

KNN-K邻近算法学习笔记(一)kNN算法又称为k最近邻分类算法,是一种监督学习类方法,并且kNN算法不需要预先训练,也就是说kNN算法只有测试过程,没有训练过程。所谓的k最近邻,就是指最接近的k个邻居(数据),核心思想是:在一个含未知样本的空间,可以根据离这个样本最邻近的k个样本的数据类型来确定样本的数据类型。你可以简单的理解为由那离自己最近的K个点来投票决定待分类数据归为哪一类。该算法涉及3个主

2017-04-07 23:26:38 636

原创 聚类分析学习笔记(三)

聚类分析学习笔记(三) 此笔记参考了数据挖掘导论、周志华的机器学习以及机器学习实战三本书4.二分K-means算法4.1 基本概念二分K-means算法是对K-means算法的一种改进,它基于一种简单的思想:为了得到k个簇,将所有点的集合分裂成两个簇,从这些簇中选取一个继续分裂,如此下去,直到产生k个簇。度量聚类质量的目标函数:误差的平方和SSE,即计算每个样本到所在簇的质心的距离的平方和,S

2017-04-06 00:44:58 444

原创 聚类分析学习笔记(二)

聚类分析学习笔记(二) 此笔记参考了数据挖掘导论、周志华的机器学习以及机器学习实战三本书3.基于密度的聚类3.1 基本概念簇是对象的稠密区域,被低密度环绕,此类算法假设聚类结构能通过样本分布的紧凑程度确定。当簇不规则或互相盘绕,并且有噪声和离群点时,常常使用基于密度的簇定义。通常情况下,密度聚类算法从样本密度来考察样本之间的可连接性,再基于样本之间的可连接性不断扩展簇最后得到聚类结果。(1)ε

2017-04-04 16:29:48 732

原创 聚类分析学习笔记(一)

聚类分析学习笔记(一) 此笔记参考了数据挖掘导论、周志华的机器学习以及机器学习实战三本书1.概要聚类分析的作用是根据在数据中发现的描述对象及其关系的信息,将数据分组(簇)。组内的对象相互之间是相似的(相关的),而不同组中的对象是不同的(不相关的)。组内的相似性越大,组间的差别越大,则聚类就越好。因为聚类分析是无标记学习,所以是一种非监督学习。聚类分好几种类型,本文中主要涉及基于原型的聚类,基于

2017-04-04 13:06:27 1158

原创 FP增长树学习笔记

FP增长树学习笔记 此笔记参考书籍为数据挖掘导论1.FP树表示法FP树是一种输入数据的压缩表示,它将每个事务映射到FP树的一条路径来构造。不同的事物可能会有若干个相同的子项,因此它们的路径可能重叠,路径相互重叠越多,FP树的压缩效果越好。FP树仅有一个根节点,用null标记。FP树有一个重要组成结构-头表,头表保存了所有的频繁项目,并且按照频率的降序排列,表中的每个项目包含一个节点链表,指向树

2017-03-30 22:36:10 4998 2

原创 Apriori算法学习笔记(三)

Apriori算法学习笔记(三)Apriori算法的Python实现from __future__ import print_functionimport pandas as pd# 频繁规则的产生# 用于实现L_{k-1}到C_k的连接def find_freq_set(x, ms): x = list(map(lambda i: sorted(i.split(ms)), x))

2017-03-29 20:55:15 868

原创 时间序列模型学习笔记(二)

时间序列模型学习笔记(二)3.非平稳时间序列3.1 非平稳时间序列的差分变换非平稳时间序列可以建立的模型有ARIMA以及残差自回归模型等等,这里主要讨论ARIMA。差分运算:相距k期的两个序列之间的减法称为k阶差分运算。对于非平稳时间序列,我们可以通过相应的变换将其变为平稳序列。差分是一个主要的手段,一个线性趋势的非平稳序列可以使用d阶差分运算,化为平稳时间序列,而一个指数趋势的非平稳序列可以先

2017-03-29 20:51:18 8412 1

原创 时间序列模型学习笔记(一)

时间序列模型学习笔记(一)1.时间序列的预处理时间序列的预处理是对一个观察值序列的纯随机性和平稳性进行检验,根据检验结果可以将此序列分为不同的类型,纯随机序列也称为白噪声序列,是没有任何信息可以提取的平稳随机序列。通过预处理将序列分成不同类型之后我们就可以根据各种序列类型的特点使用不同的模型建模,常见的平稳时间序列建模模型为ARMA(可以分为AR、MA和ARMA三类),此模型是使用线性模型来拟合平稳

2017-03-28 22:58:41 4451 1

原创 Apriori算法学习笔记(二)

Apriori算法学习笔记(二)1. 基于置信度的剪枝将频繁项集Y划分成两个非空子集X和Y-X,使得X->Y-X满足置信度阈值。此时项集X和项集Y-X已经满足支持度阈值,因为它们是Y的子集且Y为频繁项集。 与频繁项集的产生相似,规则的产生也有两个重要的定理: 1. 如果规则X->Y-X不满足置信度阈值,若X’是X的子集,则X’->Y-X’的规则也不满足置信度阈值。 2. 如果规则X->Y-

2017-03-25 11:22:06 1167 4

原创 Apriori算法学习笔记(一)

Apriori算法读书笔记(一)1.简介Apriori算法是第一个关联规则挖掘算法,使用了基于支持度的剪枝技术,系统的控制候选选项的指数增长。其核心思想是通过连接产生候选项与其支持度,然后通过剪枝生成频繁项集。1.依据支持度从项集中找出所有频繁项集2.依据置信度从频繁项集中产生强关联规则2.基本概念(1)支持度和置信度项集A、B同时发生的概率称为关联规则的支持度(也成为相对支持度): Su

2017-03-23 00:21:18 2263 1

空空如也

空空如也

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

TA关注的人

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