机器学习
文章平均质量分 92
机器学习中的总结
忘川之水&
不要一味地低头拉车,还要抬头仰望生活。
展开
-
机器学习的建模工作问题
文章目录1 快速搭建你的第一个系统,并进行迭代(Build your firstsystem quickly, then iterate)2 在不同的划分上进行训练并测试2.1 为什么要在 不同的划分上?2.2 怎样进行划分?3 不匹配数据划分的偏差和方差(Bias and Variance with mismatched data distributions)3.1 什么是不匹配数据?3.2 不匹配情况下的训练-开发集4 定位数据不匹配(Addressing data mismatch)1 快速搭建你原创 2021-01-12 10:43:22 · 279 阅读 · 0 评论 -
大数据时代数据集划分的问题
文章目录1 训练/开发/测试集划分(Train/dev/test distributions)1.1为什么重视训练/开发/测试集划分?1.2 一个数据集划分的例子:训练集和测试集不同分布1.3 另一个实例:测试集变了1.4 划分训练/开发/测试集的建议2 开发集和测试集的大小(Size of dev and test sets)2.1 小数据时代的合理大小划分2.2 大数据时代的合理大小划分3 什么时候该改变开发/测试集和指标?3.1 为什么要改变开发/测试集和指标?3.2 一个需要改变评估指标的例子:进一原创 2021-01-11 14:03:11 · 1092 阅读 · 0 评论 -
随即森林与Adaboost自我认知总结
文章目录随机森林与Adaboost一:随机森林1.1:随即森林思想1.2 随机森林的两个随机1.3:随机森林的步骤1.4 随机森林的优点1.5 随机森林的缺点二:Adaboost2.1: Boosting思想2.2:AdaBoost步骤2.3: AdaBoost优点2.4:Adaboost算法缺点:随机森林与Adaboost一:随机森林1.1:随即森林思想随机森林是bagging思想下的一个算法。Bagging的思想很简单,从原来的数据集中随机抽取出数据,同时保持数据集的规模不变。用新的数据集训练弱原创 2021-01-06 20:59:54 · 678 阅读 · 0 评论 -
优化算法(一)
文章目录1.Mini-batch 梯度下降(Mini-batch gradient descent)1.1 为什么需要学习优化算法?1.2 什么是 mini-batch 梯度下降法?1.3 理解 mini-batch 梯度下降法(Understanding mini-batchgradient descent)1.4 设置mini-batch的指导原则2 指数加权平均数2.1 指数加权平均数的原理10.2.2 指数加权平均数的本质10.2.3 指数加权平均的好处10.2.4 指数加权平均的偏差修正1.M原创 2021-01-05 20:56:57 · 2054 阅读 · 0 评论 -
通俗理解决策树算法中的信息增益(最朴实的大白话,保准能看懂)
信息增益文章目录信息增益概念例子结论在决策树算法的学习过程中,信息增益是特征选择的一个重要指标,它定义为一个特征能够为分类系统带来多少信息,带来的信息越多,说明该特征越重要,相应的信息增益也就越大。概念信息熵是代表随机变量的复杂度(不确定度),条件熵代表在某一个条件下,随机变量的复杂度(不确定度)而我们的信息增益恰好是:信息熵 - 条件熵。换句话说,信息增益代表了在一个条件下,信息复杂度(不确定性)减少的程度。那么我们现在也很好理解了,在决策树算法中,我们的关键就是每次选择一个特征,特征有多个原创 2020-12-15 20:30:58 · 6026 阅读 · 6 评论 -
随机森林算法最基础掌握
文章目录随机森林简介随机森林的步骤随机森林中有两个可控制参数:随机森林的优点随机森林缺点随机森林为何要有放回抽样?随机森林简介随机森林就是建立很多决策树,组成一个决策树的“森林”,通过多棵树投票来进行决策。这种方法能够有效地提高对新样本的分类准确度。 随机森林在以决策树为基学习器构建Bagging集成(样本的随机选取)的基础上,进一步在决策树的训练过程中引入随机属性选择。随机森林的步骤首先,对样本数据进行有放回的抽样,得到多个样本集。具体来讲就是每次从原来的N个训练样本中有放回地随机抽取N个样原创 2020-12-15 16:26:05 · 887 阅读 · 2 评论 -
面试常见之混淆矩阵各种率
混淆矩阵简洁版:召回率:针对原来样本的,表示样本中正例有多少被预测正确的。 TP/TP+FN精确率:针对预测结果的,预测为正的样本中有多少是真正的正样本 TP/TP+FP通过率:模型判断为好样本的数量占总样本数的比例,TP+FP/TP+FN+FP+FN坏账率:模型为好样本中真正坏样本的比例 FP/TP+FP错误率:FN+FP/TP+FN+FP+TN正确率:TP+FN/TP+FN+FP+TN真正率:预测为正,实际为正的样本占所有正例样本的比例 TP/TP+FN假正率:预测为正,实际为负的样本原创 2020-12-01 18:28:26 · 802 阅读 · 0 评论 -
机器学习之浅谈KNN算法(图文结合)
文章目录一.KNN算法概述二.KNN算法介绍2.1距离计算2.2 K值选择三.KNN特点KNN算法的优势和劣势KNN算法优点KNN算法缺点四.代码:利用KNN实现鸢尾花数据集方法一(调库)方法二(底层源码)运算结果一.KNN算法概述KNN可以说是最简单的分类算法之一,同时,它也是最常用的分类算法之一,注意KNN算法是有监督学习中的分类算法,它看起来和另一个机器学习算法Kmeans有点像(Kmeans是无监督学习算法),但却是有本质区别的。那么什么是KNN算法呢,接下来我们就来介绍介绍吧。二.KNN算法原创 2020-11-29 20:20:49 · 2459 阅读 · 0 评论 -
最新机器学习面试题(一)--每日十道
每日整日十道机器学习面试题供自己学习与分享1.请详细说说支持向量机(support vector machine,SVM)的原理支持向量机,因其英文名为support vector machine,故一般简称SVM,通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化,最终可转化为一个凸二次规划问题的求解。2.哪些机器学习算法不需要做归一化处理?在实际应用中,需要归一化的模型:1.基于距离计算的模型:KNN。2.通过梯度下降法求解的模型:线原创 2020-11-27 16:30:25 · 261 阅读 · 0 评论 -
整合 逻辑回归 BGD(批量)+MBGD(小批量)+SGD(随机)底层实现 优缺点以及代码实现
梯度下降法作为机器学习中较常使用的优化算法,其有着三种不同的形式文章目录1、批量梯度下降(Batch Gradient Descent,BGD)2、随机梯度下降(Stochastic Gradient Descent,SGD)3、小批量梯度下降(Mini-Batch Gradient Descent, MBGD)1、批量梯度下降(Batch Gradient Descent,BGD)批量梯度下降法是最原始的形式,它是指在每一次迭代时使用所有样本来进行梯度的更新。 优点: (1)一次迭代是对所有样本原创 2020-11-27 09:41:23 · 848 阅读 · 0 评论 -
模型评估指标之概率分布评估指标(二)
一. ROC曲线:横轴是FPR(False Positive Rate),纵轴是TPR(True Positive Rate)。 关于ROC的绘制过程上篇文章已经讲解过了ROC曲线的绘制咱们在这里简单介绍一下:一个完美的模型可以通过设定一个概率阈值点,使得大于该概率阈值的样本均为正样本即坏样本,小于该概率阈值的样本均为负样本即好样本。由图可以看出:ROC 曲线由 A 点经过 B 点到达 C 点,表示在舍弃 0%的好用户的前提下,可以 100%地拒绝坏用户,即没有坏用户被准入图中虚线可以看原创 2020-11-26 19:34:47 · 2654 阅读 · 0 评论 -
透析混淆矩阵(举例说明)
混淆矩阵(confusion matrix)衡量的是一个分类器分类的准确程度。理解其概念本身容易理解,但一些特定术语易被混淆。混淆矩阵的基本模式:这里就给大家举一个例子来更好的说明一下混淆矩阵的各种情况观察混淆矩阵,可得如下结论:示例是一个二元分类问题,产生两种可能的分类:“是”或者“不是”。当预测一个事件是否发生时,“是”意味着该事件已经发生,而“否”则相反,该事件没有发生。该模型对这个事件进行了100次预测。在这100次预测结果中,“是”有45次,“否”有55次。但实际上原创 2020-11-25 19:05:16 · 7956 阅读 · 4 评论 -
ROC曲线绘制(详细)以及模型选择
在我们在讲解ROC曲线之前 首先要明确混淆矩阵的概念如下图:真正率 TPR:预测为正例且实际为正例的样本占所有正例样本(真实结果为正样本)的比例。假正率 FPR:预测为正例但实际为负例的样本占所有负例样本(真实结果为负样本)的比例。公式:下面进入正题:一 :ROC曲线简介来自百度百科解释(讲了半天我也没看懂) 接受者操作特性曲线(receiver operating characteristic curve,简称ROC曲线),又称为感受性曲线(sensitivity curve)。得原创 2020-11-24 19:22:39 · 88833 阅读 · 14 评论 -
LogisticRegression - 各种参数说明(详细)
LogisticRegression,一共有14个参数:逻辑回归参数详细说明参数说明如下:penalty:惩罚项,str类型,可选参数为l1和l2,默认为l2。用于指定惩罚项中使用的规范。newton-cg、sag和lbfgs求解算法只支持L2规范。L1G规范假设的是模型的参数满足拉普拉斯分布,L2假设的模型参数满足高斯分布,所谓的范式就是加上对参数的约束,使得模型更不会过拟合(overfit),但是如果要说是不是加了约束就会好,这个没有人能回答,只能说,加约束的情况下,理论上应该可以获得泛化能力原创 2020-11-24 10:51:32 · 2957 阅读 · 0 评论 -
解决Python包下载慢问题-添加国内源
有时候我们在pychar中下载包时特别的慢,那是因为python默认使用的是国外镜像,有时候下载非常慢,最快的办法就是在下载命令中增加国内源:pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple“常用的国内源如下:清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/阿里云 http://mirrors.aliyun.com/pypi/simple/中国科技大学 https:.原创 2020-11-22 20:32:19 · 1111 阅读 · 0 评论 -
逻辑(logistic)回归讲解以及手推
文章目录1、logistic回归的应用场景2、为什么损失函数不选MSE,而采用极大似然估计?3、logistic回归和线性回归的关系是什么?4、logistic回归为什么是线性模型?5、logistic回归的优点和缺点?6、能不能推演到多分类?7、附:logistic回归的推导过程1、logistic回归的应用场景Logistic回归是一种用于解决二分类问题的机器学习方法,是一种判别模型:表现为直接对条件概率P(y|x)建模,而不关心背后的数据分布P(x,y)用于估计某种事物的可能性。比如某用原创 2020-11-20 19:31:45 · 1513 阅读 · 1 评论 -
机器学习python中train_test_split()函数进行数据集分割
函数名:train_test_split所在包:sklearn.model_selection功能:划分数据的训练集与测试集参数解读:train_test_split (*arrays,test_size, train_size, rondom_state=None, shuffle=True, stratify=None)#红色为常用 arrays:特征数据和标签数据(array,list,dataframe等类型),要求所有数据长度相同。test_size / train_size:原创 2020-11-20 10:23:19 · 16131 阅读 · 3 评论 -
pandas(pd.concat)数据合并与重塑
1 concatconcat函数是在pandas底下的方法,可以将数据根据不同的轴作简单的融合pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False)参数说明objs: series,dataframe或者是panel构成的序列lsitaxis: 需要合并链接的轴,0是行,1是列原创 2020-11-19 14:57:10 · 2266 阅读 · 0 评论 -
pycharm中选中一个单词替换所有重复单词(类似于sublime 里的ctrl+D)
一次性选中并修改多个相同的变量在编码的时候,有时候要批量替换一个变量的名字,但是又不想使用批量替换,因为在不同的作用域中是可以使用相同的变量名的,如果批量替换的话会“误伤”其他。所以就需要有一个一次性选中多个相同的变量名,然后统一替换的功能。很庆幸,pycharm就有这样的功能例如:为了实现代码的简洁性, 我想把代码中的 categorical_var 全部替换成 a_var可能好多朋友都是直接一个一个删的然后再改,也有朋友想到了函数 sub,replace等等这时我们会问能不能像Sublin原创 2020-11-17 10:59:36 · 1716 阅读 · 0 评论