自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 XGBoost实战与调参优化

本篇主要内容包括XGBoost的入门教学、调参优化,将之前自己遇到的问题细心的整理一遍;XGBoost参数繁多,所以如果要调参,就一定要知道每个参数的作用于意义,因此本人十分建议在实战之前对XGBoost的理论分析有一定的了解,博主在之前写过一篇XGBoost原理与实例,里面详细的介绍了XGBoost的基本原理,有兴趣的小伙伴可以先去那里观摩一番,之后再看本篇有事半功倍的效果哦!!现简要说明...

2019-01-16 20:38:27 14221 3

原创 XGBoost原理与实例分析

这几天一直在研究XGboost的基本原理与代码调参,其原理是在GBDT的基础上进行优化,但也有很多的不同之处;所以自己准备更新两篇博客分为XGBoost原理与实例和XGBoost实战与调参优化来巩固这方面的知识。一、XGBoost原理分析在机器学习的问题中,目标函数(objective function)随处可见,目标函数一般由损失函数+正则化项。  &nbsp...

2019-01-10 11:19:54 5846 1

原创 机器学习爬大树之决策树(ID3,C4.5)

     自己自学机器学习的相关知识,过了一遍西瓜书后准备再刷一遍,后来在看别人打比赛的代码时多次用到XGBoost,lightGBM,遂痛下决心认真学习机器学习关于树的知识,自己学习的初步流程图为:决策树(ID3,C4.5)---->CART----->Boost Tree---->Gradient Boosting Decision Tree(GBDT)----->...

2018-12-04 17:37:38 635

原创 C++map遍历

#include <iostream>#include <map>using namespace std;int main() { map<int, int> _map; _map[0] = 1; _map[1] = 2; _map[10] = 10; map<int, int>::iterato...

2019-07-31 16:37:56 472

原创 机器学习算法的随机数据生成

机器学习算法的随机数据生成

2019-03-23 15:16:03 273

原创 机器学习之朴素贝叶斯算法原理

朴素贝叶斯(naive Bayes)法是基于贝叶斯定力与特征条件独立假设的分类方法。它和其他绝大多数的分类算法都不同。对于大多数的分类算法,比如决策树,KNN,逻辑回归,支持向量机等,他们都是判别方法,也就是直接学习出特征输出Y和特征X之间的关系,要么是决策函数Y=f(X)Y=f(X)Y=f(X),要么是条件分布P(Y∣X)P(Y|X)P(Y∣X),但是朴素贝叶斯却是生成方法,也就是直接找出特征...

2019-03-22 22:54:35 469

转载 集成学习voting Classifier在sklearn中的实现

机器学习的算法有很多,对于每一种机器学习算法,考虑问题的方式都略微有所不同,所以对于同一个问题,不同的算法可能会给出不同的结果,那么在这种情况下,我们选择哪个算法的结果作为最终结果呢?那么此时,我们完全可以把多种算法集中起来,让不同算法对同一种问题都进行预测,最终少数服从多数,这就是集成学习的思路。其实在我们的生活中,也经常会用到集成学习的思路。比如想买一件化妆品时找朋友推荐,通常情况下,我们不...

2019-03-20 14:56:22 955

转载 统计图之小提琴图解析

2019-03-18 15:27:44 30937

原创 偏度与峰度

偏度偏度(skewness),是统计数据分布偏斜方向和程度的度量,是统计数据分布非对称程度的数字特征。定义上偏度是样本的三阶标准化矩。偏度定义中包括正态分布(偏度=0) 算术平均值 = 中位数 = 众数,右偏分布(也叫正偏分布,其偏度&gt;0) 众数 &lt; 中位数 &lt; 算术平均值,左偏分布(也叫负偏分布,其偏度&lt;0) 算术平均值 &lt; 中位数 &lt; 众数。为...

2019-03-16 13:42:49 3207

原创 pandas isnull函数检查数据是否有缺失

1.np.array.any()和numpy.array.all()np.array.any()是或操作,将np.array中所有元素进行或操作,只要有一个为真,则返回True,否则返回Flase;np.array.all()是与操作,将np.array中所有元素进行与操作,只要有一个为假,返回False,都为真,返回True。import numpy as nparr1 = np.ar...

2019-03-11 23:49:09 2922

转载 正则表达式(regex)入门

什么是正则表达式呢?正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),它是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。几乎在各种计算机编程语言中都有用到。可以分为普通正则表达式、扩...

2019-03-09 13:03:58 374

转载 python pandas stack和unstack函数

在用pandas进行数据重排时,经常用到stack和unstack两个函数。stack的意思是堆叠,堆积,unstack即“不要堆叠”,我对两个函数是这样理解和区分的。  常见的数据的层次化结构有两种,一种是表格,一种是“花括号”,即下面这样的l两种形式: store1 store2 store3 ...

2019-03-07 23:08:46 1327

转载 pandas.describe()参数的意义

pandas.Series.describeDataFrame.describe(percentiles=None,include=None,exclude=None)生成描述性统计,总结数据集分布的中心趋势,分散和形状,不包括NaN值。百分位数:统计学术语,如果将一组数据从小到大排序,并计算相应的累计百分位,则某一百分位所对应数据的值就称为这一百分位的百分位数。可表示为:一组n个...

2019-03-07 22:12:08 16227

转载 如何在Kaggle 首战中进入前 10%

原文地址:https://dnc1994.com/2016/04/rank-10-percent-in-first-kaggle-competition/Kaggler 绝大多数都是用 Python 和 R 这两门语言的。因为我主要使用 Python,所以本文提到的例子都会根据 Python 来。不过 R 的用户应该也能不费力地了解到工具背后的思想。首先简单介绍一些关于 Kaggle 比赛...

2019-03-05 23:02:17 245

原创 机器学习之EM算法

EM算法是一种迭代算法,用于含有隐变量(hidden variable)的概率模型参数的极大似然估计,或极大后验概率估计,我们经常会从样本观察数据中,找出样本的模型参数。 最常用的方法就是极大化模型分布的对数似然函数。但是在一些情况下,我们得到的观察数据有未观察到的隐含数据,由于我们有未知的隐含数据和模型参数,因而无法直接用极大化对数似然函数得到模型分布的参数。怎么办呢?这就是EM算法可以...

2019-03-05 11:10:48 278

原创 机器学习之PCA原理

PCA(principal Component Analysis)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。这篇文章旨在分析PCA的数学原理,了解PCA的工作机制是什么。数据的向量表示及降维问题一般情况下,在数据挖掘和机器学习中,数据被表示为向量。例如某个淘宝店2018年全年的流量及交易情况可以看成...

2019-02-23 11:17:24 411

原创 协方差矩阵与散度矩阵的意义

在机器学习模式识别中,经常需要应用到协方差矩阵C和散度矩阵S。如在PCA(Principal Component Analysis)主成分分析中,需要计算样本的散度矩阵,有的论文是计算协方差矩阵。实质上两者意义差不多,散度矩阵乘以1/(n-1)就可以得到协方差矩阵了。在模式识别中,散度矩阵也称为散步矩阵,有的也称为类内离散度矩阵或者类内离差阵,用一个等式关系可表示为:散度...

2019-02-23 11:16:28 3714

原创 机器学习之Stacking原理与实战

学习过机器学习相关基础的童鞋应该知道,从基学习器的类型可将集成学习分为两大类:同质集成(homogeneous)Boosting:Adaboost、GBDT、XGboost、lightGBM等Bagging:RandomForest异质集成(heterogenous)Stacked Generalization(SG),也叫堆栈泛化1、堆栈泛化(Stacked G...

2019-02-23 11:14:46 3975 1

原创 机器学习之RandomForest(随机深林)原理与实战

一、Bagging和Boosting的概念与区别1、bootstrap sampling(自助采样法)在训练学习器时,我们希望学习器不仅能很好地拟合训练样本,还可以有较低的泛化误差,因此一般采用留出法和交叉验证法,但是这些方法会受到数据规模的影响,尤其是在原始数据很少的情况下,而留一法又会带来巨大的计算量。因此可以采用自助采样法(bootstrap sampling)。假设当前有一个含...

2019-02-19 16:46:41 2611 1

转载 lightgbm原理

本文介绍LightGBM,它是一款常用的GBDT工具包,由微软亚洲研究院(MSRA)进行开发,在Github上开源的三天内收获1000 star。其速度比XGBoost快,并且精度也相当的不错。接下来看看其算法的内容。注意其设计理念:单个机器在不牺牲速度的情况下,尽可能多地用上更多的数据; 多机并行的时候,通信的代价尽可能地低,并且在计算上可以做到线性加速。于是其使用分布式 ...

2019-01-24 22:57:52 1265 1

原创 机器学习爬大树之(GBDT原理)--二分类篇

         上一篇文章讲了GBDT的回归篇,其实这一篇文章的原理的思想基本与回归相同,不同之处在于分类任务需用的损失函数一般为logloss、指数损失函数。          回顾下logistic regression有助于我们进一步的了解GBDT是如何进行分类的,线性模型是我们使用最简单的模型,但却蕴涵着机器学习中一些重要的基本思想,我们把线性回归模型简写为:          ...

2018-12-18 11:47:40 648 1

转载 常用损失函数(Loss Function)

【深度学习】一文读懂机器学习常用损失函数(Loss Function)最近太忙已经好久没有写博客了,今天整理分享一篇关于损失函数的文章吧,以前对损失函数的理解不够深入,没有真正理解每个损失函数的特点以及应用范围,如果文中有任何错误,请各位朋友指教,谢谢~  损失函数(loss function)是用来估量模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y,...

2018-12-18 09:41:15 4262

原创 机器学习爬大树之(GBDT原理)--回归篇

              集成学习(ensemble learning)想必应该是最为火爆的机器学习算法了,它通过构建并结合多个学习器来完成学习任务;类似于我们长说的“采百家之长”,目前的集成学习方法大致可分为两大类:              (1)个体学习器间存在强依赖关系,必须串行生成的序列化方法(Adaboost,GBDT);              (2)个体学习器间不存...

2018-12-17 20:18:33 708

原创 机器学习爬大树之决策树(CART与剪枝)

        分类与回归树(classification and regression tree,CART)是应用广泛的决策树学习方法,同样由特征选择,树的生成以及剪枝组成,既可以用于分类也可以用于回归。CART假设假设决策树是二叉树,内部结点特征的取值为“是”或‘否’,左分支是取值为‘是’的分支,右分支是取值为“否”的分支,例如有个特征为‘年龄’,它的特征值为{‘年龄’:[‘小孩’,‘成年’,...

2018-12-11 23:07:53 864

转载 转:Python: 什么是*args和**kwargs

今天看源码的时候发现一个是*args和**kwargs,一看就能知道args是神马,就是所有参数的数组,kwargs就不知道了,google一下,一个人的blog写的比较简单明了,秒懂了~~kwargs就是当你传入key=value是存储的字典。补充一下:kwargs不影响参数位置例子:def test(a,*args,**kwargs):    print a    #pri...

2018-11-12 09:17:51 82

转载 python os模块 常用命令

python编程时,经常和文件、目录打交道,这是就离不了os模块。os模块包含普遍的操作系统功能,与具体的平台无关。以下列举常用的命令1. os.name——判断现在正在实用的平台,Windows 返回 ‘nt'; Linux 返回’posix'2. os.getcwd()——得到当前工作的目录。3. os.listdir()——指定所有目录下所有的文件和目录名。例:       ...

2018-11-03 10:43:08 91

转载 字典(dict)按键(key)和值(value)排序即item()的常用方式

描述Python 字典 items() 方法以列表返回可遍历的(键, 值) 元组数组。语法items()方法语法:dict.items()参数NA。返回值返回可遍历的(键, 值) 元组数组。实例以下实例展示了 items() 方法的使用方法:#!/usr/bin/python3dict = {'Name': 'Runoob', 'Age': 7}...

2018-10-26 14:12:21 3727

转载 Python 二维创建与插入值的二种方法

1第一种nums = []rows = eval(input("请输入行数:"))columns = eval(input("请输入列数:")) for row in range(rows): nums.append([]) for column in range(columns): num = eval(input("请输入数字:")) ...

2018-10-25 09:53:57 2706

原创 个人学习机器学习笔记--

  1.X = X[y != 0, :2]逗号是分割行与列,y != 0在行的位置,表示行不取y = 0 的所有行,而:2在列的位置,说明列取0到2的列(不包括2),所以就是不取y=0的所有第0列与第1列2.numpy.random.permutation()返回一个改变的序列或 矩阵 np.random.permutation(10)array([1,...

2018-10-11 21:04:43 143

转载 独热编码 one-hot Encoding

常需要处理的数值都是稀疏而又散乱地分布在空间中,然而,我们并不需要存储这些大数值,这时可以用独热编码。例如:我们需要处理4维向量空间,当给一个特征向量的第n个特征进行编码时,编码器会遍历每个特征向量的第n个特征,然后进行非重复计数。若第n个特征的最大值为K,则就把这个特征转换为只有一个值为1而其他值都是0的K+1维向量。每个样本(5个特征)经过独热码编码后转化成26个特征(6+5+4+...

2018-10-08 14:15:50 754

转载 梯度下降法的三种形式批量梯度下降法、随机梯度下降以及小批量梯度下降法

梯度下降法的三种形式BGD、SGD以及MBGD 梯度下降法的三种形式BGD、SGD以及MBGD阅读目录 1. 批量梯度下降法BGD 2. 随机梯度下降法SGD 3. 小批量梯度下降法MBGD 4. 总结 在应用机器学习算法时,我们通常采用梯度下降法来对采用的算法进行训练。其实,常用的梯度下降法还具体包含有三种不同的形式,它们也各自有着不同的优缺点...

2018-10-06 13:53:15 738

转载 extend()与append()的区别

网上有很多对这两个函数的区别讲解,但我觉得都讲的不是很清楚,记忆不深刻。这样解释清楚且容易记住。list.append(object) 向列表中添加一个对象objectlist.extend(sequence) 把一个序列seq的内容添加到列表中 1 2 3 4 5 music_media = ['compact disc', ...

2018-09-29 11:09:39 1657

原创 python 中【example[I] for example in dataset】的理解

在机器学习中遇到下面两个语句,想了半天,也看了一些其他博主文章后自己的总结:featList = [example[i] for example in dataSet]1classList = [example[-1] for example in dataSet]2多方研究和询问,得到如下解释:语句featList = [example[i] for example in...

2018-09-28 19:08:30 9535 6

原创 LeetCode自我总结(对链表进行插入排序)

对链表进行插入排序。插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中。 插入排序算法:插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。 每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插...

2018-08-01 20:23:42 285

空空如也

空空如也

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

TA关注的人

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