算法
文章平均质量分 94
随心1993
马尔克斯
昆德拉
海明威
展开
-
PCA的数学原理
声明:本文转自这里PCA(Principal Component Analysis)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。网上关于PCA的文章有很多,但是大多数只描述了PCA的分析过程,而没有讲述其中的原理。这篇文章的目的是介绍PCA的基本数学原理,帮助读者了解PCA的工作机制是什么。当然我并不打算把转载 2017-04-07 16:32:01 · 515 阅读 · 0 评论 -
python实现随机森林
定义:随机森林指的是利用多棵决策树对样本进行训练并预测的一种分类器。可回归可分类。 所以随机森林是基于多颗决策树的一种集成学习算法,常见的决策树算法主要有以下几种: 1. ID3:使用信息增益g(D,A)进行特征选择 2. C4.5:信息增益率 =g(D,A)/H(A) 3. CART:基尼系数 一个特征的信息增益(或信息增益率,或基尼系数)越大,表明特征对样本的熵的减少能力更...原创 2018-08-26 18:10:59 · 118364 阅读 · 34 评论 -
时间复杂度与空间复杂度
算法的 “时间复杂度” 和“空间复杂度”合称为算法的复杂度。时间复杂度时间复杂度的定义可以参考以下我列下的几篇博客。计算机科学家用于表示用于一个算法的效率或计算复杂度的一种表示法,叫作大O表示法(big-O notation)。“O”表示“on the order of(在……阶)”,这是对算法工作量的复杂度的级别的一种表示。例如,一个线性时间算法的阶是O(n)。大O表示法将我们队复杂...原创 2018-06-09 21:13:56 · 3924 阅读 · 0 评论 -
常见排序算法(附python代码)
1. 选择排序从待排序的数据元素(列表)中选出最小(或最大)的一个元素,存放在序列的起始位置,然后算法回到下一个位置重复这个过程,直到全部待排序的数据元素排完。def selectionSort(lyst): i = 0 while i < len(lyst) - 1: minIndex = i j = i+1 #...原创 2018-06-20 23:28:48 · 398 阅读 · 0 评论 -
混淆矩阵(confusion matrix)理解
在机器学习中,当我们使用预先分配好的训练集训练好一个模型后,此时我们会使用预先分配好的测试集来检测我们训练好的这个模型怎么样?评价模型好坏的指标有很多,具体可以参见我以前的一篇博客: 如何理解误识率(FAR)拒识率(FRR),TPR,FPR以及ROC曲线,很常见的一个指标便是ROC曲线,它是在不同阈值的前提下以fpr以横坐标、tpr为纵坐标的二维坐标图。当我们用测试集去测试模型好坏时,输出会是...原创 2018-04-21 22:12:20 · 24117 阅读 · 0 评论 -
数字图像处理中常用的插值方法
在做数字图像处理时,经常会碰到小数象素坐标的取值问题,这时就需要依据邻近象素的值来对该坐标进行插值。比如:做地图投影转换,对目标图像的一个象素进行坐标变换到源图像上对应的点时,变换出来的对应的坐标是一个小数,再比如做图像的几何校正,也会碰到同样的问题。以下是对常用的三种数字图像插值方法进行介绍。1. 最邻近元法这是最简单的一种插值方法,不需要计算,在待求象素的四邻象素中,将距离待求象素最近的邻象素转载 2017-07-23 16:04:59 · 1540 阅读 · 0 评论 -
如何理解误识率(FAR)拒识率(FRR),TPR,FPR以及ROC曲线
平时在做指纹、人脸识别时,会用到一些评价算法性能评价指标。常见的当属以下几种指标:误识率(FAR,false acceptance rate)拒识率(FRR,false rejection rate)ROC曲线(Receiver Operator characteristic Curve)其中误识率与拒识率的就算公式如下: 说白一些,假定在指纹匹配识别过程中: 误识率(FAR)是指在标准原创 2017-06-01 14:01:06 · 75831 阅读 · 11 评论 -
kNN分类原理以及python实现手写数字分类
kNN算法分类原理K最近邻(kNN,k-Nearest Neighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。kNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几个样本原创 2017-05-29 17:38:50 · 2118 阅读 · 0 评论 -
朴素贝叶斯分类原理及Python实现简单文本分类
贝叶斯定理: 这个定理解决了现实生活里经常遇到的问题:已知某条件概率,如何得到两个事件交换后的概率,也就是在已知P(A|B)的情况下如何求得P(B|A)。这里先解释什么是条件概率:表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生下事件A的条件概率。原创 2017-05-28 15:21:37 · 12041 阅读 · 3 评论 -
python实现ID3决策树分类算法
所有的分类与回归算法中心思想大致是一样的,那就是根据现有带标签的数据集训练一个分类器模型,然后对待未知的样本,根据训练好的分类模型来判定它属于哪个类。分类与回归的区别在我看来就是标签连续与否的区别,若标签连续,则是回归,若标签离散,则是分类。数据集中的每个样本的特征都是相同维度的,生活中我们常遇到的是根据某个样本少量的特征就可以确定这个样本属于哪个类,比如可以根据一个人的长相、身高、文凭、收入...原创 2018-08-25 22:31:49 · 33754 阅读 · 21 评论