![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
genghaihua
这个作者很懒,什么都没留下…
展开
-
seaborn heatmap 热力图
fig, axes =plt.subplots(1,2)# print(train_df.corr())sns.heatmap(train_df.corr(), square=True, annot=True,ax=axes[0])sns.heatmap(train_df.corr(), annot=True,ax=axes[1])plt.show()可以看到各个特征变量之间的相关性都比较小(一般相关系数大于0.6可以进行变量剔除)。...原创 2020-05-21 18:04:01 · 1157 阅读 · 0 评论 -
seaborn violinplot小提琴图
小提琴图是用来展示多组数据的分布状态以及概率密度。跟箱线图类似,但是可以密度层面展示更好。在数据量非常大不方便一个一个展示的时候小提琴图特别适用。小提琴图如下:小提琴图各位置对应参数,中间一条就是箱线图数据,25%,50%,75%位置,细线区间为95%置信区间。import pandas as pdimport numpy as npimport seaborn as snsimport matplotlib.pyplot as pltpd.set_option('d..原创 2020-05-21 16:48:07 · 1562 阅读 · 0 评论 -
seaborn boxplot 箱线图
# coding=utf-8import pandas as pdimport numpy as npimport seaborn as snsimport matplotlib.pyplot as pltpd.set_option('display.max_columns', None)pd.set_option('display.width', None)plt.rcParams['font.sans-serif']=['SimHei'] #显示中文标签plt.rcParams['f.原创 2020-05-21 16:23:59 · 1926 阅读 · 0 评论 -
Seaborn distplot 核密度估计和直方图估计混合
# coding=utf-8import pandas as pdimport numpy as npimport seaborn as snsimport matplotlib.pyplot as pltpd.set_option('display.max_columns', None)pd.set_option('display.width', None)plt.rcParams['font.sans-serif']=['SimHei'] #显示中文标签plt.rcParams['f.原创 2020-05-21 15:22:17 · 691 阅读 · 0 评论 -
seaborn kdeplot 核密度估计
# coding=utf-8import pandas as pdimport numpy as npimport seaborn as snsimport matplotlib.pyplot as pltpd.set_option('display.max_columns', None)pd.set_option('display.width', None)plt.rcParams['font.sans-serif']=['SimHei'] #显示中文标签plt.rcParams['f.原创 2020-05-21 14:50:13 · 984 阅读 · 1 评论 -
seaborn countplot 统计
value counts for a single and tow categorical variable # coding=utf-8import pandas as pdimport numpy as npimport seaborn as snsimport matplotlib.pyplot as pltpd.set_option('display.max_columns', None)pd.set_option('display.width', None)plt....原创 2020-05-21 14:18:39 · 847 阅读 · 0 评论 -
XGBoost二阶泰勒展开公式推导
转载 2020-01-07 13:00:35 · 4415 阅读 · 0 评论 -
机器学习--Logistic回归计算过程的推导
Logistic回归总结作者:洞庭之子微博:洞庭之子-Bing(2013年11月)PDF下载地址:http://download.csdn.net/detail/lewsn2008/65474631.引言看了Stanford的Andrew Ng老师的机器学习公开课中关于Logistic Regression的讲解,然后又看了《机器学习实战》中的LogisticR...转载 2019-12-27 17:24:57 · 281 阅读 · 0 评论 -
cart树的代码示例参考机器学习实战
from numpy import *import numpy as npimport pickleimport matplotlib.pyplot as pltimport sysfrom matplotlib.font_manager import FontProperties # 设置字体属性def loadDataSet(fileName): ''' 读取...原创 2019-06-11 13:02:30 · 667 阅读 · 0 评论 -
cart 分类回归树分类和回归节点split原理
classification and regression trees 简称分类回归树,可以用来处理分类或者回归问题。分类树的节点split依据选择gini系数最小的分裂点,gini系数越小不确定性越小。回归树的节点分类采用最小方差作为分裂点的依据。对特征A,计算所有属性值的切分结果S1和S2数据集的方差,计算S1和S2的方差之和,取最小的为分裂点和分裂特征index为此次最优切分方...原创 2019-06-11 13:12:18 · 2031 阅读 · 0 评论 -
XGBoost与GBDT(一)-几种最优化方法对比
前言今天翻了下gayhub,随手点进去了follow的一个大佬wepe,看到一个非常和谐的repo名:tgboost.看完readme发现了作者的一个pptGBDT算法原理与系统设计简介,平时工作接触的比较少,对于这俩算法一直都是处于一知半解的状态.这回从头复习了一波相关的内容,写两篇记录下来.从根本上来说, GBDT 与XGBoost最大的区别在于二者用的优化方法不一样,所以从先从最优化方...转载 2019-06-11 21:10:32 · 2401 阅读 · 0 评论 -
梯度下降法和牛顿法的总结与比较
机器学习的本质是建立优化模型,通过优化方法,不断迭代参数向量,找到使目标函数最优的参数向量。最终建立模型通常用到的优化方法:梯度下降方法、牛顿法、拟牛顿法等。这些优化方法的本质就是在更新参数。一、梯度下降法 0、梯度下降的思想· 通过搜索方向和步长来对参数进行更新。其中搜索方向是目标函数在当前位置的负梯度方向。因为这个方向是最快的下降方向。步长确定了沿着这个搜索方向下降的大...转载 2019-06-11 21:17:53 · 14262 阅读 · 0 评论 -
lightgbm 使用示例
x_train, x_test, y_train, y_test = train_test_split(feature_df, label_df, test_size=0.33, random_state=42)train_data = lgb.Dataset(data=x_train,label=y_train)test_data = lgb.Dataset(data=x_test,l...原创 2019-06-12 13:02:47 · 4060 阅读 · 0 评论 -
xgb 切分点选择
XGBoost是串行生成CART树,但是XGBoost在处理特征时可以做到并行处理,XGBoost并行原理体现在最优切分点的选择,假设样本数据共M个特征,对于某一轮CART树的构建过程中,选择最佳切分点算法如下图:最佳切分点流程图1. 红色框表示根据每个特征大小对训练数据进行排序,保存为block结构,block个数与特征数量相等。2. 绿色宽表示对每个block结构选择最佳特征切分点...转载 2019-06-18 17:50:34 · 1321 阅读 · 0 评论 -
牛顿法
牛顿法用于最优化在最优化的问题中,线性最优化至少可以使用单纯行法求解,但对于非线性优化问题,牛顿法提供了一种求解的办法。假设任务是优化一个目标函数f,求函数f的极大极小问题,可以转化为求解函数f的导数f'=0的问题,这样求可以把优化问题看成方程求解问题(f'=0)。剩下的问题就和第一部分提到的牛顿法求解很相似了。这次为了求解f'=0的根,把f(x)的泰勒展开,展开到2阶形式:上面的表...转载 2019-06-27 20:25:07 · 203 阅读 · 0 评论 -
Python 确定多项式拟合/回归的阶数
通过 1至10 阶来拟合对比 均方误差及R评分,可以确定最优的“最大阶数”。import numpy as npimport matplotlib.pyplot as pltfrom sklearn.preprocessing import PolynomialFeaturesfrom sklearn.linear_model import LinearRegression,Perce...转载 2019-07-26 13:23:59 · 2494 阅读 · 1 评论 -
随机森林总结
1 随机有放回抽样训练数据,每棵树的训练集都可能包含重复样本,2 随机从特征中选择选择几个特征3 有放回抽样的意义:如果不是有放回抽样,会导致训练出来的每棵树之间差异很大,而随机森林是采用投票的方式获得结果,如果树之间的差异很大,那么无异于盲人摸象。求同存异是随机森林的训练思想。4 两个随机使得随机森林具有很好的抗干扰性,不容易陷入过拟合。5 随机森林分类的错误率与两个因素相关:...原创 2019-06-10 19:45:14 · 364 阅读 · 0 评论 -
目标函数、损失函数、代价函数
损失函数和代价函数是同一个东西,目标函数是一个与他们相关但更广的概念,对于目标函数来说在有约束条件下的最小化就是损失函数(loss function)1损失函数 (一般针对个体)我们给定 ,这三个函数都会输出一个 ,这个输出的 与真实值 可能是相同的,也可能是不同的,为了表示我们拟合的好坏,我们就用一个函数来度量拟合的程度,比如: ,这个函数就称为损失函数(loss func...原创 2019-06-15 21:39:49 · 381 阅读 · 0 评论 -
先验概率和后验概率的区别
从原因到结果的论证称为“先验的”,而从结果到原因的论证称为“后验的”。假如A代表结果,B代表导致A发生的原因那么P(Bi)表示先验概率P(Bi|A)代表后验概率贝叶斯公式:P(Bi|A)=P(A|Bi)P(Bi)/P(A)...原创 2019-06-15 21:17:00 · 7328 阅读 · 0 评论 -
机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)
版权声明: 本文由LeftNotEasy所有,发布于http://leftnoteasy.cnblogs.com。如果转载,请注明出处,在未经作者同意下将本文用于商业用途,将追究其法律责任。前言: 上次写过一篇关于贝叶斯概率论的数学,最近时间比较紧,coding的任务比较重,不过还是抽空看了一些机器学习的书和视频,其中很推荐两个:一个是stanford的machin转载 2016-01-03 16:37:38 · 477 阅读 · 0 评论 -
分类器的性能评估
本文转载于http://funhacks.net/2015/08/12/classifier-evaluation/感谢原作者的分享1. 背景当我们使用一个分类器进行预测时,我们会遇到一个很重要的问题:如何评价这个分类器的预测效果?这里我构造一个场景作为例子来说明。现在有10个人,其中1个人有感冒症状,9个人没有感冒症状。现在让医生进行诊断,判断哪些人有感冒,哪转载 2016-04-23 22:47:01 · 8795 阅读 · 0 评论 -
均方根误差(RMSE),平均绝对误差(MAE),标准差(Standard Deviation)的对比
RMSERoot Mean Square Error,均方根误差 是观测值与真值偏差的平方和与观测次数m比值的平方根。 是用来衡量观测值同真值之间的偏差MAEMean Absolute Error ,平均绝对误差 是绝对误差的平均值 能更好地反映预测值误差的实际情况.标准差Standard Deviation ,标准差 是方差的算数平方根 是用来衡量一组数自身的离散程度...转载 2018-07-19 17:32:03 · 10006 阅读 · 0 评论 -
协同过滤推荐
一、协同过滤算法的原理及实现二、基于物品的协同过滤算法详解 一、协同过滤算法的原理及实现 协同过滤推荐算法是诞生最早,并且较为著名的推荐算法。主要的功能是预测和推荐。算法通过对用户历史行为数据的挖掘发现用户的偏好,基于不同的偏好对用户进行群组划分并推荐品味相似的商品。协同过滤推荐算法分为两类,分别是基于用户的协同过滤算法(user-based collaboratI...转载 2018-08-09 21:35:46 · 311 阅读 · 0 评论 -
线性模型和树模型的区别
树形模型是一个一个特征进行处理,之前线性模型是所有特征给予权重相加得到一个新的值。决策树与逻辑回归的分类区别也在于此,逻辑回归是将所有特征变换为概率后,通过大于某一概率阈值的划分为一类,小于某一概率阈值的为另一类;而决策树是对每一个特征做一个划分。另外逻辑回归只能找到线性分割(输入特征x与logit之间是线性的,除非对x进行多维映射),而决策树可以找到非线性分割。而树形模型更加接近人的思维方式...原创 2018-08-01 14:23:28 · 5339 阅读 · 0 评论 -
信息增益
介绍信息增益之前,首先需要介绍一下熵的概念,这是一个物理学概念,表示“一个系统的混乱程度”。系统的不确定性越高,熵就越大。假设集合中的变量X={x1,x2…xn},它对应在集合的概率分别是P={p1,p2…pn}。那么这个集合的熵表示为:举一个的例子:对游戏活跃用户进行分层,分为高活跃、中活跃、低活跃,游戏A按照这个方式划分,用户比例分别为20%,30%,50%。游戏B按照这种方式划分,用...转载 2018-08-01 14:41:01 · 334 阅读 · 0 评论 -
机器学习分类模型评价指标详述
问题建模机器学习解决问题的通用流程:问题建模——特征工程——模型选择——模型融合其中问题建模主要包括:设定评估指标,选择样本,交叉验证解决一个机器学习问题都是从问题建模开始,首先需要收集问题的资料,深入理解问题,然后将问题抽象成机器可预测的问题。在这个过程中要明确业务指标和模型预测目标,根据预测目标选择适当指标用于模型评估。接着从原始数据中选择最相关的样本子集用于模型训练,并对样本子集...转载 2018-09-10 11:38:37 · 15025 阅读 · 4 评论 -
语言模型(N-Gram)
问题描述:由于公司业务产品中,需要用户自己填写公司名称,而这个公司名称存在大量的乱填现象,因此需要对其做一些归一化的问题。在这基础上,能延伸出一个预测用户填写的公司名是否有效的模型出来。目标:问题提出来了,就是想找到一种办法来预测用户填写的公司名是否有效?问题分析:要想预测用户填写的公司名称是否有效,需要用到NLP的知识内容,我们首先能够想到的是利用NLP中的语言模型,来对公司名称进行训练...转载 2019-01-25 15:45:23 · 372 阅读 · 0 评论 -
pycharm plt.show this application failed to start问题解决
pip install -U matplotlib原创 2019-03-20 16:08:05 · 1365 阅读 · 0 评论 -
统计学P值
P 值是最常用的一个统计学指标,几乎统计软件输出结果都有P值。统计学的观点,超过一定基准(比如 5%,其实是低于5%),就不能简单地认为这是偶然事件了,而是受到了外在的影响。数学大佬出来定义了一个称为值(p-value)的概念: 罗纳德·艾尔默·费希尔爵士(1890-1962)得到的就是(单侧P值):所以(双侧P值):如果扔10次出现出现8次正面:一...原创 2019-05-06 19:30:02 · 11089 阅读 · 0 评论 -
Wilcoxon ci_lower_bound 排序
PROBLEM: You are a web programmer. You have users. Your users rate stuff on your site. You want to put the highest-rated stuff at the top and lowest-rated at the bottom. You need some sort of “score” ...原创 2019-05-07 15:22:59 · 255 阅读 · 0 评论 -
最小二乘法推导
前言 普通最小二乘法(ordinary least squares,OLS)是线性回归预测问题中一个很重要的概念,在Introductory Econometrics A Modern Approach (Fourth Edition)第2章 简单回归模型 中,花了很详细的篇幅对此作出介绍。应聘数据挖掘岗位,就有考到对普通最小二乘法的推导证明。最小二乘法十分有用,例如可以用...转载 2019-05-10 14:26:13 · 26920 阅读 · 0 评论 -
显著性水平 p值 z值
1 显著性水平显著性水平是估计总体参数落在某一区间内,可能犯错误的概率,用α表示。α表示原假设为真时,拒绝原假设的概率。1-α 为置信度或置信水平,其表明了区间估计的可靠性 。2 P值P值代表,在假设原假设(HO)正确时,出现现状或更差的情况的概率.设置一个想要推翻的结论的对立面的null hypothesis,而P值就是假设null hypothesis成立的情况下,计算...原创 2019-06-14 11:38:03 · 66167 阅读 · 0 评论 -
置信区间计算
而区间估计又称为置信区间估计,要得到一个置信区间需要样本统计量(比如均值)和从数据中计算出方差,中心极限定理告诉我们均值会接近一个高斯分布,我们可以用标准差计算出真实期望落在选定区间的概率,例如,以均值μ^为中心的概率为0.95的区域为(基于高斯分布):0.95是置信水平,0.05是显著性水平在置信水平为0.95下的置信区间为表达方式:interval(c1,c2) - 置信区间。...原创 2019-06-14 13:18:58 · 15382 阅读 · 0 评论 -
numpy数据类型
numpy中常见的数据类型如下。在使用的时候依据数据范围选择合适的数据类型,避免占用不必要的内存。Numpy type C type Description np.int8 int8_t Byte (-128 to 127) np.int16 int16_t Integer (-32768 to 32767) np.int32 int32...原创 2019-06-19 11:36:22 · 505 阅读 · 0 评论 -
python利用eval方法提升dataframe运算性能
eval方法可以直接利用c语言的速度,而不用分配中间数组,不需要中间内存的占用.如果包含多个步骤,每个步骤都要分配一块内存import numpy as npimport pandas as pdimport timeitdf = pd.DataFrame({'a': np.random.randn(10000000), 'b': np....原创 2019-06-19 16:47:28 · 1983 阅读 · 0 评论 -
条件概率公式 全概率公式 贝叶斯概率公式对比
1 条件概率公式: P(A|B)代表事件B发生的情况下A发生的概率。P(A|B)=P(AB)/P(B)2 全概率公式A代表结果,B代表原因。导致A发生的原因B可以细化为B1、B2......Bn 。其中B1----Bn事件互斥,不可能同时出现。P(A)=P(AB1)+P(AB2)+.....+P(ABn) =P(A|B1)P(B1)+P(A|B2)...原创 2019-06-15 21:05:17 · 12575 阅读 · 0 评论 -
最小二乘法多项式曲线拟合原理与实现
概念最小二乘法多项式曲线拟合,根据给定的m个点,并不要求这条曲线精确地经过这些点,而是曲线y=f(x)的近似曲线y= φ(x)。原理[原理部分由个人根据互联网上的资料进行总结,希望对大家能有用] 给定数据点pi(xi,yi),其中i=1,2,…,m。求近似曲线y= φ(x)。并且使得近似曲线与y=f(x)的偏差最小。近似曲线在点pi处的偏转载 2015-03-24 11:28:15 · 2959 阅读 · 0 评论