- 博客(297)
- 资源 (18)
- 收藏
- 关注
原创 python可视化利器:pyecharts
前言前面我们提及ggplot在R和Python中都是数据可视化的利器,在机器学习和数据分析领域得到了广泛的应用。pyecharts结合了Python和百度开源的Echarts工具,基于其交互性和便利性得到了众多开发者的认可。拥有如下的特点:可集成至Flask、Django等主流web框架相较于matplotlib等传统绘图库,pyecharts语法更加简洁,更加注重数据的呈现方式而非图形细...
2020-05-11 01:26:03
1790
原创 [R语言]数据可视化的最佳解决方案:ggplot2
前言ggplot是一个拥有一套完备语法且容易上手的绘图系统,在Python和R中都能引入并使用,在数据分析可视化领域拥有极为广泛的应用。本篇从R的角度介绍如何使用ggplot2包,首先给几个我觉得最值得推荐的理由:采用“图层”叠加的设计方式,一方面可以增加不同的图之间的联系,另一方面也有利于学习和理解该package,photoshop的老玩家应该比较能理解这个带来的巨大便利适用范围广,拥...
2020-05-03 19:54:30
1210
1
原创 [R语言]数据可视化包ggplot2教程及实例
前言ggplot是一个拥有一套完备语法且容易上手的绘图系统,在Python和R中都能引入并使用,在数据分析可视化领域拥有极为广泛的应用。本篇从R的角度介绍如何使用ggplot2包,首先给几个我觉得最值得推荐的理由:采用“图层”叠加的设计方式,一方面可以增加不同的图之间的联系,另一方面也有利于学习和理解该package,photoshop的老玩家应该比较能理解这个带来的巨大便利适用范围广,拥...
2020-05-03 19:46:01
6623
1
原创 [机器学习算法]主成分分析
引入在对实际问题进行数据挖掘时,涉及到的特证数即数据维度往往是成百上千的,出于以下两个原因可能导致数据集质量不佳:噪声特征:该特征并不能对我们建模产生正向作用,或者同关注的变量基本上是不相关的特征之间可替代性:当两个特征包含几乎一模一样的信息时,其中一个特征往往是可以剔除的(比如温度和体感温度变量)主成分分析Principal Component Analysis, PCA是最常用的降...
2020-03-28 19:08:06
846
原创 [机器学习算法]从实例理解主成分分析原理
引入在对实际问题进行数据挖掘时,涉及到的特证数即数据维度往往是成百上千的,出于以下两个原因可能导致数据集质量不佳:噪声特征:该特征并不能对我们建模产生正向作用,或者同关注的变量基本上是不相关的特征之间可替代性:当两个特征包含几乎一模一样的信息时,其中一个特征往往是可以剔除的(比如温度和体感温度变量)主成分分析Principal Component Analysis, P...
2020-03-28 19:06:02
592
原创 [Skill]程序员须掌握的概率统计基础知识
前言计算机科学作为理工科一个独特的分支,本质上仍然是建立在逻辑思维上的一门科学,良好的概率论思维有助于设计高效可行的算法。常见的概率分布1. 古典概型和几何概型古典概型适用于随机事件EEE的样本空间只有有限个样本点,而几何概型适用于样本空间是某一可度量的几何区域。古典概型设随机实验EEE的样本空间为Ω={w1,w2,...,wn}\Omega = \{w_1,w_2, ...,...
2020-03-22 21:58:37
598
原创 [机器学习必知必会]凸优化
定义凸优化问题OPT,convex optimization problem,指定义在凸集中的凸函数最优化的问题。尽管凸优化的条件比较苛刻,但仍然在机器学习领域有十分广泛的应用。凸优化问题的优势凸优化问题的局部最优解就是全局最优解很多非凸问题都可以被等价转化为凸优化问题或者被近似为凸优化问题(例如拉格朗日对偶问题)凸优化问题的研究较为成熟,当一个具体被归为一个凸优化问题,基本可以确定该...
2020-03-04 11:15:13
1229
原创 [机器学习必知必会]损失函数与风险函数
引言我们需要一定的准则来评估不同机器学习模型的优劣,这就引申出损失函数和风险函数。损失函数:评估模型单次预测的好坏风险函数:度量平均意义下模型的好坏损失函数的定义监督学习是在假设空间中选取模型作为决策函数,对于给定的输入,由给出相应的输出,用损失函数来衡量预测值和真实值之间的差距,它是一个非负实值函数,记作。常用的损失函数1. 0-1损失函数2. 平方损失函数...
2020-02-29 19:58:18
1292
原创 [机器学习必知必会]交叉验证
前言当我们根据数据训练出一个机器学习模型时,我们希望它在新的数据上也保持较高的准备率,这就需要我们对学习到的不同模型有一个模型评估准则。为了评估模型的泛化性能(指模型在未知数据上的预测能力),防止模型落入“过拟合”的陷进。我们人为地将原始数据划分为训练集和测试集,前者用于训练模型,后者用于评估模型的泛化性能。训练集、验证集和测试集在监督学习建模中,数据集常被划分为2~3...
2020-02-29 19:57:25
501
原创 [机器学习必知必会]牛顿法与拟牛顿法
前言同梯度下降法一样,牛顿法和拟牛顿法也是求解无约束最优化问题的常用方法。牛顿法本身属于迭代算法,每一步需要求解目标函数的海赛矩阵的逆矩阵,计算比较复杂。拟牛顿法通过正定矩阵近似海赛矩阵的逆矩阵或海赛矩阵,简化了这一计算过程。需要提前了解的知识1.泰勒展开当在处具有阶连续导数,我们可以用的次多项式逼近函数公式:其中表示泰勒余项,它是的高阶无穷小。2.海森矩阵...
2020-02-29 19:55:37
540
1
原创 [机器学习必知必会]正则化
综述机器学习中经常会在损失函数中加入正则项,称之为正则化Regularize。目的:防止模型过拟合原理:在损失函数上加上某些规则(限制),缩小解空间,从而减少求出过拟合解的可能性例子:以最简单的线性模型为例我们在统计学习中接触到的最小二乘估计利用均方误差最小的原则来进行参数估计:在最小二乘估计中加入正则项后,我们得到岭估计:在数学上我们可以证明岭估计的参数模要严...
2020-02-29 19:53:44
403
原创 [机器学习算法]定序回归
简介传统的线性回归模型预测的因变量取值范围为任意实数,在实际应用中我们常常需要对非连续型数据建模,其中一类的典型的数据即是定序数据ordinal data。一般我们以没有数值意义但是有顺序意义的数据统称为定序数据。最常见的例子就是问卷调查给出的选项:非常满意、满意、一般、不满意、非常不满意就是一类定序数据。定序变量介于连续变量和定类变量之间,是在测量层次上被分为相对次序的不同...
2020-02-29 14:55:10
1782
原创 [机器学习算法]定序回归
简介传统的线性回归模型预测的因变量取值范围为任意实数,在实际应用中我们常常需要对非连续型数据建模,其中一类的典型的数据即是定序数据ordinal data。一般我们以没有数值意义但是有顺序意义的数据统称为定序数据。最常见的例子就是问卷调查给出的选项:非常满意、满意、一般、不满意、非常不满意就是一类定序数据。定序变量介于连续变量和定类变量之间,是在测量层次上被分为相对次序的不同类别、但并不连续...
2020-02-29 02:04:19
2638
2
原创 [机器学习必知必会]什么是机器学习,如何入门?
概念:人工智能与机器学习[1]人工智能涵盖了其他所有概念,而机器学习是人工智能的一个子方向,深度学习又是机器学习中的一类方法。至于机器视觉和自然语言处理,它们是人工智能领域的两个应用,而且往往会用到深度学习。Tom Mitchell将机器学习任务定义为任务Task、训练过程Training Experience和模型性能Performance三个部分。以分单引擎为例,我们可以将提高分单...
2020-02-02 01:24:47
387
原创 [机器学习必知必会]机器学习是什么
概念:人工智能与机器学习[1]人工智能涵盖了其他所有概念,而机器学习是人工智能的一个子方向,深度学习又是机器学习中的一类方法。至于机器视觉和自然语言处理,它们是人工智能领域的两个应用,而且往往会用到深度学习。机器学习概念Tom Mitchell将机器学习任务定义为任务Task、训练过程Training Experience和模型性能Performance三个部...
2020-02-01 13:42:42
459
原创 [机器学习算法]泊松回归
需要泊松回归的原因对因变量是离散型变量的问题建模时,普通的线性回归模型、定序回归模型和逻辑回归模型已经能解决我们大部分的需求。但有一类特殊的因变量记录某个特定事件出现的次数(有序的非负整数),它们被称之为“计数数据”。如果我们按照普通的线性回归模型建模:虽然等号两边都是具有数值意义的实数,但是等号右边可以是任意连续值,但是等号左边只能是非负实数(计数数据)。因此普通的线性回归...
2020-01-31 17:00:29
2487
原创 [机器学习原理]泊松回归
需要泊松回归的原因对因变量是离散型变量的问题建模时,普通的线性回归模型、定序回归模型和逻辑回归模型已经能解决我们大部分的需求。但有一类特殊的因变量记录某个特定事件出现的次数(有序的非负整数),它们被称之为“计数数据”。如果我们按照普通的线性回归模型建模:freq=β0+β1x1+β2x2+ϵfreq = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \epsil...
2020-01-31 03:28:00
3757
原创 [机器学习算法]朴素贝叶斯
以二分类问题为例,我们假设特征集合为,样本所属类别为,后验概率为:其中是类的先验概率;是样本相对于类标记的类条件概率;代表样本x出现的概率,但是给定样本x,与类标记无关。因此我们只需要计算先验概率和类条件概率。计算方法如下:表示样本空间中各类别样本所占的比例,根据大数定律,当训练集包含充分的独立同分布样本时,因此可以根据各类样本出现的频率来进行估计。设计到关于所有属性...
2020-01-28 15:20:48
157
原创 [机器学习算法]逻辑回归模型
前言线性回归模型可以用于回归模型的学习,当我们需要用线性模型实现分类问题比如二分类问题时,需要用一个单调可微函数将线性回归的连续结果映射到分类回归真实标记的离散值上。推导过程考虑二分类任务,其输出标记:但是线性回归模型产生的预测值是实值z,因此我们需要将实值转化为的离散值,最理想的函数就是“单位阶跃函数”unit-step function:即当预测值大于就判为正例,...
2020-01-28 14:56:28
198
原创 [机器学习算法]逻辑回归模型
前言线性回归模型可以用于回归模型的学习,当我们需要用线性模型实现分类问题比如二分类问题时,需要用一个单调可微函数将线性回归的连续结果映射到分类回归真实标记的离散值上。推导过程考虑二分类任务,其输出标记:y∈{0,1}y\in\{0,1\}y∈{0,1}但是线性回归模型产生的预测值是实值z,因此我们需要将实值zzz转化为0/10/10/1的离散值,最理想的函数就是“单位阶跃函数”uni...
2020-01-28 14:47:01
190
原创 [机器学习算法]集成学习算法背后的原理
集成学习的概念集成学习指先产生一组弱学习器week learner(指泛化性能略优于随机猜测的学习器),随后根据某种策略将这些弱学习器组合起来得到最终预测结果的方法。集成学习提升模型性能的原理先考虑一个简单的例子:在二分类任务中,假设三个分类器在三个测试样本上的表现如下图所示,集成的结果通过投票法产生。在(a)(a)(a)中每个分类器精度为66.666.6%66.6,集成结果提升了模型性...
2020-01-28 14:18:04
451
原创 [机器学习算法]朴素贝叶斯
以二分类问题为例,我们假设特征集合为xxx,样本所属类别为ccc,后验概率P(c∣x)P(c|x)P(c∣x)为:P(c∣x)=P(c)P(x∣c)P(x)P(c|x)=\frac{P(c)P(x|c)}{P(x)}P(c∣x)=P(x)P(c)P(x∣c)其中P(c)P(c)P(c)是类的先验概率;P(x∣c)P(x|c)P(x∣c)是样本xxx相对于类标记ccc的类条件概率;P(x)...
2020-01-28 14:10:40
270
原创 [机器学习算法]线性回归模型
基本形式给定包含mmm条记录的数据集DDD:D=(x1,y1),(x2,y2),...,(xm,ym)D={(x_1,y_1),(x_2,y_2),...,(x_m,y_m)}D=(x1,y1),(x2,y2),...,(xm,ym)线性回归模型试图学习一个线性模型以尽可能地预测因变量yyy:f(x)=w1x1+w2x2+...+wdxd+bf(x)=w_1x_1+w_2...
2020-01-28 13:54:30
418
原创 [机器学习算法]线性回归模型
基本形式给定包含条记录的数据集:线性回归模型试图学习一个线性模型以尽可能地预测因变量:参数估计将线性表达式写为向量形式:利用最小二乘法令均方误差最小化:注:当线性回归模型存在多重共线性问题时,可能会有多组解使得均方误差最小化,常见的解决方法是引入正则化。线性回归模型的变形1.对数线性回归对数线性回归本质上仍然是线性回归模型,只是我们将因变量的对数作为...
2020-01-28 13:52:12
267
原创 [机器学习算法]Adaboost与提升树
前言前面我们已经通过数学公式验证过,将众多“好而不同”的弱学习器组合起来可以提升模型的准确性。并且根据个体学习器之间是否存在强依赖关系,我们将集成学习分为boosting和bagging两大类(强依赖性体现在弱学习器的抽样方法)。本篇我们主要讲boosting算法中的代表性提升算法AdaBoost,然后介绍提升方法的实例——提升树(boosting tree)Adaboost算法原理步...
2020-01-28 02:25:20
436
原创 [Rcode]R语言数据统计量处理
1、提取百分比数值,不含百分号(unname)2、构造一个任意长度的向量用于给循环赋值 x<-vector(mode="numeric",length=0) for(i in 1:100) { x[i]<-i } 构造已知长度的向量:x<-vector(length=n)...
2020-01-28 00:43:47
649
原创 [机器学习算法]支持向量机
原理分类学习最基本的思想就是基于训练集在样本空间中找到一个划分超平面,将不同类别的样本区分开。但是事实上,能将训练样本划分开的超平面可能有很多,如下图所示,我们的任务就是寻找到最优的划分超平面。image.png划分超平面的线性方程可以表达为:其中为法向量,决定了超平面的方向;为位移项,决定了超平面与原点之间的距离。划分超平面可由法向量和位移项确定,我们将其记...
2020-01-27 23:31:26
796
原创 [机器学习算法]XGBoost算法是如何一步一步推导的
简介XGBoost算法是以CART为基分类器的集成学习方法之一,由于其出色的运算效率和预测准确率在数据建模比赛中得到广泛的应用。与随机森林赋予每一颗决策树相同的投票权重不同,XGBoost算法中下一棵决策树的生成和前一棵决策树的训练和预测相关(通过对上一轮决策树训练准确率较低的样本赋予更高的学习权重来提高模型准确率)。相比于其他集成学习算法,XGBoost一方面通过引入正则项和列抽样的方法提高了...
2020-01-26 15:39:42
704
原创 [机器学习算法]关联分析
相关概念1.关联分析全球零售巨头沃尔玛分析消费者购物行为时偶然发现男性顾客同时购买啤酒和尿布的比例较高,于是通过将啤酒和尿布捆绑销售的方式提高了两者的销量。这种用于发现隐藏在大型数据集中的有意义联系的分析方法即是关联分析association analysis,所发现的规则可以用关联规则association rule或频繁项集的形式表示:{尿布}→{啤酒}\{\text{尿布}\} \r...
2020-01-23 15:37:08
1279
原创 [基础]《C Primer》笔记(下篇)
第十三章 文件输入输出与文件通信文件的含义file指的是在磁盘或者固态硬盘上的一段已命名的存储区。C把文件看做是一系列连续的字节,每个字节都被单独读取,这与UNIX环境的文件结构相对应。由于其他环境中可能无法完全对应这个模型,C提供两种文件模式:文本模式和二进制模式。所有文件的内容都以二进制形式(0或1)存储。但是,如果文件最初使用二进制编码的字符(例如ASCII或Unic...
2020-01-12 19:59:18
472
原创 [基础]《C Primer》笔记(上篇)
第三章 数据和C整数1.如何选择需要使用的整数类型C语言只规定了short存储的空间不能多于int,long存储空间不能少于int。目前个人计算机最常见的设置是long long占64位,long占32位,short占16位,int占16位或者32位。选取的原则如下:如果是非负值,首先考虑unsigned类型,因为它可以表示更大的整数如果超出了int类型的取值范围,但又在long...
2020-01-12 18:53:04
2140
原创 [机器学习算法]聚类学习
简介在无监督学习中unsupervised learning中,训练样本的标记信息是未知的,其目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础。而此类学习任务中应用最广、研究最多的即聚类clustering。以通俗的语言讲解,聚类学习将数据集中的样本分成若干个互不相交的子集(称为簇cluster)。保持簇内差异尽可能小而簇间差异尽可能大我们...
2020-01-01 21:31:36
405
原创 [机器学习算法]多种聚类学习算法背后的原理
简介在无监督学习中unsupervised learning中,训练样本的标记信息是未知的,其目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础。而此类学习任务中应用最广、研究最多的即聚类clustering。以通俗的语言讲解,聚类学习将数据集中的样本分成若干个互不相交的子集(称为簇cluster)。保持簇内差异尽可能小而簇间差异尽可能大我们就可以将每个簇映...
2020-01-01 21:23:56
535
原创 [机器学习算法]随机森林
单棵决策树的劣势有时候单棵决策树可能难以实现较高的准确率,这主要是由以下几个方面决定的:求解一棵最优(泛化误差最小)的决策树是一个NP难(无法穷极所有可能的树结构)问题,往往得到的是局部最优解。单棵树构建的模型往往不够稳定,样本变动很容易引起树结构的变动解决过拟合问题除划分测试集和训练集外依赖于剪枝回顾:元算法从统计学的角度来讲,将模型的性能寄希望于单棵决策树是不稳健的,这意味着...
2019-12-19 00:32:27
1603
原创 [工具]如何在vscode中构建python工程
前言之前用过Anaconda下的Spyder、Pycharm和Jupyter等写过python的数据分析项目,各有优劣。因为我的C++和Golang项目都是使用的VSCode(CLion、Golang和Pycharm都需要付费使用,而且在Mac上消耗资源比VSCode更大),所以索性将Mac和Windows的python项目都迁移到VSCode上。安装vscode的python...
2019-10-20 21:35:50
2954
1
原创 [Skill]俩小时掌握多人协同开发中的git使用方法
学习网站https://git-scm.com/book/zh/v2https://learngitbranching.js.org/基础# 提交commitgit commit -m "msg"# 创建并切换到分支git checkout -b bugFix# merge分支git checkout -b bufFixgit commitgit checkout m...
2019-10-01 21:18:01
220
原创 [Skill]俩小时掌握git常用用法
学习网站https://git-scm.com/book/zh/v2https://learngitbranching.js.org/基础# 提交commitgit commit -m "msg"# 创建并切换到分支git checkout -b bugFix# merge分支git checkout -b bufFixgit commitgit ch...
2019-10-01 21:03:43
270
原创 [机器学习必知必会]从无约束优化到拉格朗日法
了解一些简单的数学概念首先看一个二元函数(再复杂一点的函数就很难直观地呈现出来)的三维图像和对应的等高线,其中函数表达式为:二元函数的三维图像及等高线从导数到偏导数对于一个一元函数而言,导数的定义想必大家都很清楚,具体的表达式为:一元函数中只有一个自变量,因此在某个点的导数即函数在该点的斜率,高中物理在路程-时间问题中赋予导数的含义为瞬时速度。对于一个...
2019-10-01 09:48:02
848
原创 [机器学习必知必会]拉格朗日法及其对偶问题
了解一些简单的数学概念首先看一个二元函数(再复杂一点的函数就很难直观地呈现出来)的三维图像和对应的等高线,其中函数表达式为z=x2+y2z=x^2+y^2z=x2+y2:从导数到偏导数对于一个一元函数而言,导数的定义想必大家都很清楚,具体的表达式为:f′(x)=lim△x→0f(x+△x)−f(x)△x=lim△x→0f(x)−f(x−△x)△xf'(x)=\li...
2019-09-15 01:07:02
1448
原创 [爬虫]python脚本从零到一构建自己的免费代理IP池
工程目录├── db //提供IP池数据库增删查改功能 ├── progress_bar //提供循环进度条展示功能 ├── README.md //帮助文档 ├── proxy_getter │ ├── get_proxy.py //从xici获取爬虫代理IP到数据库 │ ├── random_headers.py //获取随机请求头 ...
2019-09-14 23:21:58
367
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅