★★模型选择和评估
对应sklearn中的ModelSelection模块。主要介绍交叉验证、网格搜索、模型评估等内容
维格堂406小队
人天生都是软弱的,唯其软弱而犹能承担起苦难,才显出人的尊严。
展开
-
回归评估指标-Python实现
常用回归模型评估指标的python计算逻辑。python和相关package版本:import sysimport sklearnimport pandas as pdimport numpy as npimport math print("Python版本:",sys.version)print("sklearn版本:",sklearn.__version__)print("pandas:",pd.__version__)print("numpy:",np.__version__)P原创 2020-06-19 14:37:47 · 920 阅读 · 0 评论 -
回归评估指标-总结
回归问题也有N多评估指标,介绍一些常用的指标。真实值用yyy表示,y^\hat{y}y^表示预测值MAEMAE(Mean Absolute Error)平均绝对误差MAE=1n∑i=1n∣yi−yi^∣MAE=\frac{1}{n} \sum_{i=1}^{n}\left|y_{i}-\hat{y_{i}}\right|MAE=n1i=1∑n∣yi−yi^∣MSEMSE(Mean Square Error)平均平方差/均方误差MSE=1n∑i=1n(yi−yi^)2MSE=原创 2020-06-19 14:36:33 · 832 阅读 · 0 评论 -
交叉验证-Python应用
主要介绍Skearn中交叉验证的相关函数:数据切分函数交叉验证函数 部分交叉验证函数是和网格搜索等调参方法一起用的,此文不涉及,另Package版本:Sklearn版本为0.22Pandas版本0.23.4Numpy版本1.17.4数据划分train_test_split随机把数据划分为成两部分,先看helpimport pandas as pdimport n...原创 2020-03-24 19:50:26 · 995 阅读 · 0 评论 -
交叉验证-原理小结
交叉验证是模型调参时常常借助的工具和方法,本文整理交叉验证相关内容。定义和概念训练集、验证集、测试集 如果给定的样本数据充足,进行模型选择的一种简单方法是随机地将数据集切分成三部分,分别为训练集(training set) 、验证集(validation set)和测试集(test set)。其中:训练集用来训练模型验证集用于模型的选择测试集用于最终对学习方法的评估 在学...原创 2020-03-24 19:48:36 · 1476 阅读 · 2 评论 -
Pipeline-Scala应用
Pipeline可以端对端的输出模型结果,中间DataFrame的转换、预处理等等都收归在Pipeline的各个stage中。相对而言,比较简洁和方便。用LR把Pipeline的整体流程跑通。import org.apache.spark.ml.{Model, Pipeline, PipelineModel, PipelineStage}import org.apache.spark.ml.t...原创 2020-03-24 19:40:53 · 567 阅读 · 0 评论 -
模型调参-网格搜索
调参中的参数是指模型本身的超参数,而不是求解目标函数可以得到的参数解析解。常用的方法是网格搜索,所谓的网格搜索可以理解成穷举法。而现实中,我们往往不能穷举所有的参数的组合。因此需要对部分参数,在一定范围内调参。具体的调参逻辑依赖于参数在不同算法中的数学含义。本文简单介绍网格搜索的逻辑,实际的应用需要结合算法和业务场景。 1.网格搜索 网格搜索是传统并且常用的超参数优化方法,一般...原创 2018-07-16 16:41:40 · 974 阅读 · 0 评论 -
模型调参-网格搜索Python实现
网格搜索的思想很直观,`sklearn`中有封装好的函数供调用。 1. 版本信息Python和sklearn的版本信息如下: 1. Python版本 3.6.3 Anaconda 2. Sklearn版本 0.19.1 2. 参数2.1 输入参数 参数 解释 Parameters estimator 估计器,也就是sle...原创 2018-07-16 18:47:10 · 1668 阅读 · 0 评论 -
模型调参-网格搜索Scala实现
本文主要内容如下:介绍Scala中使用网格搜索的流程使用Pipeline对代码做简单的整合网格搜索采用并行网格搜索输出每个超参组合的avgMetric对源码做一点解析版本信息:<scala.version>2.11.12</scala.version><spark.version>2.4.3</spark.version>数...原创 2020-03-25 19:47:20 · 629 阅读 · 0 评论 -
二分类模型评价指标-Scala实现
本文主要使用Scala计算二分类模型的评价指标,包括以下内容:precision、recall、F1ScoreaccuracyAUCKS对上述指标计算方法进行封装,方便调用。传入参数为预测的数据框构造数据简单的构造数据,得到预测的DataFrame,其包含预测的概率、label和真实的label。import org.apache.spark.ml.{Model, Pipeli...原创 2020-03-25 19:24:15 · 1287 阅读 · 0 评论 -
二分类模型评价指标-Python实现
Sklearn的metrics模块下有多个计算模型评价指标的函数,本文只介绍二分类的指标函数。 1.准确率1.1参数说明sklearn.metrics.accuracy_score(y_true, y_pred, normalize=True, sample_weight=None) 解释 参数 y_true 真实的label,一维数组...原创 2018-07-16 12:43:52 · 10357 阅读 · 2 评论 -
二分类模型评价指标-总结
knitr::opts_chunk$set(echo = TRUE) 主要介绍二分类评价的一些指标。 混淆矩阵 预测为正类 预测为负类 实际为正类 TP FN 实际为负类 FP TN符号标记: TP—将正类预测为正类数 FN—将正类预测为负类数 FP—将负类预测为正类数 TN—将负类预测为负类数 精确率通俗地说就是预测为正类的样本中,实际为正类的原创 2018-02-27 11:24:14 · 8591 阅读 · 0 评论 -
二分类模型评价指标-KS值
KS值— —概念— —KS值越大,表示模型能够将正、负客户区分开的程度越大。 通常来讲,KS&amp;gt;0.2即表示模型有较好的预测准确性。柯尔莫哥洛夫-斯米尔诺夫检验(Колмогоров-Смирнов检验)基于累计分布函数,用以检验两个经验分布是否不同或一个经验分布与另一个理想分布是否不同。绘制方式与ROC曲线略有相同,都要计算TPR和FPR。但是TPR和FPR都要做纵轴,横轴为把样本分成多少份。原创 2017-06-05 22:36:12 · 58085 阅读 · 2 评论 -
二分类模型评价指标-ROC&PRC
先Mark~一定补 2017-05-07符号TP、FN、FP、TN解释见下图: - 精确率(Precision):预测为“真”的样本中,确实是真的的占比 - 召回率(Recall):所有确实为真的样本中,被判为的“真”的占比 - TPR(True Positive Rate):真阳性、同Recall - FPR(False Positive Rate):假阳性,所有确实为假的样本原创 2017-05-07 22:50:14 · 3532 阅读 · 3 评论