算法竞赛
一颗西蓝花
小菜鸟想进大厂
展开
-
ML竞赛步骤
在进行数据竞赛时候,拿到一个数据集,应该进行如下操作:查看train中label的分布,主要查看正负样本是否均衡,以及主办方是否有将数据集打乱,如果数据集样本没有打乱,可能会存在data leak,这一步需要用到的代码有如下train['target'].value_counts() #主要查看,存在的target的类别以及相对应的出现频数sns.countplot(train['ta...原创 2019-03-08 23:11:48 · 808 阅读 · 0 评论 -
LightGBM相关使用
1. 数据接口LightGBM Python模块使用以下几种方式来加载数据:libsvm/tsv/csvNumpy 2D array, pandas objectLightGBM binary file加载后的数据存在Dataset对象中。要加载ligsvm文本文件或LightGBM 二进制到 Dataset 中:train = lgb.Dataset('train.svm....原创 2019-03-09 17:18:06 · 534 阅读 · 0 评论 -
迁移学习
1. 迁移学习历史迁移学习,允许领域,任务,以及训练集和测试集的分布不一样。在现实生活中,我们也能发现很多迁移学习的案例。迁移学习的概念来自于,人类可以将利用学习过的知识来处理新的问题。2. 迁移学习技术的分类2.1 迁移什么迁移什么回答的是:在不同的领域和任务之间,知识的哪一部分可以被迁移。有的知识对于特定的领域和任务是具体的,一些知识,尽管对于不同的领域,但是可能是有共性的,比如他们都...原创 2019-03-19 15:45:58 · 150 阅读 · 0 评论 -
os.listdir()
在数据算法竞赛中,我经常看见别人的代码中出现下面几行代码:import osprint(os.listdir('path'))我最开始对os.listdir('path')的理解是,返回当前工作区域的下的文件,因此我一直不明白,为什么,我需要import os而不是直接用ls就好。后来,我查阅了一下资料,其实os.listdir('path')是返回指定文件夹包含的文件或者文件夹的列表,...原创 2019-03-15 11:37:24 · 13068 阅读 · 0 评论 -
jupyter notebook插入本地图片
如何在Jupyter Notebook中插入本地图片?我在网上搜索的时候,看到网上写的都是,将cell调节成为markdown cell, 然后输入下面的代码![title](img/picture.png)于是,在调节了路径之后,我按照上方的说明进行了操作,但是显示图片无法显示。我思考了一下,才意识到,上面代码中的img是表示这里有一个文件夹,也就是说,我们需要先将我们的图片,放在一个...原创 2019-03-15 17:54:52 · 6643 阅读 · 1 评论 -
二分类比赛流程
数据预处理确认数据是否完整(nan,类型异常)将string类型,换成category(使用Onehot或者LabelEncoder)数据标准化(MirmaxScaler或者StandardScaler)保存数据(因为部分预处理过程会比较耗时,所以需要保留中间结果)模型选择一般来说,越新的模型效果越好模型 - 示例lightgbm 随机切分验证集,构建lgb的datase...原创 2019-03-18 09:06:50 · 612 阅读 · 0 评论 -
Cross-Validation (交叉验证)
在机器学习的监督学习中,通常我们会有一个数据集A,但是在我们训练模型的时候,不可能把数据集A全部拿来训练模型,因为,如果这样做了,我们就没有办法验证和评估我们模型的表现。要想解决这个问题,我们就需要从我们的数据集A中,取出一部分,来验证我们模型在没有见过的数据集上的表现。那么就有一个问题,我们该从这个数据集A中取出来多少数据做验证呢?因为我们知道,在机器学习领域,影响模型表现的三要素:算法,算力...原创 2019-03-13 17:21:54 · 796 阅读 · 0 评论 -
什么时候需要填充 -999
什么时候需要填充 -999最近在看kaggle 的ieee,发现其中一个kernel,尤其简单。发现,其对数据做的所有处理,只有X_train = X_train.fillna(-999)X_test = X_test.fillna(-999)觉得很好奇,为什么可以只填充 -999 这样的数值?这里涉及到一个实际问题,在实际业务中,我们能够获取的数据,经常都有很多缺失值。缺失填充...原创 2019-09-08 14:42:56 · 557 阅读 · 0 评论