用法来自:
https://www.kaggle.com/mobassir/keras-efficientnetb2-for-classifying-cloud

数据集中每张图片可能包含1种云朵到4种云朵不等。

比赛要求返回rle格式的submission.csv

其中数据集分割代码如下:

train_imgs, val_imgs = train_test_split(train_df['Image'].values, test_size=0.2, stratify=train_df['Class'].map(lambda x: str(sorted(list(x)))), # sorting present classes in lexicographical order, just to be surerandom_state=2019)

所以这个加入stratify的train_test_split到底啥效果呢?

我们来探索下:

train_now = pd.DataFrame({'Image': train_imgs})#ndarray转化为DataFrame
result=pd.merge(left=train_df, right=train_now, how='inner', left_on='Image', right_on='Image')#train_df与train_now做交集运算result["analysis"]=result["Fish"].apply(str)+result["Flower"].apply(str)+result["Sugar"].apply(str)+result["Gravel"].apply(str)#拼接dataframe中的后四列print(result['analysis'].value_counts(normalize = False, dropna = False))#统计各个集合的数量

这里"集合"的意思是,每张卫星图片包含的云朵,例如[1,0,1,0]

表示包含了两种云朵。

最有一句result输出结果是:

1011    581
0011    581
0110    369
1010    369
0010    346
0100    284
0111    279
1110    262
1100    235
0001    230
1001    219
1000    219
1111    213
1101    126
0101    123

比较原来的train_df的集合数据:

1011    726
0011    726
1010    462
0110    462
0010    432
0100    355
0111    349
1110    328
1100    294
0001    287
1001    274
1000    274
1111    266
1101    157
0101    154

可知,split_train_test配合stratify的作用是:

每张图片中包含1~4种云朵,在分割的时候,根据每张图片所属云朵集合的不同,把图片分为15类,每一类图片中抽取80%作为train,其余作为validation

Understanding Clouds from Satellite Images语义分割比赛中train_test_split与stratify配合使用相关推荐

  1. Understanding Clouds from Satellite Images比赛的discussion调研与colab数据集下载配置

    colab数据集下载配置代码: %%time !pip install -U -q kaggle !mkdir -p ~/.kaggle!echo '{"username":&qu ...

  2. Understanding Clouds from Satellite Images的kernel调研+肉眼识别每种云朵示例

    pupil1视角,凡是看过的全部进行upvote作为标记 kernel 注释 框架 输出模型格式 EDA: Find Me In The Clouds 非常赞的可视化(博文下方列出其主要内容)     ...

  3. 三维点云语义分割【综述】 ——Deep Learning for 3D Point Clouds: A Survey

    3D POINT CLOUD SEGMENTATION 3D Semantic Segmentation Projection-based Networks Point-based Networks ...

  4. 语义分割--Understanding Convolution for Semantic Segmentation

    Understanding Convolution for Semantic Segmentation https://arxiv.org/abs/1702.08502v1 模型 https://go ...

  5. ECCV2020语义分割——Self-Prediction for Joint Instance and Semantic Segmentation of Point Clouds

    Self-Prediction for Joint Instance and Semantic Segmentation of Point Clouds Abstract (一) Introducti ...

  6. 利用深度学习的点云语义分割(一)

                                               Semantic Segmentation of Point Clouds using Deep Learning ...

  7. 激光雷达:点云语义分割算法

    作者 | 巫婆塔里的工程师@知乎 来源 | https://zhuanlan.zhihu.com/p/412161451 编辑 | 焉知智能汽车 1. 前言 之前的文章中介绍了基于LiDAR点云的物体 ...

  8. 17篇点云处理综述-点云语义分割、点云物体检测、自动驾驶中的点云处理……

    三维点云是最重要的三维数据表达方式之一. 从技术角度看,在三维重建.SLAM.机器人感知等多个领域,三维点云都是最简单最普遍的表达方式,因为三维点云直接提供了三维空间数据,而图像则需要通过透视几何来反 ...

  9. 了解图像分割的深度学习技术(2019年语义分割论文综述)

    论文名称:Understanding Deep Learning Techniques for Image Segmentation 论文链接:https://arxiv.org/abs/1907.0 ...

最新文章

  1. 学习sql注入:猜测数据库_对于SQL的热爱:为什么要学习它以及它将如何帮助您...
  2. RouterOS限速更高级运用
  3. UA MATH566 统计理论8 置信区间简介
  4. 学习JavaScript你必须掌握的8大知识点
  5. 年末最大AI盛典!2020深度学习开发者峰会报名启动
  6. 在Tomcat上跑东西时遇到的对我这样新手来说很难找到的问题
  7. iOS上传头像, 相册权限,相册权限,拍照上传,相册选择图片,拍照页面语言设置,保存到相册...
  8. Linux vi/vim基础知识
  9. LeetCode 题 - 20. 有效的括号
  10. codeforces 653D D. Delivery Bears(二分+网络流)
  11. RAD与non-RAD
  12. [leetcode]Unique Paths
  13. 通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
  14. Maven经验分享(一)安装部署
  15. 防止百度网盘和谐/暗中观察我的资源
  16. Powershell 美化,FluentTerminal.Package_0.6.1.0_Test安装设置及卸载教程
  17. 端到端图像压缩《Checkerboard Context Model for Efficient Learned Image Compression》
  18. explain ref_面试前一定要知道的MySQL命令【explain】
  19. sentinel 实时监控服务
  20. Python 下载文件获取文件名request.get(...,stream=True)

热门文章

  1. 关于JSON的简介及取值以及常见面试题
  2. socket编程流程与函数(实用篇)
  3. 网络安装LINUX系统原理,PXE网络引导系统自动化安装CentOS7
  4. iview选择月份 月初月末 时间戳格式
  5. python新闻爬虫教程_python简易爬虫教程--(一)批量获取搜狐新闻
  6. css怎么把横向菜单变纵向_CSS 布局模式 + 居中布局
  7. 使用webpack或者gulp去除多余CSS
  8. 重拾python Day 2
  9. PCL:python pcl解码RGB- point_cloud2.read_points rgb
  10. 对‘TIFFReadDirectory@LIBTIFF_4.0’未定义的引用