自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 爬虫基本原理

爬虫的初步了解爬虫爬取网页数据的过程网页三大特征爬虫的设计思路爬虫基本流程反爬虫机制与对策he如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入爬虫爬取网页数据的过程网页三大特征网页都有自己唯一的URL(统一资源定位符)来进行定位;网页都是使用HTML(超文本标记语言)来描述页面信息;网页都使用

2020-05-09 19:30:38 453

原创 TCP/IP协议

协议的必要性:简单来说,协议就是计算机之间通过网络实现通信时事先达成的一种“约定”;这种“约定”使那些由不同厂商的设备,不同CPU及不同操作系统组成的计算机之间,只要遵循相同的协议就可以实现通信。OSI七层模型OSI七层模型对应TCP/IP四层协议及其具体协议名对比相关协议的解释TCP协议传输控制协议(TCP,Transmission Control Pr...

2020-04-10 23:12:58 256

原创 python之进程、线程

多任务:同时做多件事件(做个多个任务),运行多个方法进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。进程池为什么要用进程池?减少了创建、销毁进程的次...

2020-04-10 16:55:19 169

原创 python生成器

生成器的优点:(1)延迟计算,一次返回一个结果。生成器不会一次生成所有的结果,而是一边循环一边计算,这对于大数据量处理,是个非常有用的优势。因为在编程的实际应用中,占用内存量是工程师必须考虑的一个问题。(2)有效提高代码可读性。使用生成器以后,代码行数更少。我们知道我们可以用列表储存数据,列表所有数据都在内存中,如果有海量数据的话将会非常耗内存。如:仅仅需要访问前面几个元素,那后面...

2020-04-09 23:01:31 110

原创 python之闭包、装饰器

什么叫闭包?在一个函数的内部定义了另一个函数,外部的我们叫他外函数,内部的我们叫他内函数。在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用。这样就构成了一个闭包。一般情况下,在我们认知当中,如果一个函数结束,函数的内部所有东西都会释放掉,还给内存,局部变量都会消失。但是闭包是一种特殊情况,如果外函数在结束的时候发现有自己的临时变量将来...

2020-04-09 22:02:21 88

原创 Linux常用命令总结(一)

Linux命令格式:command [-options] [parameter1] ... 命令 选项 参数ls 默认当前路径里面文件ls 路径 该路径下的文件ls -a 显示指定目录下所有子目录与文件 包含隐藏文件ls -l 以列表方式显示文件的详细信息ls -h 配合 -l 以人性化方式显示文件大小ls -alh...

2020-04-08 14:18:05 135

转载 梯度下降算法

梯度下降算法概念梯度下降的基本过程就和下山的场景很类似。首先,我们有一个可微分的函数。这个函数就代表着一座山。我们的目标就是找到这个函数的最小值,也就是山底。根据之前的场景假设,最快的下山的方式就是找到当前位置最陡峭的方向,然后沿着此方向向下走,对应到函数中,就是找到给定点的梯度 ,然后朝着梯度相反的方向,就能让函数值下降的最快!因为梯度的方向就是函数之变化最快的方向(在后面会详细解释)...

2020-03-31 17:30:30 263

原创 模型评估的重要指标

模型的测试一般在以下几个方面进行比较,即模型的重要评价指标,分别是 准确率/召回率/精准率/F值/ROC曲线/AUC曲线接下来针对模型的评价指标进行相关的阐述。在介绍各项指标之前先简单介绍下混淆矩阵真正例(TP):实际上是正例的数据点被标记为正例假正例(FP):实际上是反例的数据点被标记为正例真反例(TN):实际上是反例的数据点被标记为反例假反例(FN):实际上是正例的...

2020-03-29 20:51:05 548

原创 机器学习之交叉验证法

交叉验证的定义顾名思义,把得到的数据进行切分,一部分为训练集,剩下的为测试集,训练集用来训练模型,测试集来评估模型的好坏。由于可以重复使用数据进行改变数据集中训练集和测试集的百分比进行训练,得到多组不同的训练集测试集,因此训练集和测试集的数据在不同的划分次数中可能出现来交叉使用,因此称为交叉验证。交叉验证作用为了得到可靠稳定的模型,机器学习中的交叉验证主要用于在多个模型(不同种类模型或...

2020-03-29 11:17:40 2098

原创 python的类与继承

python关于继承与多态的要点继承的定义及特点多态性类的继承创建类与对象博文推荐python关于继承与多态的要点继承的定义及特点多态性类的继承创建类与对象博文推荐继承的定义及特点继承是一种创建新的类的方式,新创建的叫子类,继承的叫父类、超类、基类。特点:子类可以使用父类的属性(特征、技能)继承是类与类之间的关系类使用继承的作用减少代码冗余、提高重用性多态性1、增加了程序的灵活性...

2020-03-22 22:08:09 171

转载 关于TCP/IP协议

本文整理了一些TCP/IP协议簇中需要必知必会的十大问题,既是面试高频问题,又是程序员必备基础素养。一、TCP/IP模型TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议。基于TCP/IP的参考模型将协议分成四个层次,它们分别是链路层、网络层...

2019-11-28 23:48:04 248

原创 数据增强(Data augmentation)

增加训练数据,则能够提升算法的准确率,因为这样可以避免过拟合,而避免过拟合就可以增大网络结构。当训练数据有限的时候,可以通过一些变换从已有的训练数据中生成一些新的数据,来扩大训练数据。数据增强的方法有:1) 水平翻转(旋转)2)随机裁剪(crop采样) 原始大小256*256可以随机剪切除一些224*224的图像3)fancy PCA4)样本不均衡样本不均衡即有些类别图像特别多...

2019-11-22 11:33:12 518

原创 熵,信息熵,条件熵

随机事件 X 所包含的信息量与其发生的概率有关。发生的概率越小,其信息量就越大;反之,必定发生的事件(如太阳东升西落),其信息量为 0。信息量公式:I(X) = −logp(X) ,其中 I 是 information 的缩写。信息量公式的单位:log 以2为底,记作lb,单位比特(bit)log 以e为底,记作ln,单位奈特(nat)log 以10为底,记作lg,单位哈脱来(hat)...

2019-09-21 10:55:56 1054

原创 生成式与判别式的区分

生成式与判别式区别二者的区别主要就是由于一个是***联合概率分布P(x,y)***,另一个估计***条件概率分布P(y|x)***,而生成式模型能够根据贝叶斯公式得到判别式模型也是根据公式而来。联合概率分布,则是特征值对应某标签的概率,现在要判断一个特征值对应的标签,根据联合概率,只能算出其对应各标签的概率值,而只有通过比较全部的值才能知道属于哪个标签;而条件概率分布则是输入特征直接出来对应的...

2019-09-21 10:54:03 730

原创 机器学习中对模型评估常用的指标

对于机器学习主要分为两大类型,第一类分类,第二类回归,当然针对不同类型的算法问题,评估模型的好坏的指标也不相同。接下来我针对两类进行机器学习模型指标的大致介绍。1 分类指标关于分类器模型中又分为二分类和多分类对于二分类问题模型预测的类别要么正类要么负类,那么可以分为真正类,假正类,要么真负类,假负类。可以使用二元混淆矩阵表示。 真实类别 ...

2019-09-18 09:57:06 496

原创 归并排序

概念:归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归并排序并不常用,看起来时间复杂度好像是几种排序中最低的,比快排的时间复杂度还要低,但是它的执行速度不是最...

2019-08-30 11:53:24 82

原创 python笔记3

python笔记3python关于闭包函数关于不常用函数的理解异常处理 try 语句解析python关于闭包函数1.创建一个闭包函数:(1)闭包函数必须有内嵌函数(2)内嵌函数必须要引用外层函数的变量(3)闭包函数返回内嵌函数的地址(函数名称)案例1def otter(): name = 'zs' def inner(): # 外层函数包了个内层函数 ...

2019-08-29 18:11:15 572

原创 python基础知识总结0829

关于python浅拷贝深拷贝等常用知识解析拷贝直接赋值浅拷贝深拷贝案例关于赋值与浅拷贝的疑问补充python可变不可变类型Python中切片的问题python关于虚数的概念拷贝直接赋值:其实就是对象的引用(别名)。浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。直接赋值字典的...

2019-08-29 16:33:20 732

原创 python笔记2

关于单双下划线区别及含义:1、单前导下划线划线前缀的含义是告知其他程序员:以单个下划线开头的变量或方法仅供内部使用,前导下划线虽然说明了仅仅供内部使用,但是在外部方法中调用还是可以的,但的确会影响从模块中导入名称的方式。例如:class Test: def __init__(self): self.foo = 11 self._bar = 23...

2019-08-26 15:02:23 109

原创 python 一些函数的笔记

map()split()strip()append()format()python支持哪些数据类型:1、Python的数字类型有int整型、long长整型、float浮点数、complex复数、以及布尔值bool(0和1)2、布尔值——bool类型对于布尔值,只有两种结果即True和False,其分别对应与二进制中的0和1。而对于真即True的值太多了,我们只需...

2019-08-26 10:44:25 203

原创 关于牛客笔试输入接口问题python解决办法

关于输入的问题1. 对于一行输入多个的情况import sysa = sys.stdin.readline().strip()b = sys.stdin.readline().strip()strip()方法只能用于移除字符串 开头和结尾 指定的字符(默认为空格或换行符)或字符序列。例如:str = ’ abcd0e ’print(str.strip())输出:abcd0e...

2019-08-26 10:09:58 822

原创 插入排序(Insertion sort)

定义:插入排序(Insertion sort)是一种简单直观且稳定的排序算法。如果有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方...

2019-08-21 14:19:32 250

原创 选择排序算法

对于O(n^2)的排序算法 只有在编码简单,易于实现的简单情况下才会选择。选择排序选择排序是一种基础的排序算法,其基于数组的数据结构,这样的数据结构具有很强的灵活性,之所以说具有很强的灵活性呢,我们知道数组和顺序线性表结构是一种简单的存储结构,因为他们在逻辑上相邻的元素在物理内存之上也是彼此相邻的。而且同一个数组的数据类型必须是一致的,这样我们就可以通过数组的下标[index]进行随机顺序...

2019-08-21 11:09:04 193

原创 栈(stack)

栈(stack) 栈也是一种线性结构 相比数组,栈对应的操作是数组的子集,且栈只能从一端添加元素,也只能从一端取出元素,这一端称之为栈顶。栈是一种后进先出的数据结构,last in first out (LIFO)后进先出栈的应用: 无处不在的Undo操作(撤销) 打字时发现打错了字可以撤销,撤销的都是最后输入的文字。 程序调用的系统栈...

2019-08-19 16:22:27 227

原创 动态数组

如果数组是不变的,当数据大小超过了数组的容量则会导致内存不足,如果数据过少,开辟的数组容量过大会造成空间的浪费。此时可以设计一个随着存储的数组元素动态调整数组容量大小,就较为方便。如何设置数组空间大小就较为关键了。数组装满需要另外开辟一个新的数组空间新的数组容量翻倍将原来的数组的值对应赋值到新的数组空间中去原来的引用data也同时指向新的空间java的垃圾回收机...

2019-08-19 14:28:09 132

原创 java数组使用泛型

为何要使用泛型? 为了让我们的数据结构可以放置“任何”数据类型,但是不可以是基本数据乐行,只能是类对象。boolean , byte ,char ,short , int , long ,float , double每个基本数据类型都有对应的包装类Boolean , Byte ,Char , Short ,Int, Long , Float ,Double声明类时p...

2019-08-14 16:38:15 751

原创 java中对数组的基本操作(增删改查。。。)

1、向数组后添加元素数组后添加元素很简单,只要在当前size外置放置即可,并且更新size,size后移一位,size++。2、向数组指定位置添加元素指定位置添加元素原则:若该位置无元素直接放入,若该位置有元素占据,从该位置起往后所有元素往后挪1位,将位置腾出来后放入要插入的元素即可。3 在数组中查询元素(1)通过索引查询某个位置的元素(2)通过索引替换某个位置元素...

2019-08-14 09:54:53 1886

原创 定义一个数组

数组基础把数组马成一排进行存放,数组分为索引和对应的值,索引从0开始,最大为n-1数组的索引可以没有语义,也可以有语义,但并非所有有语义的索引都适用数组,数组最大优点是可以快速查询制作属于我们自己的数组size 实际数组中元素数, capacity 代表数组容量定义一个数组,包含数组类型、数组名、数组容量(数组长度即可不用单独定义)、数组中元素数几个私有变量,注意定义数组容量...

2019-08-11 17:32:58 5724

原创 Boosting(提升)算法之GBDT(Gradient Boosting + Decision Tree)

梯度提升迭代决策树GBDTBoosting家族中另一个重要的算法--梯度提升树(Gradient Boosting Decision Tree,简称GBDT)。GBDT有很多简称,比如GBT(Gradient Boosting Tree),GTB(Gradient Tree Boosting), GBRT(Gradient Boosting Regression Tree),MART(Mult...

2019-08-05 19:18:57 460

翻译 Adaboost 算法API理解

sklearn.ensemble.AdaBoostClassifierclasssklearn.ensemble.AdaBoostClassifier(base_estimator=None,n_estimators=50,learning_rate=1.0,algorithm=’SAMME.R’,random_state=None)参数: base_est...

2019-08-05 16:08:28 466

原创 Boosting(提升)算法之Adaboost

Boosting算法思想:Boosting是一种框架算法,主要是通过对样本集的操作获得样本子集,然后用弱分类算法在样本子集上训练生成一系列的基分类器。他可以用来提高其他弱分类算法的识别率,也就是将其他的弱分类算法作为基分类算法放于Boosting 框架中,通过Boosting框架对训练样本集的操作,得到不同的训练样本子集,用该样本子集去训练生成基分类器;每得到一个样本集就用该基分类算法在该样本...

2019-08-05 15:22:07 443

原创 关于RandomForest的变种算法

常见的RF变种算法如下:Extra Tree、Totally Random Trees Embedding(TRTE)、Isolation Forest待补充》》》

2019-08-05 10:52:03 272

翻译 随机森林API的理解(sklearn.ensemble.RandomForest)

sklearn.ensemble.RandomForestClassifierclasssklearn.ensemble.RandomForestClassifier(n_estimators ='warn',criterion ='gini',max_depth = None,min_samples_split = 2,min_samples_leaf = 1,min_weight_f...

2019-08-05 10:46:08 1280

原创 Bagging(Bootstrap Aggregating)

思想:Bagging(bootstrap aggregating)是通过结合几个模型降低泛化误差的技术。主要想法是分别训练几个不同的模型,然后让所有模型表决测试样例的输出。这是机器学习中常规策略的一个例子,被称为模型平均(modelaveraging)。采用这种策略的技术被称为集成方法。框架流程:从原始样本集中使用Bootstraping 方法随机抽取n个训练样本,共进行k轮抽取,...

2019-08-05 10:15:47 2302

原创 集成学习综述

在机器学习的有监督学习算法中,我们的目标是学习出一个稳定的且在各个方面表现都较好的模型,但实际情况往往不这么理想,有时我们只能得到多个有偏好的模型(弱监督模型,在某些方面表现的比较好)。集成学习就是组合这里的多个弱监督模型以期得到一个更好更全面的强监督模型,集成学习潜在的思想是即便某一个弱分类器得到了错误的预测,其他的弱分类器也可以将错误纠正回来。集成方法是将几种机器学习技术组合成一个预测模型的元...

2019-08-01 09:57:34 495 1

原创 PCA(主成分分析)和LDA(线性判别分析)的异同处及应用场景

在机器学习领域,PCA和LDA都可以看成是数据降维的一种方式。但是PCA是无监督的,也就是说不需要知道样本对应的标签,而LDA是有监督的,需要知道每一个数据点对应的标签。图的左边是PCA,它所作的只是将整组数据整体映射到最方便表示这组数据的坐标轴上,映射时没有利用任何数据内部的分类信息。因此,虽然做了PCA后,整组数据在表示上更加方便(降低了维数并将信息损失降到最低),但在分类上也许会变得...

2019-07-31 19:49:13 5977 1

原创 LDA(线性判别分析 )

 在主成分分析(PCA)原理总结中,对降维算法PCA做了总结。这里我们就对另外一种经典的降维方法线性判别分析(Linear Discriminant Analysis, 以下简称LDA)做一个总结。LDA在模式识别领域(比如人脸识别,舰艇识别等图形图像识别领域)中有非常广泛的应用,因此我们有必要了解下它的算法原理。思想: LDA是一种监督学习的降维技术,也就是说它的数据集的每个样本是有类别...

2019-07-31 19:10:38 1077

转载 PCA(主成分分析)

1.相关背景在许多领域的研究与应用中,通常需要对含有多个变量的数据进行观测,收集大量数据后进行分析寻找规律。多变量大数据集无疑会为研究和应用提供丰富的信息,但是也在一定程度上增加了数据采集的工作量。更重要的是在很多情形下,许多变量之间可能存在相关性,从而增加了问题分析的复杂性。如果分别对每个指标进行分析,分析往往是孤立的,不能完全利用数据中的信息,因此盲目减少指标会损失很多有用的信息,从而产生错...

2019-07-21 11:17:53 2410

转载 奇异值分解(SVD)

 奇异值分解(Singular Value Decomposition,以下简称SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域。是很多机器学习算法的基石。本文就对SVD的原理做一个总结,并讨论在在PCA降维算法中是如何运用运用SVD的。特征值和特征向量回顾求出特征值和特征向量有什么好处呢? 就是我们可以将矩阵A特征...

2019-07-15 16:31:34 298

转载 贝叶斯方法的优缺点及其应用场景

优点对待预测样本进行预测,过程简单速度快(想想邮件分类的问题,预测就是分词后进行概率乘积,在log域直接做加法更快)。 对于多分类问题也同样很有效,复杂度也不会有大程度上升。 在分布独立这个假设成立的情况下,贝叶斯分类器效果奇好,会略胜于逻辑回归,同时我们需要的样本量也更少一点。 对于类别类的输入特征变量,效果非常好。对于数值型变量特征,我们是默认它符合正态分布的。缺点对于测试...

2019-07-15 11:00:23 17621

空空如也

空空如也

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

TA关注的人

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