有的时候如果因为代码误操作,导致提交后的score特别低,那么贸然提交,就会浪费一次提交机会。

那么,如何预判将要提交的submission.csv是否靠谱呢?

我碰到过这样的情况:
就稍微改了人家的代码,人家代码原始提交大概0.94左右,

结果修改自己代码后,本地cv0.96,提交后LB 0.49。

很明显,这个时候,本地的cv已经错了。

这个时候就需要把自己的cv与人家kernel上的notebook发布的submission.csv进行进行相似度计算:

如果相似度很接近,我们可以放心提交。

如果相似度差距大,我们就要重新检查。

这样就可以节省一次提交机会。

----------------------------------------直接图片上比较相似度,具体代码------------------------------------------------

import matplotlib.pyplot as plt
import datatable as dt#-----------路径设置----------------
path="/home/appleyuchi/桌面/Kaggle比赛/discussion/"
file1="submission-0.9387-lgb.csv"
# file2="simple_xgboost-2-0.9355-xgb-pupil1.csv"
file2="submission_hour-0.49.csv"#-----------读取文件-----------------
submission1=dt.fread(path+file1).to_list()
submission2=dt.fread(path+file2).to_list()
import pandas as pd#----------调包-----------------
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.ticker import MultipleLocator, FormatStrFormatter
xmajorLocator = MultipleLocator(1) #将x主刻度标签设置为1的倍数def minmax_value(list1):minvalue=min(list1)maxvalue=max(list1)return minvalue,maxvalue#----------第1份提交数据----------------
x=submission1[0]#TransactionID
y1=submission1[1]#isFraud#----------第2份提交数据----------------
# x=submission1[0]#TransactionID不用在这里重复设置
y2=submission2[1]#isFraud#----------设定要绘制多少数据点----------------
pointcount=500#这里不要设置的太大,不然就看不清了。
minx,maxx=minmax_value(x[:pointcount])
minyA,maxyA=minmax_value(y1[:pointcount])
minyB,maxyB=minmax_value(y2[:pointcount])maxy1=max(maxyA,maxyB)
miny1=min(minyA,minyB)#----------设置坐标轴绘制范围----------
plt.axis([minx,maxx,miny1,maxy1])
plt.grid(True)#绘图过程中出现的网格设置#------------------------------
A,=plt.plot(x[:pointcount],y1[:pointcount],"b-")
B,=plt.plot(x[:pointcount],y2[:pointcount],"r")
#设置主刻度标签的位置,标签文本的格式]legend=plt.legend(handles=[A,B],labels=[file1,file2])  plt.show()

file2="simple_xgboost-2-0.9355-xgb-pupil1.csv",结果为:

根据图形可以判断,两次kaggle的提交文件相差不大,结论:

可以考虑提交

#--------------------------------------------------------

设置file2="submission_hour-0.49.csv",结果为:

根据图形可以判断,两次kaggle的提交文件有较大差异,结论:

此次数据不宜提交,当前训练的代码存在问题。

kaggle提交前预估本地cv和LB上的score是否相差很大相关推荐

  1. 机器学习(二) 如何做到Kaggle排名前2%

     机器学习(二) 如何做到Kaggle排名前2% 发表于 2017-04-12 | 更新于 2017-05-06 | 分类于 machine learning , 机器学习 , AI | 评论次数 ...

  2. html form提交前验证,form表单提交前验证实现方法

    form表单提交前验证实现方法2017-11-26 20:54 form表单提交是网站中最常见的,基本上所有的网站都会用到. 除非你就一些静态网页,仅仅是展示,而不需要互动,所以不需要提交表单. 但是 ...

  3. 如何在提交前撤消#39;git add#39;?

    想要改善这篇文章吗? 提供此问题的详细答案,包括引文和为什么答案正确的解释. 答案不够详细的答案可能会被编辑或删除. 我错误地使用以下命令将文件添加到了Git: git add myfile.txt ...

  4. 怎么在表单提交前检查数据输入。

    首先,在form中加入οnsubmit= return 检查输入的事件, 例如,检查函数名字是CheckInput(), 则这里输入为οnsubmit="return CheckInput( ...

  5. DataReader 要在事务提交前 CLOSE 掉 否则会报一个:已有打开的与此命令相关联的 DataReader,必须首先将它关闭。...

    DataReader 要在事务提交前 CLOSE 掉 否则会报一个:已有打开的与此命令相关联的 DataReader,必须首先将它关闭. 转载于:https://www.cnblogs.com/run ...

  6. jquery form 的beforeSubmit提交前的回调函数

    ajaxForm()和ajaxSubmit()方法可以接受0个或1个参数,当为单个参数时,该参数可以是一个回调函数,也可以是一个options对象.以下是一个options对象. var option ...

  7. Jquery中实现表单提交前的校验

    场景 为了安全,通常要进行前端校验和后端校验. 前端校验一般在表单提交前实现. 实现 form表单元素添加onsubmit事件 <form id="book" action= ...

  8. html表单提交前验证,jquery表单提交前实现同步验证(附代码)

    jquery表单提交前实现同步验证 .int{ height: 30px; text-align: left; width: 600px; } label{ width: 200px; margin- ...

  9. 前端:简述表单提交前如何进行数据验证

    前端:简述表单提交前如何进行数据验证 通常在提交表单数据时,我们会对数据进行验证,例如某些字段是必填字段,不能为空,这时应该如何做呢?有如下三种方法: 一.在button的submit事件进行判断 & ...

最新文章

  1. 老实守法的人是怎样成为笑柄的?
  2. Oracle启动操作
  3. IDEA 修改JavaWeb的访问路径
  4. python asyncio tcp server_asyncio异步IO——Streams详解
  5. win10环境,Eclipse安装Maven
  6. java图像处理001---图像合成_java实现雨滴头像效果_可以放在地图上使用_自动生成雨滴头像
  7. hive和mysql传输数据类型_hive的数据类型
  8. 冬天来了,能暖心的不止有女朋友,还有它。
  9. python标准数据类型复习
  10. POST形式 soapUI调用WebService的restful接口,传入json参数,并且返回json
  11. 校园服务器虚拟机规划与设计,校园网服务器虚拟化技术的应用研究
  12. 支持华为荣耀HarmonyOS鸿蒙2.0系统安装谷歌服务框架play商店GMS的工具介绍,也开始支持其他安卓设备安装谷歌套件
  13. 基于Gensim创建词向量
  14. Pygame实战:打扑克嘛?Python教你“经典纸牌游戏21点”玩法
  15. SUS评分提升了60%,我们做了什么?
  16. 逆向之OllyDbg调试细则
  17. C语言:n个数的阶乘之和
  18. ctf-web-速度要快
  19. 2019年美赛建模D题后续(1)
  20. ST-Link V2.1 制作使用

热门文章

  1. 数据挖掘-贝叶斯定理
  2. HDOJ 1298 T9(trie树简单应用)
  3. 使用笛卡尔积 cross join解决傻傻的问题
  4. PHP序列化与反序列化(__sleep与__wakeup)
  5. php中MySQL数据库导入与导出_Mysql数据库导出和导入
  6. Android 根据Uri删除文件
  7. python 内置函数转list_python 内置函数等的相互转换示例
  8. 学习响应式BootStrap来写融职教育网站,Bootsrtap第八天轮播图js特效
  9. 前端那些年----Webstream快捷键备忘(mac)
  10. 人工机器:jetsonnano推理时出现 Segmentation fault(core dumped)