Kaggle实战笔记
微信公众号[机器学习炼丹术]
每天都要进步
展开
-
近期文章更新一览
好久没有在知乎写过文章了,一个是因为近期期末考试,临近毕业;一个是因为近期建立了自己的小网站,感觉非常新奇。这里列举写一下近期的文章内容和链接:简单通俗的讲讲无参数模型的入门模型——局部加权线性回归。入门 局部加权线性回归 - 你好,世界简单说说什么是核密度估计,很短,可以就当是扩展知识了:入门 核密度估计Kernel Density Estimation近期大数据竞赛中有一个非常厉害的大佬用到了这个,刚好趁机学一学。【详解】隐式马尔科夫模型+代码 - 你好,世界金融和市场的一原创 2020-05-31 02:53:47 · 300 阅读 · 0 评论 -
【竞赛代码模板1】:k-Fold与StratifiedKFold的区别+LightGBM+贝叶斯优化超参数 (Python代码)
这个博文的内容:1.k-Fold和StratifiedKFold的区别;2.LightGBM的代码流程,不会讲LightGBM的内部原理。3. 贝叶斯优化超参数:这个在之前的博文已经讲过了,链接:贝叶斯优化(Bayesian Optimization)只需要看这一篇就够了,算法到python实现K-Fold vs StratifiedKFold这里就不说为什么要用K-Fold了,如果有...原创 2020-04-16 02:18:24 · 7236 阅读 · 4 评论 -
【入门级实战】fastAI分类猫狗实战代码
记录代码,方便之后快捷搭建框架,喜欢的可以收藏#导入库from fastai import *from fastai.vision import *#下载原数据path = untar_data(URLs.DOGS)URLs.DOGS,path# 生成fastai中专门的数据类ImageDateBunchdata = ImageDataBunch.from_folder(pa...原创 2020-02-04 06:22:31 · 3103 阅读 · 0 评论 -
【一看就懂】EfficientNet详解。凭什么EfficientNet号称当今最强?
efficientNet的论文原文链接 英语过关的小伙伴也许可以挑战一下?哈哈模型扩展Model scaling一直以来都是提高卷积神经网络效果的重要方法。比如说,ResNet可以增加层数从ResNet18扩展到ResNet200。这次,我们要介绍的是最新的网络结构——EfficientNet,就是一种标准化的模型扩展结果,通过下面的图,我们可以i只管的体会到EfficientNet b0-b...原创 2020-02-03 02:42:47 · 36452 阅读 · 5 评论 -
迁移学习transfer learning与微调fineTune的区别?一看就懂
正如题目所言,我一直认为迁移学习transfer learning和finetune是一个东西,但是直到我看了一篇博文(见参考博文),讲解了两者的区别(也许是对的也许是错的),仁者见仁智者见智吧,反正就算说是这两者不太一样,其实也没差多远就是了。迁移学习和微调的区别什么是迁移学习即一种学习对另一种学习的影响,它广泛地存在于知识、技能、态度和行为规范的学习中。任何一种学习都要受到学习者已有知识...原创 2020-02-03 01:11:17 · 8896 阅读 · 1 评论 -
讲解GoogleNet的Inception从v1到v4的演变
GoogleNet和VGG是ImageNet挑战赛中的第一名和第二名。共同特点就是两个网络的层次都更深了。但是:VGG继承了LeNet和AlexNet的一些框架结构而GoogleNet则做了更大胆的尝试,虽然深度有22层,但是参数却是Alexnet的1/12.而VGG都是Alexnet的三倍,由此可见,在内存和计算资源有限的时候,GoogleNet是好的结构,而且这个的性能更加优越,碾压VG...原创 2020-02-02 08:42:06 · 5274 阅读 · 0 评论 -
什么是GoogleNet?什么是Inception?GoogleNet结构详解(2014年)
googleNet是2014年的ILSVRC的冠军模型,GoogleNet做了更大胆的网络上的尝试,而不是像vgg继承了lenet以及alexnet的一切框架。GoogleNet虽然有22层,但是参数量只有AlexNet的1/12GoogleNet论文指出获得高质量模型最保险的做法就是增加模型的深度,或者是它的宽度,但是一般情况下,更深和更宽的网络会出现以下问题:参数太多,容易过拟合,如果训...原创 2020-02-02 04:00:04 · 10666 阅读 · 1 评论 -
【从零学习PyTorch】 transfrom之十种图像变化的方法和三种对transform的操作方法
文章目录ResizeNormalizeToTensorPadColorJitterGrayscaleLinearTransformation()RandomAffineResizeclass torchvision.transforms.Resize(size, interpoliation=2)功能:重置图片的分辨率(大小)size:一般建议写成(height*weight)的形式i...原创 2020-02-01 22:51:02 · 1821 阅读 · 0 评论 -
【从零学习PyTorch】 transfrom之三种旋转翻转的方法(Flip and Rotation)
RandomHorizontalFlip()class torchvision.transforms.RandomHorizontalFlip(p=0.5)功能:依据概率p对PIL图片进行水平翻转,p默认0.5RandomVerticalFlip()class torchvision.transforms.RandomVerticalFlip()**功能:**按照概率p对PIL图片...原创 2020-02-01 22:11:27 · 9172 阅读 · 0 评论 -
【从零学习PyTorch】 transfrom之五种Crop裁剪的方法
文章目录Crop随机裁剪中心裁剪随机长宽比裁剪上下左右中心裁剪上下左右中心裁剪后翻转总共分成四大类:剪裁Crop翻转旋转Flip and Rotation图像变换对transform的操作Crop随机裁剪class torchvision.transforms.RandomCrop(size,padding=None,pad_if_need=False,fill=0,paddi...原创 2020-02-01 04:08:00 · 12321 阅读 · 0 评论 -
【从零学习PyTorch】 如何残差网络resnet作为pre-model +代码讲解+残差网络resnet是个啥
看的多个Kaggle上 图片分类比赛 的代码,发现基本都会选择resnet网络作为前置网络进行训练,那么如何实现这个呢?本文主要分为两个部分第一个部分讲解如何使用PyTorch来实现前置网络的设置,以及参数的下载和导入第二个部分简单讲一下resnet运行的原理。第一部分:实现有一个非常好用的库,叫做torchvision。这个是torchvision的官方文档这个库有三个部分:...原创 2020-01-31 23:40:04 · 8577 阅读 · 0 评论 -
什么是test-time argument(测试数据增强)
可将准确率提高若干个百分点,它就是测试时增强(test time augmentation, TTA)。这里会为原始图像造出多个不同版本,包括不同区域裁剪和更改缩放程度等,并将它们输入到模型中;然后对多个版本进行计算得到平均输出,作为图像的最终输出分数这种技术很有效,因为原始图像显示的区域可能会缺少一些重要特征,在模型中输入图像的多个版本并取平均值,能解决上述问题。就是在训练的时候有一个tra...原创 2020-01-31 19:34:46 · 3605 阅读 · 0 评论 -
全网最详细最好懂 PyTorch CNN案例分析 识别手写数字
dataset首先先来看PyTorch的dataset类:我已经在从零学习pytorch 第2课 Dataset类讲解了什么是dataset类以及他的运行原理class MNIST_data(Dataset): """MNIST dtaa set""" def __init__(self, file_path, transform...原创 2020-01-31 01:23:45 · 6058 阅读 · 6 评论 -
XBG和LGB和CATBOOST 要用哪一种? 深度分析
尽管最近几年神经网络复兴,并变得流行起来,但我还是更加关注 boosting 算法,因为在训练样本量有限、所需训练时间较短、缺乏调参知识的场景中,它们依然拥有绝对优势。2014 年 3 月,XGBOOST 最早作为研究项目,由陈天奇提出2017 年 1 月,微软发布首个稳定版 LightGBM2017 年 4 月,俄罗斯顶尖技术公司 Yandex 开源 CatBoost...原创 2020-01-27 23:57:04 · 3423 阅读 · 0 评论 -
CatBoost 代码模板(记忆不好的可以收藏)
代码来自数据来自import pandas as pdimport numpy as npfrom itertools import combinationsfrom catboost import CatBoostClassifiertrain_df = pd.read_csv('../input/train.csv')test_df = pd.read_csv('../inpu...原创 2020-01-27 23:36:19 · 1907 阅读 · 0 评论 -
python pandas库操作的一百个技巧 新手必看 学会你就是pandas大佬
文章目录Trick100:加载大数据Trick99:Trick100:加载大数据有的时候加载大数据的时候,不需要加载全部,而是仅仅用百分之一进行框架的构建和测试。# 加载全部数据df = pd.read_csv("../input/us-accidents/US_Accidents_Dec19.csv")print("The shape of the df is {}".format(d...原创 2020-01-27 04:06:24 · 859 阅读 · 0 评论 -
kaggle笔记 2019数据科学碗Data Science Bowl 高分总结
文章目录7th总结这次比赛的重点,在于过拟合问题和模型的泛化能力。我就是疏忽了这一点,然后在Public leaderboard上是13名,然后最后成绩上,调到800多名。7th总结...原创 2020-01-24 21:10:22 · 1332 阅读 · 0 评论 -
看完必会的 python DEAP遗传算法库讲解+实战(中级)
文章目录TSP问题问题描述代码精讲结果展示(不重要)TSP问题之前用遗传算法解决了:多项式求极大值的问题。这个问题实在是太简单了,现在我们来处理一下更困难的问题——TSP旅行商问题问题描述TSP旅行商问题,traveling Salesman problem-如果旅行商从A地到B地的花费与B地到A地的花费相等,我们称之为对称旅行商问题(Symmetric Travelinig ...原创 2020-01-22 21:18:52 · 3301 阅读 · 1 评论 -
看完必会的 python DEAP遗传算法库讲解+实战(初级)
文章目录一个简单的遗传算法代码详细讲解一个简单的遗传算法我们来找这个函数的最大值:该函数的最大值应该出现在处28.309,值为1657.423。可以看到该函数有很多局部极值作为干扰项,如果进化算法过早收敛,很容易陷入某个局部最优。我们用二进制编码来解决这样的问题如果要求精度是六位的话,从-30到30,总共需要考虑60×10660 \times 10^660×106种情况。所以...原创 2020-01-22 20:48:41 · 38009 阅读 · 2 评论 -
遗传算法/遗传编程 进化算法基于python DEAP库深度解析讲解
文章目录前言概述启发式的理解前言看了很多,发现这个遗传算法,进化算法是一个非常有用的一个方法。而且可解释性远远强于神经网络。之前写了一篇博文,专门讲解基于DEAP库的python编程,来编写遗传算法,但是那一篇主要偏重代码,出于想要深入理解代码的含义,因此专门记下这篇博文,既是笔记,也是分享。概述“物竞天择,优胜劣汰”, 达尔文提出了著名的生物进化理论,即所有的动植物都是由较早期、较原始的...原创 2020-01-21 10:44:12 · 4809 阅读 · 0 评论 -
Santa's Workshop Tour 2019 圣诞老人的复仇 比赛回顾总结 MIP+邻域搜索+python
文章目录1 比赛概述2 思想分享2.1 数据分析3 相关知识3.1 MIP3M modellarge neighborhood search最大邻域搜索1 比赛概述这是一个非常非常有意思的比赛,是一个最优化问题,可以学到一些规划算法!下面我们进入正题:圣诞老人开放了他的工作室,有5000个家庭可以在100天内(每个家庭有不同的人数),选择一天去参观他的工作室。每个家庭都递给圣诞老人一个喜好...原创 2020-01-20 02:58:25 · 785 阅读 · 0 评论 -
讲解 最大流问题+最小花费问题+python(ortool库)实现
文章目录基本概念图邻接矩阵最大流问题python解决最大流问题基本概念图定义: 图G(V,E)是指一个二元组(V(G),E(G)),其中:V(G)={v1,v2,…, vn}是非空有限集,称为顶点集,E(G)是V(G)中的元素对(vi,vj)组成的集合称为边集。举例:V(G)={v1,v2,v3,v4}E(G)= {e1,e2,e3,e4,e5,e6}若图G的边是有方...原创 2020-01-20 02:57:17 · 39303 阅读 · 0 评论 -
混合整数规划MIP/线性规划LP+python(cplex库)实现 附代码
文章目录相关知识点LP线性规划问题MIP混合整数规划MIP的Python实现(docplex库)MIP的Python实现(ortool库)相关知识点LP线性规划问题Linear Problem[百度百科]:研究线性约束条件下线性目标函数的极值问题的数学理论和方法。学过运筹学的小伙伴,可以看这个LP问题的标准型来回顾一下:不太熟悉的朋友可以看这个例题,再结合上面的标准型,来感受一下:...原创 2020-01-19 23:48:41 · 15143 阅读 · 7 评论 -
混合整数规划MIP/线性规划LP+python(ortool库)实现 附代码
文章目录1 比赛概述解决方案LP线性规划问题MIP混合整数规划1 比赛概述这是一个非常非常有意思的比赛,是一个最优化问题,可以学到一些规划算法!下面我们进入正题:圣诞老人开放了他的工作室,有5000个家庭可以在100天内(每个家庭有不同的人数),选择一天去参观他的工作室。每个家庭都递给圣诞老人一个喜好表,告诉圣诞老人他们第一想要在哪一天去参观,第二想要在哪一天参观……因为每一天能参观的人数...原创 2020-01-19 08:42:47 · 4911 阅读 · 0 评论 -
TSNE高维数据降维可视化工具 + python实现
文章目录1.概述1.1 什么是TSNE1.2 TSNE原理1.2.1入门的原理介绍1.2.2进阶的原理介绍1.2.2.1 高维距离表示1.2.2.2 低维相似度表示1.2.2.3 惩罚函数1.2.2.4 为什么是局部相似性1.2.2.5 为什么选择高斯和t分布2 python实现参考内容1.概述1.1 什么是TSNETSNE是由T和SNE组成,T分布和随机近邻嵌入(Stochastic n...原创 2020-01-20 22:22:02 · 5599 阅读 · 1 评论 -
KS,KL,JS 如何判断两组数据是否同分布 python实现
文章目录KSKLJS散度KSKS距离,相对熵,KS散度当P(x)和Q(x)的相似度越高,KS散度越小KS散度主要有两个性质:(1)不对称性不对称性尽管KL散度从直观上是个度量或距离函数,但它并不是一个真正的度量或者距离,因为它不具有对称性,即D(P||Q)!=D(Q||P)(2)非负性相对熵的值是非负值,即D(P||Q)>0from scipy.stats impor...原创 2020-01-16 07:00:06 · 3821 阅读 · 0 评论 -
ASHRAE KAGGLE大能源预测(前三名方案总结+相关知识点讲解+python实现)
文章目录1 概述2 处理思想学习2.1 移除异常值2.2 缺失值2.3 目标函数2.4 特征工程2.4.1 Savitzky-Golay filter2.4.2 Bayesian target encoding(python实现)1 概述先上第一名分析的图2 处理思想学习2.1 移除异常值Long steaks of constant values恒定值的长条纹Large pos...原创 2020-01-11 21:54:45 · 3360 阅读 · 0 评论 -
Kaggle调参技巧整理
Adam:init_lr=5e-4(3e-4)(⭐⭐⭐⭐⭐),3e-4号称是Adam最好的初始学习率,有理有据,请看下图;SGD就更考验调参功力,这里就不详说(因为我也一般般)。finetune,微调也是有许多比较fancy的技巧,在这里不做优劣比较,针对分类任务说明。微调方式一,最常用,只替换掉最后一层fc layer,改成本任务里训练集的类别数目,然后不做其余特殊处理,直...原创 2019-12-26 08:27:05 · 1166 阅读 · 0 评论