数据挖掘/算法相关资源(工具)整理贴_1.0

工欲善其事必先利其器,这里有一些不错的学习资源或者工具给对AI感兴趣的小伙伴:

 

科研相关 

https://sci-hub.tw/ 在学校外面访问不了学校图书馆论文库资源时,搜SCI之类的外文文献可以用这个

https://arxiv.org/ 收录科学文献预印本的在线数据库,每个人都可以免费地访问全文数据

https://paperswithcode.com/  follow专业前沿论文,各个领域state of the art

此外干货比较多的AI相关论坛 https://www.6aiq.com/ ,https://www.yanxishe.com/ ,http://www.paperweekly.site/

https://github.com/ 这个相信大家都知道

https://stackoverflow.com/ 程序出了问题可以尝试在上面发布咨询帖子,热心的朋友们会帮你解答,要注意提问方式

如果是涉及到比较细分比如竞赛特征工程,模型等问题,建议去细分社区咨询,比如竞赛微信群,CTR预估知识星球等,讨论氛围会更浓

 

AI赛事平台

国际赛事例如kaggle,国际学术会议CVPR、ICCV和WSDM等都开设了Workshop竞赛,数据挖掘领域顶级赛事KDD-Cup

国内天池大数据竞赛,DataFountain平台CCF大数据与计算智能大赛,Datacastle,JData,BIENDATA,和鲸社区等等

其中很多社区都会将top方案代码开源出来,通过学习源码可以比较清晰地认识到算法是如何解决特定业务问题的,而且部分数据挖掘相关的赛事也有利于锻炼数据分析的能力,因为很多情况下top方案的取胜点在于对业务的深度挖掘。

关于赛事方面总结国内做得比较好的应该就是杰少,王贺他们维护的一个竞赛组织,公众号是Kaggle竞赛宝典(还有几个相关的公众号),可以从baseline开始慢慢学习

 

数据挖掘工作/AI赛事中会用到的一些库(python)

特征工程:FeatureTools(github上也很多开源的,感觉特征工程正在被越来越多融入模型之中,比如MF向FM的进化,GBDT+LR向Deep深度推荐模型的进化,更需要人做的其实是基于业务的深度挖掘)

文本处理(分词,Embedding等):NLTK(英文分词),Jieba(中文分词),Gensim(主题模型,词嵌入),FastText(文本分类比较好用)

机器学习库:LibFM,xlearn,Mahout,MLlib

自动机器学习:TPOT,Auto-sklearn,Autokeras

深度学习CTR:DeepCTR(主流深度推荐模型基本都覆盖,维护者github仓库也有图推荐模型等源码可供学习)

推荐系统:Surprise, Lightfm

可视化:Matplotlib,Seaborn,Graphviz(GBDT系列模型可视化),WordCloud词云分析,python可解释机器学习库SHAP

文本图像预训练模型:https://github.com/opencv/open_model_zoo

大规模数据分析可以考虑:Dask,Ray,PySpark

模型部署: tensor serving,mleap,pmml

 

目前推荐系统,CTR预估在实践上比较好的参考资料:

公众号:小小挖掘机(推荐系统资料很全),浅梦的学习笔记(是DeepCTR开源库的维护人)

书籍:深度学习推荐系统(王喆)

 

一些额外tips

1.学习英文会有好处,无论是stack overflow上问问问题,还是找国外的论文作者要源码,表达得体和礼貌会增加成功解决问题的概率。

2.学会迁移和知识的贯通,比如word2vec不仅可以用来得到词向量,也可以用来对用户行为序列,物品进行表征等等,这些实践在竞赛中被证明是有效的,进一步可以从原理层面去思考这种做法为什么是有效的?又比如CV,NLP,推荐系统,CTR预估中为什么attension机制都会奏效?SVD技术为啥技能用于图像压缩也可能用于推荐系统?

3.良好的工程习惯,无论是开发还是算法,都需要迭代,团队合作。版本管理,项目结构,代码规范这些工作都是需要有保证的。比如一场数据挖掘竞赛,如果可以做到有着比较清晰的特征预处理,模型训练,参数配置,版本控制,代码测试等模块,那么将极大提高团队合作的效率和方案的可读性。

4.学会检索,关键字检索(search word+key words, in url, in title的用法),垂直检索(公众号,知识星球),

作者名->知乎,csdn,linkin,github,邮箱,学校个人主页等->咨询问题

5.细分领域的某些高质量会议需要自己去发现,比如可以关注国内Top公司的相关部门的公众号,上面的技术分享也许偶尔会提到在某个领域内会议上发表论文,然后去进一步挖掘

6.工具是提高工作效率的,但是上限在于对于算法的熟悉程度和业务的理解,不要本末倒置

目前就想到这么多,以后会进一步补充,另外因为一些小伙伴在咨询我19年JData比赛的事情,如果需要源码可以告诉我(出于隐私问题不能全部公开,但是中间有什么疑问欢迎找我交流,部分代码可以给到你邮箱)

你可能感兴趣的:(AI/数据挖掘)