kaggle赛后总结

1. 宽表

2.缺失值的处理方法

  • 最简单粗暴的就是删除,这种情况是凡是有缺失值行数很少。
  • 均值替代。缺失值的行数比较多一点儿的时候,直接删除会影响样本数量,那就均值替代,或者中位数替代等方法。
  • 还有复杂的方法,把有缺失值的列做Y标签,用其他列做X,训练模型,缺失值处用预测值替代,很繁琐,但效果比较好一点。

3.超参搜索

超参搜索通过代码放到每个算法上。这个很有价值,因为模型训练就实现了自动化。模型训练,处理数据处理,特征工程外,很关键的就是调整参数,让模型精度实现最优。

4.不均衡数据处理

主要是不同种类标签的数量有的非常多,有的非常少。把非常少的,进行简单的复制黏贴使每个标签种类的数量达到1000,实现所有标签种类的大体均衡,成为均衡数据

5.书籍推荐

  • 李沐的《统计学习》
  • 周志华《机器学习》

6.hierarchical model,层级模型,分层模型

有2个底层逻辑不同的算法,分别命名为算法1,和,算法2。算法1较弱一点。

我们用算法1的预测结果作为新特征X,放进训练数据集。相当于,我用算法1去训练模型1时,有30个X (x1,x2,~~, x30) , 现在算法1模型的预测结果作为x31,这样训练数据就有31个X了,再算法2去训练模型2,再去做预测。

如果用算法1训练模型1,并把所有训练数据都做预测,预测结果作为新特征x31?

用三折法,(或者五折法),即:把train数据随机均分成三份,dataset1,dataset2,dataset3。拿dataset1和dataset2这两份训练模型合并在一起,用算法1训练模型model3,并对dataset3数据做预测,预测结果Ypred3,作为新特征放进dataset3中,作为新的1/3训练数据dataset3new。

依次类推,分别把用dataset2和dataset3合并起来,依然用算法1训练模型model1,并对dataset1做预测,预测结果Ypred1作为新的特性放进dataset1中,作为新的1/3训练数据dataset1new。

再求出dataset2new,最后合并dataset1new,dataset2new,dataset3new成datasetnew。

使用datasetnew数据做训练,用算法2训练基于算法2的M2。

用train数据(包含dataset1,dataset2,dataset3),用算法1训练模型M1,对testsuperset做预测,预测结果Ypred_testsuperset作为新的特性重新放入testsuperset之中,生testsuperset_new。再用M2对testsuperset_new重新预测,预测结果作为最后结果submission_new提交kaggle。

理论上,这时的精度更好。

这就是分层模型。

注意:算法1和2是不同底层逻辑的不同算法。

7.基于逻辑回归的多分类算法

  • multiple logistical
  • regression model
  • Deep Belief Networks (DBNs)
  • Radial Basis Function Networks (RBFNs)

8.学习器结合

  • 算法1:BLAST
  • 算法2:PSI-BLAST
  • 算法3:HMMER
  • 算法4:HHSearch
    最后将上述结果通过投票规则,选出得票最高的每个sequence的term值,及其相似性的取值。

9.集成学习总结:Adaboosting、随机森林、Bagging、结合策略

10.学习器结合能带来三点好处







相关推荐
miofly3 分钟前
GitHub 今日推荐|Snapintosh:用 ARM EL2 监控器骗过内核,让骁龙芯片笔记本跑 macOS
python·开源·github
打工仔折腾 AI8 分钟前
Linux 网络编程:从零掌握 TCP Socket 编程与 C++ 实战落地
linux·网络·人工智能·后端·python·tcp/ip·性能优化
我命由我1234529 分钟前
Python 开发 - Python 项目部署(Windows 与 Linux)
java·linux·windows·后端·python·java-ee·python3.11
matlab代码33 分钟前
基于BP神经网络手写字母识别(单一)【源码79期】
人工智能·深度学习·神经网络
碧海银沙音频科技研究院41 分钟前
基于炬芯ATS308X的MLP DNN深度学习KWS语音识别实现(单唤醒词版本-谷歌mini Speech Commands数据集)
人工智能·深度学习
枫叶丹441 分钟前
表格数据也能用基础模型:TabPFN 与传统机器学习的比较方法
人工智能·机器学习·chatgpt·开源·agent·codex
Zella折耳根1 小时前
实验2进阶版数据看板的设计与实现
python
databook1 小时前
让 LLM 输出不再失控:用 Pydantic 校验大模型输出
人工智能·python·llm
jingcairensheng1 小时前
vscode 配置Python虚拟环境基于扩展和原生miniconda的区别
ide·vscode·python
程序猿编码1 小时前
不用 PyTorch!从零手写 C++ 深度学习框架,自动微分、CUDA、分布式一把搞定
c++·深度学习·大模型推理·自动微分