Understanding Clouds from Satellite Images语义分割比赛中train_test_split与stratify配合使用
用法来自:
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配合使用相关推荐
- Understanding Clouds from Satellite Images比赛的discussion调研与colab数据集下载配置
colab数据集下载配置代码: %%time !pip install -U -q kaggle !mkdir -p ~/.kaggle!echo '{"username":&qu ...
- Understanding Clouds from Satellite Images的kernel调研+肉眼识别每种云朵示例
pupil1视角,凡是看过的全部进行upvote作为标记 kernel 注释 框架 输出模型格式 EDA: Find Me In The Clouds 非常赞的可视化(博文下方列出其主要内容) ...
- 三维点云语义分割【综述】 ——Deep Learning for 3D Point Clouds: A Survey
3D POINT CLOUD SEGMENTATION 3D Semantic Segmentation Projection-based Networks Point-based Networks ...
- 语义分割--Understanding Convolution for Semantic Segmentation
Understanding Convolution for Semantic Segmentation https://arxiv.org/abs/1702.08502v1 模型 https://go ...
- 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 ...
- 利用深度学习的点云语义分割(一)
Semantic Segmentation of Point Clouds using Deep Learning ...
- 激光雷达:点云语义分割算法
作者 | 巫婆塔里的工程师@知乎 来源 | https://zhuanlan.zhihu.com/p/412161451 编辑 | 焉知智能汽车 1. 前言 之前的文章中介绍了基于LiDAR点云的物体 ...
- 17篇点云处理综述-点云语义分割、点云物体检测、自动驾驶中的点云处理……
三维点云是最重要的三维数据表达方式之一. 从技术角度看,在三维重建.SLAM.机器人感知等多个领域,三维点云都是最简单最普遍的表达方式,因为三维点云直接提供了三维空间数据,而图像则需要通过透视几何来反 ...
- 了解图像分割的深度学习技术(2019年语义分割论文综述)
论文名称:Understanding Deep Learning Techniques for Image Segmentation 论文链接:https://arxiv.org/abs/1907.0 ...
最新文章
- 学习sql注入:猜测数据库_对于SQL的热爱:为什么要学习它以及它将如何帮助您...
- RouterOS限速更高级运用
- UA MATH566 统计理论8 置信区间简介
- 学习JavaScript你必须掌握的8大知识点
- 年末最大AI盛典!2020深度学习开发者峰会报名启动
- 在Tomcat上跑东西时遇到的对我这样新手来说很难找到的问题
- iOS上传头像, 相册权限,相册权限,拍照上传,相册选择图片,拍照页面语言设置,保存到相册...
- Linux vi/vim基础知识
- LeetCode 题 - 20. 有效的括号
- codeforces 653D D. Delivery Bears(二分+网络流)
- RAD与non-RAD
- [leetcode]Unique Paths
- 通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作
- Maven经验分享(一)安装部署
- 防止百度网盘和谐/暗中观察我的资源
- Powershell 美化,FluentTerminal.Package_0.6.1.0_Test安装设置及卸载教程
- 端到端图像压缩《Checkerboard Context Model for Efficient Learned Image Compression》
- explain ref_面试前一定要知道的MySQL命令【explain】
- sentinel 实时监控服务
- Python 下载文件获取文件名request.get(...,stream=True)
热门文章
- 关于JSON的简介及取值以及常见面试题
- socket编程流程与函数(实用篇)
- 网络安装LINUX系统原理,PXE网络引导系统自动化安装CentOS7
- iview选择月份 月初月末 时间戳格式
- python新闻爬虫教程_python简易爬虫教程--(一)批量获取搜狐新闻
- css怎么把横向菜单变纵向_CSS 布局模式 + 居中布局
- 使用webpack或者gulp去除多余CSS
- 重拾python Day 2
- PCL:python pcl解码RGB- point_cloud2.read_points rgb
- 对‘TIFFReadDirectory@LIBTIFF_4.0’未定义的引用