
个人学习笔记
Destiny_blue
要学的东西很多...任重而道远!
展开
-
机器学习爬大树之决策树(ID3,C4.5)
自己自学机器学习的相关知识,过了一遍西瓜书后准备再刷一遍,后来在看别人打比赛的代码时多次用到XGBoost,lightGBM,遂痛下决心认真学习机器学习关于树的知识,自己学习的初步流程图为:决策树(ID3,C4.5)---->CART----->Boost Tree---->Gradient Boosting Decision Tree(GBDT)----->...原创 2018-12-04 17:37:38 · 695 阅读 · 0 评论 -
正则表达式(regex)入门
什么是正则表达式呢?正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),它是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。几乎在各种计算机编程语言中都有用到。可以分为普通正则表达式、扩...转载 2019-03-09 13:03:58 · 429 阅读 · 0 评论 -
pandas.describe()参数的意义
pandas.Series.describeDataFrame.describe(percentiles=None,include=None,exclude=None)生成描述性统计,总结数据集分布的中心趋势,分散和形状,不包括NaN值。百分位数:统计学术语,如果将一组数据从小到大排序,并计算相应的累计百分位,则某一百分位所对应数据的值就称为这一百分位的百分位数。可表示为:一组n个...转载 2019-03-07 22:12:08 · 16401 阅读 · 0 评论 -
python pandas stack和unstack函数
在用pandas进行数据重排时,经常用到stack和unstack两个函数。stack的意思是堆叠,堆积,unstack即“不要堆叠”,我对两个函数是这样理解和区分的。 常见的数据的层次化结构有两种,一种是表格,一种是“花括号”,即下面这样的l两种形式: store1 store2 store3 ...转载 2019-03-07 23:08:46 · 1369 阅读 · 0 评论 -
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 · 3138 阅读 · 0 评论 -
偏度与峰度
偏度偏度(skewness),是统计数据分布偏斜方向和程度的度量,是统计数据分布非对称程度的数字特征。定义上偏度是样本的三阶标准化矩。偏度定义中包括正态分布(偏度=0) 算术平均值 = 中位数 = 众数,右偏分布(也叫正偏分布,其偏度>0) 众数 < 中位数 < 算术平均值,左偏分布(也叫负偏分布,其偏度<0) 算术平均值 < 中位数 < 众数。为...原创 2019-03-16 13:42:49 · 3345 阅读 · 0 评论 -
集成学习voting Classifier在sklearn中的实现
机器学习的算法有很多,对于每一种机器学习算法,考虑问题的方式都略微有所不同,所以对于同一个问题,不同的算法可能会给出不同的结果,那么在这种情况下,我们选择哪个算法的结果作为最终结果呢?那么此时,我们完全可以把多种算法集中起来,让不同算法对同一种问题都进行预测,最终少数服从多数,这就是集成学习的思路。其实在我们的生活中,也经常会用到集成学习的思路。比如想买一件化妆品时找朋友推荐,通常情况下,我们不...转载 2019-03-20 14:56:22 · 1010 阅读 · 0 评论 -
统计图之小提琴图解析
转载 2019-03-18 15:27:44 · 31554 阅读 · 0 评论 -
机器学习之朴素贝叶斯算法原理
朴素贝叶斯(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 · 530 阅读 · 0 评论 -
机器学习算法的随机数据生成
机器学习算法的随机数据生成原创 2019-03-23 15:16:03 · 327 阅读 · 0 评论 -
如何在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 · 314 阅读 · 0 评论 -
机器学习之EM算法
EM算法是一种迭代算法,用于含有隐变量(hidden variable)的概率模型参数的极大似然估计,或极大后验概率估计,我们经常会从样本观察数据中,找出样本的模型参数。 最常用的方法就是极大化模型分布的对数似然函数。但是在一些情况下,我们得到的观察数据有未观察到的隐含数据,由于我们有未知的隐含数据和模型参数,因而无法直接用极大化对数似然函数得到模型分布的参数。怎么办呢?这就是EM算法可以...原创 2019-03-05 11:10:48 · 353 阅读 · 0 评论 -
机器学习之RandomForest(随机深林)原理与实战
一、Bagging和Boosting的概念与区别1、bootstrap sampling(自助采样法)在训练学习器时,我们希望学习器不仅能很好地拟合训练样本,还可以有较低的泛化误差,因此一般采用留出法和交叉验证法,但是这些方法会受到数据规模的影响,尤其是在原始数据很少的情况下,而留一法又会带来巨大的计算量。因此可以采用自助采样法(bootstrap sampling)。假设当前有一个含...原创 2019-02-19 16:46:41 · 2827 阅读 · 1 评论 -
机器学习爬大树之(GBDT原理)--回归篇
集成学习(ensemble learning)想必应该是最为火爆的机器学习算法了,它通过构建并结合多个学习器来完成学习任务;类似于我们长说的“采百家之长”,目前的集成学习方法大致可分为两大类: (1)个体学习器间存在强依赖关系,必须串行生成的序列化方法(Adaboost,GBDT); (2)个体学习器间不存...原创 2018-12-17 20:18:33 · 819 阅读 · 0 评论 -
机器学习爬大树之决策树(CART与剪枝)
分类与回归树(classification and regression tree,CART)是应用广泛的决策树学习方法,同样由特征选择,树的生成以及剪枝组成,既可以用于分类也可以用于回归。CART假设假设决策树是二叉树,内部结点特征的取值为“是”或‘否’,左分支是取值为‘是’的分支,右分支是取值为“否”的分支,例如有个特征为‘年龄’,它的特征值为{‘年龄’:[‘小孩’,‘成年’,...原创 2018-12-11 23:07:53 · 941 阅读 · 0 评论 -
常用损失函数(Loss Function)
【深度学习】一文读懂机器学习常用损失函数(Loss Function)最近太忙已经好久没有写博客了,今天整理分享一篇关于损失函数的文章吧,以前对损失函数的理解不够深入,没有真正理解每个损失函数的特点以及应用范围,如果文中有任何错误,请各位朋友指教,谢谢~ 损失函数(loss function)是用来估量模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y,...转载 2018-12-18 09:41:15 · 4379 阅读 · 0 评论 -
机器学习爬大树之(GBDT原理)--二分类篇
上一篇文章讲了GBDT的回归篇,其实这一篇文章的原理的思想基本与回归相同,不同之处在于分类任务需用的损失函数一般为logloss、指数损失函数。 回顾下logistic regression有助于我们进一步的了解GBDT是如何进行分类的,线性模型是我们使用最简单的模型,但却蕴涵着机器学习中一些重要的基本思想,我们把线性回归模型简写为: ...原创 2018-12-18 11:47:40 · 709 阅读 · 1 评论 -
lightgbm原理
本文介绍LightGBM,它是一款常用的GBDT工具包,由微软亚洲研究院(MSRA)进行开发,在Github上开源的三天内收获1000 star。其速度比XGBoost快,并且精度也相当的不错。接下来看看其算法的内容。注意其设计理念:单个机器在不牺牲速度的情况下,尽可能多地用上更多的数据; 多机并行的时候,通信的代价尽可能地低,并且在计算上可以做到线性加速。于是其使用分布式 ...转载 2019-01-24 22:57:52 · 1437 阅读 · 1 评论 -
XGBoost原理与实例分析
这几天一直在研究XGboost的基本原理与代码调参,其原理是在GBDT的基础上进行优化,但也有很多的不同之处;所以自己准备更新两篇博客分为XGBoost原理与实例和XGBoost实战与调参优化来巩固这方面的知识。一、XGBoost原理分析在机器学习的问题中,目标函数(objective function)随处可见,目标函数一般由损失函数+正则化项。  ...原创 2019-01-10 11:19:54 · 6054 阅读 · 1 评论 -
XGBoost实战与调参优化
本篇主要内容包括XGBoost的入门教学、调参优化,将之前自己遇到的问题细心的整理一遍;XGBoost参数繁多,所以如果要调参,就一定要知道每个参数的作用于意义,因此本人十分建议在实战之前对XGBoost的理论分析有一定的了解,博主在之前写过一篇XGBoost原理与实例,里面详细的介绍了XGBoost的基本原理,有兴趣的小伙伴可以先去那里观摩一番,之后再看本篇有事半功倍的效果哦!!现简要说明...原创 2019-01-16 20:38:27 · 15208 阅读 · 3 评论 -
机器学习之Stacking原理与实战
学习过机器学习相关基础的童鞋应该知道,从基学习器的类型可将集成学习分为两大类:同质集成(homogeneous)Boosting:Adaboost、GBDT、XGboost、lightGBM等Bagging:RandomForest异质集成(heterogenous)Stacked Generalization(SG),也叫堆栈泛化1、堆栈泛化(Stacked G...原创 2019-02-23 11:14:46 · 4280 阅读 · 1 评论 -
协方差矩阵与散度矩阵的意义
在机器学习模式识别中,经常需要应用到协方差矩阵C和散度矩阵S。如在PCA(Principal Component Analysis)主成分分析中,需要计算样本的散度矩阵,有的论文是计算协方差矩阵。实质上两者意义差不多,散度矩阵乘以1/(n-1)就可以得到协方差矩阵了。在模式识别中,散度矩阵也称为散步矩阵,有的也称为类内离散度矩阵或者类内离差阵,用一个等式关系可表示为:散度...原创 2019-02-23 11:16:28 · 4085 阅读 · 0 评论 -
机器学习之PCA原理
PCA(principal Component Analysis)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。这篇文章旨在分析PCA的数学原理,了解PCA的工作机制是什么。数据的向量表示及降维问题一般情况下,在数据挖掘和机器学习中,数据被表示为向量。例如某个淘宝店2018年全年的流量及交易情况可以看成...原创 2019-02-23 11:17:24 · 481 阅读 · 0 评论 -
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 · 514 阅读 · 0 评论