机器学习
文章平均质量分 60
静默安然
这个作者很懒,什么都没留下…
展开
-
SMOTE算法
SMOTE算法的思想是合成新的少数类样本,合成的策略是对每个少数类样本a,从它的最近邻中随机选一个样本b,然后在a、b之间的连线上随机选一点作为新合成的少数类样本。如图所示:转载 2021-06-18 16:07:28 · 11960 阅读 · 0 评论 -
L1与L2正则化?
模型构建项目整体流程转载 2021-06-16 21:18:37 · 179 阅读 · 0 评论 -
特征缩放注意难点
为了提高模型精度和模型运算速度,合理利用特征缩放处理数据尤为重要。但需要注意的是,不是所有建模过程都需要特征缩放操作。基于树的方法是不需要特征归一化或标准化,比如随机森林,bagging 和boosting等。基于参数的模型或基于距离的模型,需要特征归一化或标准化。...原创 2021-05-27 21:06:49 · 157 阅读 · 0 评论 -
关于缺失值的那些事
什么样的模型不需要填充缺失值?其实不是模型不需要填充缺失值,是写开发工具包的程序员在设计这个函数时已经替我们写好了一个默认的填充值处理的方法。转载 2021-05-27 18:15:40 · 223 阅读 · 0 评论 -
回归评价指标:MSE、RMSE、MAE、R2、Adjusted R2
1、均方误差:MSE(Mean Squared Error)其中,为测试集上真实值-预测值。SSE(和方差)该统计参数计算的是拟合数据和原始数据对应点的误差的平方和,计算公式如下SSE=SSE越接近于0,说明模型选择和拟合更好,数据预测也越成功。接下来的MSE和RMSE因为和SSE是同出一宗,所以效果一样2、均方根误差:RMSE(Root Mean Squard Error)可以看出,RMSE=sqrt(MSE)。3、平均绝对误差:MAE(Mean Absolute转载 2021-05-20 18:56:23 · 10853 阅读 · 0 评论 -
逻辑回归:逻辑回归中的参数
转载自:https://blog.csdn.net/Captain_DUDU/article/details/105081643LogisticRegression,一共有14个参数:逻辑回归参数详细说明参数说明如下:penalty:惩罚项,str类型,可选参数为l1和l2,默认为l2。用于指定惩罚项中使用的规范。newton-cg、sag和lbfgs求解算法只支持L2规范。L1G规范假设的是模型的参数满足拉普拉斯分布,L2假设的模型参数满足高斯分布,所谓的范式就是加上对参数的约束,使得模型更转载 2021-05-14 22:00:58 · 3161 阅读 · 0 评论 -
class_weight有什么作用?样本失衡如何做?
转载自:https://blog.csdn.net/Captain_DUDU/article/details/105081643那么class_weight有什么作用呢?在分类模型中,我们经常会遇到两类问题:第一种是误分类的代价很高。比如对合法用户和非法用户进行分类,将非法用户分类为合法用户的代价很高,我们宁愿将合法用户分类为非法用户,这时可以人工再甄别,但是却不愿将非法用户分类为合法用户。这时,我们可以适当提高非法用户的权重。第二种是样本是高度失衡的,比如我们有合法用户和非法用户的二元样本数据1转载 2021-05-14 22:00:43 · 8230 阅读 · 0 评论 -
模型融合
Task5 模型融合Tip:此部分为零基础入门金融风控的 Task5 模型融合部分,欢迎大家后续多多交流。赛题:零基础入门数据挖掘 - 零基础入门金融风控之贷款违约预测5.1 学习目标将之前建模调参的结果进行模型融合。 尝试多种融合方案,提交融合结果并打卡。(模型融合一般用于A榜比赛的尾声和B榜比赛的全程)5.2 内容介绍模型融合是比赛后期上分的重要手段,特别是多人组队学习的比赛中,将不同队友的模型进行融合,可能会收获意想不到的效果哦,往往模型相差越大且模型表现都不错的前提下,.转载 2021-04-25 20:28:37 · 115 阅读 · 0 评论 -
模型对比与性能评估
模型对比与性能评估4.4.1 逻辑回归 优点 训练速度较快,分类的时候,计算量仅仅只和特征的数目相关; 简单易理解,模型的可解释性非常好,从特征的权重可以看到不同的特征对最后结果的影响; 适合二分类问题,不需要缩放输入特征; 内存资源占用小,只需要存储各个维度的特征值; 缺点 逻辑回归需要预先处理缺失值和异常值【可参考task3特征工程】; 不能用Logistic回归去解决非线性问题,因为Logistic的决策面是线性的; 对多重转载 2021-04-25 19:53:43 · 1230 阅读 · 0 评论 -
集成模型
集成模型集成方法(ensemble method)通过组合多个学习器来完成学习任务,通过集成方法,可以将多个弱学习器组合成一个强分类器,因此集成学习的泛化能力一般比单一分类器要好。集成方法主要包括Bagging和Boosting,Bagging和Boosting都是将已有的分类或回归算法通过一定方式组合起来,形成一个更加强大的分类。两种方法都是把若干个分类器整合为一个分类器的方法,只是整合的方式不一样,最终得到不一样的效果。常见的基于Baggin思想的集成模型有:随机森林、基于Boosting思想的转载 2021-04-25 18:57:07 · 2074 阅读 · 0 评论 -
warnings.filterwarnings(“ignore“)
在python中运行代码经常会遇到的情况是——代码可以正常运行但是会提示警告,有时特别讨厌。那么如何来控制警告输出呢?其实很简单,python通过调用warnings模块中定义的warn()函数来发出警告。我们可以通过警告过滤器进行控制是否发出警告消息。import warningswarnings.filterwarnings('ignore')...转载 2021-04-24 11:20:34 · 606 阅读 · 0 评论 -
log_loss对数损失函数(Logarithmic Loss Function)的原理和 Python 实现
官方文档https://scikit-learn.org/stable/modules/generated/sklearn.metrics.log_loss.html原理 对数损失, 即对数似然损失(Log-likelihood Loss), 也称逻辑斯谛回归损失(Logistic Loss)或交叉熵损失(cross-entropy Loss), 是在概率估计上定义的.它常用于(multi-nominal, 多项)逻辑斯谛回归和神经网络,以及一些期望极大算法的变体. 可用于评估分类器的概率输出.转载 2021-04-24 11:13:17 · 8075 阅读 · 1 评论 -
StratifiedKFold 和 KFold 的比较
将全部训练集S分成k个不相交的子集,假设S中的训练样例个数为m,那么每一个自己有m/k个训练样例,相应的子集为{s1,s2,...,sk} 每次从分好的子集里面,拿出一个作为测试集,其他k-1个作为训练集 在k-1个训练集上训练出学习器模型,把这个模型放到测试集上,得到分类率的平均值,作为该模型或者假设函数的真实分类率StratifiedKFold用法类似Kfold,但是他是分层采样,确保训练集,测试集中各类别样本的比例与原始数据集中相同Parametersn_splits : int转载 2021-04-24 11:02:07 · 912 阅读 · 0 评论 -
AUC PR曲线 学习曲线
AUC(Area Under Curve)被定义为ROC曲线下的面积。我们往往使用AUC值作为模型的评价标准是因为很多时候ROC曲线并不能清晰的说明哪个分类器的效果更好,而作为一个数值,对应AUC更大的分类器效果更好。其中,ROC曲线全称为受试者工作特征曲线 (receiver operating characteristic curve),它是根据一系列不同的二分类方式(分界值或决定阈),以真阳性率(敏感性)为纵坐标,假阳性率(1-特异性)为横坐标绘制的曲线。AUC就是衡量学习器优劣的一种性能指标原创 2021-04-23 15:22:09 · 4201 阅读 · 0 评论 -
机器学习之混淆矩阵
今天我们来说下分类情况下常用的一个指标:混淆矩阵。那什么是混淆矩阵呢?其实就是把所有类别的预测结果与真实结果按类别放置到了同一个表里,在这个表格中我们可以清楚看到每个类别正确识别的数量和错误识别的数量。那么混淆矩阵在什么情况下最能直观看到其优势呢?答案是类别不平衡时。我们下面来先看个例子:我们看下这个识别的准确率=0.8,哇,准确率不低呀,都80分了,挺好的啊!!!但是我们看下预测结果,全部是0,一个1就没有,这就尴尬了~~~这是因为我们的真实类别有80%是0类,所以把所有类别都设置转载 2021-04-17 17:33:13 · 1215 阅读 · 0 评论 -
SelectKBest特征选择--选择前K个得分高的特征值
在sklearn中特征选择函数SelectKBestfrom sklearn.feature_selection import SelectKBest调用方式#skb = SelectKBest(chi2, k=3) ## 只考虑3个维度#X1_train = skb.fit_transform(X1_train, Y1_train) ## 训练模型及特征选择参数1、score_func : callable,函数取两个数组X和y,返回一对数组(scores, pvalues)或一个分数转载 2021-04-15 19:11:27 · 10079 阅读 · 0 评论 -
绘制学习曲线——plot_learning_curve
plot_learning_curve函数官方放提供的模板函数,可以无需修改,初学时我们仅需要知道传入的参数意义即可。先说说函数里面的一个东西,也是画曲线的核心sklearn.model_selection的learning_curve,该学习曲线函数返回的是train_sizes,train_scores,test_scores: 在画训练集的曲线时:横轴为 train_sizes,纵轴为 train_scores_mean; 画测试集的曲线时:横轴为train_sizes,纵轴为...转载 2021-04-13 17:00:35 · 3507 阅读 · 1 评论 -
回归评价指标:MSE、RMSE、MAE、R2、Adjusted R2
回归评价指标:MSE、RMSE、MAE、R2、Adjusted R2 1、均方误差:MSE(Mean Squared Error) 其中,为测试集上真实值-预测值。 2、均方根误差:RMSE(Root Mean Squard Error) 可以看出,RMSE=sqrt(MSE)。 3、平均绝对误差:MAE(Mean Absolute Error) 以上各指标,根据不同业务,会有不同的值大小,不具有可读性,因此还可以使用以...转载 2021-03-31 11:12:17 · 2145 阅读 · 0 评论 -
特征选择和数据降维
为什么要进行特征选择和数据降维?“特征选择是选择用于模型构建的相关特征的子集的过程”,或者换句话说,选择最重要的特征。降维是指通过保留一些比较重要的特征,去除一些冗余的特征,减少数据特征的维度。但降维之后的数据不可解释了,改变了原来的维度所在的意义,产生了新的维度。一、特征选择的三种方式?1.过滤选择二、降维1.PCA---方差越大,数据反应的信息就越多...原创 2021-03-27 17:13:13 · 647 阅读 · 0 评论 -
特征预处理:归一化/标准化/缺失值
转载于https://www.pianshen.com/article/3411681144/感谢什么时候需要标准化和归一化?那么是否任何情况都有必要进行标准化归一化呢?答案是否定的。我们所熟知的决策树、随机森林等概率模型,就不需要。因为它们并不关心变量的值,而是关心变量的分布和变量之间的条件概率。当变量的值影响模型的训练效果时,我们使用,否则不需要举例:KNN,欧氏距离要计算变量之间的距离,变量量级不统一,影响模型,故使用标准化。逻辑回归是不是用正则。如果你不用正则,那么.转载 2021-03-27 15:55:23 · 1250 阅读 · 0 评论 -
精确率和召回率
原创 2021-03-26 21:11:17 · 101 阅读 · 0 评论 -
逻辑回归原理
逻辑回归一般用于预测连续变量,不用于分类问题上,但是他用在二分类问题上可以表现的很好。逻辑回归Logistic Regression,简称LR。它的特点是能够把我们的特征输入集合转化为0和1这两类的概率。逻辑回归的本质是线性回归,只是在特征到结果的映射上加入了一层Sigmod函数映射,即先把特征线性求和,再使用Sigmoid函数转为概率求解,大于0.5的分为1类,小于0.5的分为0类,进行分类。Logistic函数(或称为Sigmoid函数),函数形式为:案例:...原创 2021-03-26 20:50:43 · 1032 阅读 · 0 评论 -
正则化与岭回归
1、正则化2、岭回归3.案例原创 2021-03-26 17:40:07 · 288 阅读 · 0 评论 -
Sklearn中的fit与fit_transform
Note: 必须先用fit_transform(trainData),之后再transform(testData) 如果直接transform(testData),程序会报错 如果fit_transfrom(trainData)后,使用fit_transform(testData)而不是transform(testData),虽然也能归一化,但是两个结果不是在同一个“标准”下的,具有明显差异。(一定要避免这种情况) 写在前面 fit和transform没有任何关系...转载 2021-03-26 17:07:38 · 4180 阅读 · 0 评论 -
线性回归之
线性回归线性回归通过一个或者多个自变量与因变量之间进行建模的回归分析。其中特点为一个或多个称为回归系数的模型参数的线性组合。线性回归方程:损失函数:损失函数推理过程:1.公式转换:2.误差公式:3.转化为Θ求解:,负相关,要想误差越小,就要越大。...原创 2021-03-26 16:28:31 · 2155 阅读 · 0 评论 -
机器学习梯度下降法,最通俗易懂的解释
本文从一个下山场景开始,提出梯度下降算法的基本思想,接着从数学上解释梯度下降算法原理,最后实现一个简单的梯度下降算法实例! 梯度下降的场景假设 梯度下降法的基本思想可以类比为一个下山的过程。假设这样一个场景:一个人被困在山上,需要从山上下来(i.e. 找到山的最低点,也就是山谷)。但此时山上的浓雾很大,导致可视度很低。因此,下山的路径就无法确定,他必须利用自己周围的信息去找到下山的路径。这个时候,他就可以利用梯度下降算法来帮助自己下山。具体来说就是,以他当前的所处的位置为基准,寻找这个位置最...转载 2021-03-26 15:02:51 · 891 阅读 · 0 评论 -
集成算法之随机森林
集成算法之随机森林(森林就是构建多个树,随机就是取数是随机且有范围的)集成算法包含(bagging/boosting/stacking)在机器学习中,随机森林是一个包含多个决策树的分类器,并且其输出的类别是由所有决策树输出的类别的众数而定。利用相同的训练数搭建多个独立的分类模型,然后通过投票的方式,以少数服从多数的原则作出最终的分类决策。例如,如果你训练了5个树,其中有4个树的结果是 True ,1个数的结果是 False ,那么最终结果会是 True .在前面的决策当中我们提到,一个标准的决策树会根原创 2021-03-25 19:58:26 · 581 阅读 · 0 评论 -
决策树
决策树的原理:通过不断的划分条件来进行分类,其中决策树最关键的就是,找出那些对结果影响最大的条件(信息熵小的),放在前面,来节省查找次数。排序:是否有房子、信贷情况的信息增益、是否有工作、年龄决策树算法选择ID3信息增益大的放前面,C4.5信息增益率大的放前面,CRAT选基尼系数小的放前面(CART分类树算法使用基尼系数来代替信息增益比,基尼系数代表了模型的不纯度,基尼系数越小,则不纯度越低,特征越好。这和信息增益(比)是相反的。)树的层级和叶子...转载 2021-03-25 18:06:51 · 3817 阅读 · 1 评论 -
机器学习算法简介
机器学习算法数据类型:不同类型的数据集采用的算法是不一样的。总体来说,生活场景中只有两种类型的数据,一种是离散型,一种是连续型:1.离散型数据:由记录不同类别个体的数目所得到的数据,又称计数数据,所有这些数据全部都是整数,而且不能再细分,也不能进一步提高他们的精确度。比如分类就是离散型数据。2.连续型数据:变量可以在某个范围内取任一数,即变量的取值可以是连续的。如,长度、时间、质量值等,这类数通常是非整数,含有小数部分。|可用数据集:1. Kaggle :一个大数据竞赛平台,上面的数据都是真实的,并原创 2021-03-24 11:14:54 · 329 阅读 · 0 评论 -
有监督学习与无监督学习的区别
有监督学习监督学习的训练集要求包括输入输出,也可以说是特征和目标。训练集中的目标是由人标注的。监督学习就是最常见的分类(注意和聚类区分)问题,通过已有的训练样本(即已知数据及其对应的输出)去训练得到一个最优模型(这个模型属于某个函数的集合,最优表示某个评价准则下是最佳的),再利用这个模型将所有的输入映射为相应的输出,对输出进行简单的判断从而实现分类的目的。也就具有了对未知数据分类的能力。监督学习的目标往往是让计算机去学习我们已经创建好的分类系统(模型)。监督学习是训练神经网络和决策树的常见技术。这两转载 2021-03-24 10:32:32 · 18469 阅读 · 0 评论 -
static用法
需求:某令局部变量的生命周期贯穿函数调用及之后的时间。可以将局部变量定义成static类型从而获得这样的对象局部静态对象在程序的执行路径第一次经过对象定义语句时初始化,直到程序终止才被销毁,在此期间即使对象所在的函数结束执行也不会对它有所影响。一个函数可以被多次声明,但只能被定义一次。函数的声明与定义的区别是函数声明无需函数体,用;代替,因此也可以省略形参。函数声明也称为函数原...原创 2019-02-25 10:54:13 · 270 阅读 · 0 评论