精华内容
下载资源
问答
  • 使用sklearn的cross_val_score进行交叉验证

    万次阅读 多人点赞 2018-06-15 18:21:36
    在构建模型时,调参是极为重要的一个步骤,因为只有选择最佳的参数才能构建一个最优的模型。但是应该如何确定参数的值呢?所以这里记录一下选择参数的方法,以便后期复习以及分享。...sklearn 的 cross_val_sc...

    在构建模型时,调参是极为重要的一个步骤,因为只有选择最佳的参数才能构建一个最优的模型。但是应该如何确定参数的值呢?所以这里记录一下选择参数的方法,以便后期复习以及分享。

    (除了贝叶斯优化等方法)其它简单的验证有两种方法:1、通过经常使用某个模型的经验和高超的数学知识。2、通过交叉验证的方法,逐个来验证。

    很显然我是属于后者所以我需要在这里记录一下

    sklearn 的 cross_val_score

    我使用是cross_val_score方法,在sklearn中可以使用这个方法。交叉验证的原理不好表述下面随手画了一个图:

    (我都没见过这么丑的图)简单说下,比如上面,我们将数据集分为10折,做一次交叉验证,实际上它是计算了十次,将每一折都当做一次测试集,其余九折当做训练集,这样循环十次。通过传入的模型,训练十次,最后将十次结果求平均值。将每个数据集都算一次

    交叉验证优点:

    1:交叉验证用于评估模型的预测性能,尤其是训练好的模型在新数据上的表现,可以在一定程度上减小过拟合。
    2:还可以从有限的数据中获取尽可能多的有效信息。

    我们如何利用它来选择参数呢?

    我们可以给它加上循环,通过循环不断的改变参数,再利用交叉验证来评估不同参数模型的能力。最终选择能力最优的模型。

    下面通过一个简单的实例来说明:(iris鸢尾花)

    from sklearn import datasets	#自带数据集
    from sklearn.model_selection import train_test_split,cross_val_score	#划分数据 交叉验证
    from sklearn.neighbors import KNeighborsClassifier  #一个简单的模型,只有K一个参数,类似K-means
    import matplotlib.pyplot as plt
    iris = datasets.load_iris()		#加载sklearn自带的数据集
    X = iris.data 			#这是数据
    y = iris.target 		#这是每个数据所对应的标签
    train_X,test_X,train_y,test_y = train_test_split(X,y,test_size=1/3,random_state=3)	#这里划分数据以1/3的来划分 训练集训练结果 测试集测试结果
    k_range = range(1,31)
    cv_scores = []		#用来放每个模型的结果值
    for n in k_range:
        knn = KNeighborsClassifier(n)   #knn模型,这里一个超参数可以做预测,当多个超参数时需要使用另一种方法GridSearchCV
        scores = cross_val_score(knn,train_X,train_y,cv=10,scoring='accuracy')  #cv:选择每次测试折数  accuracy:评价指标是准确度,可以省略使用默认值,具体使用参考下面。
        cv_scores.append(scores.mean())
    plt.plot(k_range,cv_scores)
    plt.xlabel('K')
    plt.ylabel('Accuracy')		#通过图像选择最好的参数
    plt.show()
    best_knn = KNeighborsClassifier(n_neighbors=3)	# 选择最优的K=3传入模型
    best_knn.fit(train_X,train_y)			#训练模型
    print(best_knn.score(test_X,test_y))	#看看评分

    最后得分0.94

    关于 cross_val_score 的 scoring 参数的选择,通过查看官方文档后可以发现相关指标的选择可以在这里找到:文档

    这应该是比较简单的一个例子了,上面的注释也比较清楚,如果我表达不清楚可以问我。

    以上都是个人理解,如果有问题还望指出。

     

     

    展开全文
  • cross_val_score的 scoring参数值解析

    万次阅读 多人点赞 2018-09-24 20:56:07
    一般我们在模型训练过程中,...sklearn.model_selection 的 cross_val_score 方法来计算模型的得分 scores = cross_val_score(clf, iris.data, iris.target, cv=5,scoring='accuracy') 我们看到这里有个参数 sc...

    一般我们在模型训练过程中,会采用K折交叉验证的方法来验证模型的表现,从而进行调参,一般我们会用到

    sklearn.model_selection 的 cross_val_score 方法来计算模型的得分 
    scores = cross_val_score(clf, iris.data, iris.target, cv=5,scoring='accuracy')

    我们看到这里有个参数 scoring 参数,去scikit-learn官网了解之后发现这里的 scoring参数是默认为 None 的

    sklearn.model_selection.cross_val_score(estimator, X, y=None, groups=None, scoring=None, cv=None, n_jobs=1, verbose=0, fit_params=None, pre_dispatch=‘2*n_jobs’)

    scoring 参数可以有下面这些选择 具体参见 scoring-parameter

    这里文档对分类、聚类和回归三种问题下可以使用的参数进行了说明

    分类(classification)问题中

    常用的是 ‘precision’ 和 ’recall‘ 和 ’f1,三者的关系可以用下图来表示

    假设这是一个二元分类的问题

    准确率(precision)也就是被分类器检测到的数据中 分类正确的部分

    召回率(recall)就是 正类中被分类正确的部分

    而F1值就是 准确率和召回率的调和平均数

    在实际应用中,如果是做搜索类的问题,那就是在保证召回率的情况下提升准确率

    在做垃圾邮件检测之类的问题,就是要保证准确率的情况下提升召回率

    具体也就是遇到具体问题看两者的权衡

    如果两者都要求高,那就需要保证较高的F1 score

    回归类(Regression)问题中

    比较常用的是 'neg_mean_squared_error‘ 也就是 均方差回归损失

    该统计参数是预测数据和原始数据对应点误差的平方和的均值

    公式长这样,了解下就ok了

     

    以上属于个人的一点理解,不足之处大家可以随意吐槽

     

    展开全文
  • kotlin中var、val、const val区别

    千次阅读 2019-05-12 16:52:07
    var var定义的变量private,但带有public的set和get属性: var varObject: String = "varObject" const val ...const val定义的常量 ... const val constObject: String = "constObject" ... val normalO...

    tools --> kotlin --> show kotlin bytecode 可查看当前文件的字节码:

    在这里插入图片描述

    var

    var定义的【变量private】,但带有public的set和get属性:

    var varObject: String = "varObject"
    

    字节码显示如下:
    在这里插入图片描述

    val

    val定义的【常量private】,带有public的get方法

     val normalObject: String = "normalObject"
    

    字节码显示如下:

    在这里插入图片描述

    const val

    const val定义的【常量 】

     const val constObject: String = "constObject"
    

    字节码显示如下:

    在这里插入图片描述

    其他

    const 必须修饰val
    const 只允许在top-level级别和object中声明

      //top-level
        const val name = "Kotlin"
    
      //object中
        class DemoConstant {
              companion object {
                  const val subName = ""
              }
        }
    

    所谓的top-level就是位于代码文件的最外部,比如常见的类(非内部类和嵌套类)就是在top-level。意思是在结构上常量不属于任何的类,而是属于文件。
    object中可以指的是最外部的object也可以指的是companion object.

    除了使用const final 定义常量,我们还可以直接在val常量前面增加一个@JvmField就可以将它变成常量。其内部作用是抑制编译器生成相应的getter方法,是用该注解修饰后则无法重写val的get方法
    示例如下

        @JvmField val NAME = "89757 //常量的第二个方式
    

    参考:https://www.jianshu.com/p/93b804e01d39

    从字节码我们可以看到const val 和val修饰对象的主要区别是:

    const val 可见性为public final static,可以直接访问。
    val 可见性为private final static,并且val 会生成方法getNormalObject(),通过方法调用访问。
    当定义常量时,出于效率考虑,我们应该使用const val方式,避免频繁函数调用。

    参考:https://www.jianshu.com/p/01aac645d003

    展开全文
  • jquery给input赋值val(val)

    万次阅读 2017-07-25 23:31:17
    jquery给input赋值val(val) val(val)是jquery函数,最容易混淆的是获取input的函数是val(); 区别非常小,一个是带参数,一个是不带参数; $("#user").val(""); 清空ID为user的值; 以下是一段常用...
    jquery给input赋值val(val)  
      
    val(val)是jquery函数,最容易混淆的是获取input的函数是val();  
      
    区别非常小,一个是带参数,一个是不带参数;  
      
    <input name="user" class="txtshort" id="user" value="输入手机号码或邮箱" />  
      
    $("#user").val(""); 清空ID为user的值;  
      
    以下是一段常用的在登录时在文本框内用文字提示用户输入的代码  
      
    $(document).ready(function() {  
      
    $("#user").addClass('phplike_blur');  
      
    $("#password").addClass('phplike_focus');  //添加样式,如果无,可以不写  
      
    $("#user").focus(function(){ $(this).removeClass('phplike_blur');  
      
    if ($("#user").val() == '输入手机号码或邮箱')  //如果值为提示信息,获得焦点时,清空提示信息,样式说明在此省略  
      
    {  
      
    $(this).addClass('phplike_focus');$("#user").val("");  
      
    }  
      
    else { $(this).removeClass('phplike_blur'); }  
      
    }) $("#user").blur(function(){  
      
    if ($("#user").val() == '') //失去焦点时,如果文本框内容为空,则显示提示信息  
      
    { $("#user").val("输入手机号码或邮箱");  
      
    $(this).addClass('phplike_blur'); }  
      
    })  
      
    }) 

    展开全文
  • cross_val_score:得到K折验证中每一折的得分,K个得分取平均值就是模型的平均性能 cross_val_predict:得到经过K折交叉验证计算得到的每个训练验证的输出预测 方法: cross_val_score:分别在K-1折上训练模型,...
  • val_loss:测试集损失值 val_accruacy:测试集准确率 以下5种情况可供参考: train loss 不断下降,test loss不断下降,说明网络仍在学习;(最好的) train loss 不断下降,test loss趋于不变,说明网络过拟合;...
  • 在学习使用keras库遇到了这个问题。 可能是由于版本不同导致,那么要怎么判断自己的版本用的是哪个呢?...可以看到loss和val_loss还是一样的,但是我的acc和val_acc却变成了binary_accuracy和val_binary_ac...
  • jquery给input赋值 val()方法

    万次阅读 2018-06-08 11:41:38
    jquery给input赋值,val的三种用法 val()方法 定义和用法 val() 方法返回或设置被选元素的值。 元素的值是通过 value 属性设置的。该方法大多用于 input 元素。 如果该方法未设置参数,则返回被选元素的当前值。...
  • loss、acc ,val_loss、val_acc 分别表示训练集的准确度和损失值、以及验证集的准确度和损失值,注意是验证集的而不是测试集的。下面小小的总结一下具体的联系
  • - 第一步 # define the function def training_vis(hist): loss = hist.history['loss'] val_loss = hist.history['val_loss'] acc = hist.history['acc'] val_acc = hist.history['val_acc'] ...
  • 1. acc/loss,val_acc/val_loss是什么意思 val 代表 validation,所以,acc/loss代表训练集,val_acc/val_loss代表验证集。 2. 为什么在训练的时候我们已经有测试集还需要验证集? —来自知乎 ...
  • 一个选拔的故事(acc,loss,val_acc,val_loss的区别)

    万次阅读 多人点赞 2019-03-23 21:41:53
    以一个选拔考试的小故事类比神经网络选择模型的过程,以此方便的理解验证集的作用,区分开acc,loss和val_acc,val_loss。
  • php关于数字防注入,intval溢出,intval

    千次阅读 2017-02-13 12:34:01
    php关于数字防注入,intval溢出,intval 不同位数的操作系统表现的最大值不同 数字防注入方法 1.强制转换类型,intval(num),(int)num(mum小于等于2147483647), 2.num=num+0 这样php也会自动给你...
  • JQuery的Val()

    千次阅读 2019-05-16 14:32:53
    1、jQuery的val() jQuery中有一个.val()方法主要是用于处理表单元素的值,比如 input, select 和 textarea。 .val()方法 .val()无参数,获取匹配的元素集合中第一个元素的当前值 .val(value),设置匹配的元素集合中...
  • val_loss:测试集损失值 val_accruacy:测试集准确率 以下5种情况可供参考: train loss 不断下降,test loss不断下降,说明网络仍在学习;(最好的) train loss 不断下降,test loss趋于不变,说明网络过拟合;(max ...
  • loss与val loss的关系

    千次阅读 2020-08-01 09:23:51
      首先我们先谈谈loss和val loss 的区别:   loss:训练集整体的损失值。   val loss:验证集(测试集)整体的损失值。   一般来说,我们在训练的一个模型的时候,我们都会把一个样本划分成训练集和验证集。...
  • val( )函数的用法

    万次阅读 2018-01-07 16:31:31
    val()函数语法为: i. val(字符表达式) val()函数的功能为:将一组字符型数据的数字部分转换成相应的数值型数据 val()函数用法: 1. 例 x = "12 5fdsa DA456"; 那么 val(x)应该返回125 后面的456不...
  • Mysql模拟实现ORACLE的cur_val和next_val

    千次阅读 2017-02-03 14:30:45
    Mysql模拟实现ORACLE的cur_val和next_val 1.创建sequence表: CREATE TABLE `sequence` (  `name` varchar(50) COLLATE utf8_unicode_ci NOT NULL,  `current_value` int(11) NOT NULL,  `increment` ...
  • 实现一个二叉查找树,并且支持插入、删除、查找操作 实现查找二叉查找树中某个节点的后继、前驱节点 ... self.val=val; self.left=None; self.right=None; def insert(root,val):#插入 if root is...
  • 深度学习 val 和 dev

    千次阅读 2018-05-03 15:14:59
    有的工程打印的时 val_acc 和 val_loss ,其实就是开发集的精度和损失。 这里 val 指的是 validation , val_acc 和 val_loss 也可以用 dev_acc 和 dev_loss 表示,dev即 development。 ...
  • 错误:Assertioninput_val >= zero && input_val <= onefailed.1 现象:一般可以运行几次,然后突然报错,这时就是模型跑飞了 解决:在每一层cov,使用batch_norm一般可以解决问题 ...
  • layui中form.val组件

    千次阅读 2020-02-25 22:58:12
    layui框架出现form.val is not a function
  • FRCNN的VOC数据集中,包含四种数据文件,train、test、val、tainval。 train.txt:用于训练的图片数据名称; test.txt:用于测试的图片数据名称; val.txt:用于验证的图片数据名称; trainval.txt:train+val...
  • value与val的区别

    千次阅读 2017-12-27 14:43:52
    value和val的用法比较
  • val和var和Java

    千次阅读 2018-06-20 15:56:00
    val和var和Java object Hello { def main(args :Array[String]) { var i = 1 val k = i } ...
  • 文件用途 VOC2007/ImageSets/Main文件夹里面存放test.txt train....val.txt是用来验证的图片文件的文件名列表 (验证集) trianval.txt是用来训练和验证的图片文件的文件名列表 test.txt 是用来测试的图片文...
  • 3112/3112 [==============================] - 73s 237ms/step - loss: 8.1257 - acc: 0.4900 - val_loss: 8.1763 - val_acc: 0.4927 Epoch 2/15 3112/3112 [==============================] - 71s 231ms/step -...
  • val_acc一直不变

    千次阅读 2020-02-11 20:55:21
    val_loss一直不变的原因 之前用keras编写了LSTM模型,做图片分类,自己划分了测试集和训练集,但是得到的结果是每个epoch训练的准确率都不变。 探索 我一直以为是我的数据的读取方式不对,我一直在从这方面下手,...
  • Jquery中.val()与.value之间的区别

    万次阅读 多人点赞 2018-07-20 22:28:58
    三年多没敲过代码了,今年打算捡起来,是需要多么大的勇气。但是为了实现自我价值,履行自我的承诺,这就是责任。没有什么难不难,晚不晚之说,是我经常对别人说的那样,再晚不过心晚,,一切努力了....val()方法,...
  • jquery判断自定义属性data-val

    千次阅读 2018-05-23 17:09:41
    jquery判断自定义属性data-val1.css.active { color: red; }2.html&lt;ul&gt; &lt;li data-val="1"&gt;1&lt;/li&gt; &lt;li data-val="2"&gt;2&...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,467,787
精华内容 587,114
关键字:

val()