GithubHelp home page GithubHelp logo

awesome-datascience's Introduction

Awesome Data Science

Awesome books, websites and tools for data science.

Enjoy it:-)

1. ML Theory

1.1 Courses

  1. Introduction To Machine Learning

    这是根据*Understanding Machine Learning: From Theory to Algorithms *这本书找到的课程。

    这本书只看了开头几章,真的是高屋建瓴!而且对PAC理论的推导是我目前见过最为精彩而且容易懂的,所以打算把DS-GA 1003的完成度作为目标,配合课程,书籍,习题和答案将这learning theory这部分的理论补充起来!

  2. Machine Learning(NYU, DS-GA 1003)✔️

    非常好的ML课程,正在跟进。感觉这门课程没有回避任何问题,对优化问题作出了很好的解释和说明。而且课程是站在一个相当高的角度(基于Risk)来展开,很有启发性。课程资料及自己的习题解答放在Github: NYU-ML

    已完成,很好,力荐!

  3. Inference and Representation (NYU,DS-GA-1005, CSCI-GA.2569)

    和上面的DS-GA 1003一个的系列的课程,主要关注的是概率图模型。资料也很全,后面系统学习概率图时打算选此课作为引导。

  4. Convex and Conic Optimization(Princeton, ORF523 )

    看了一点关于凸优化的内容,讲的比较细致,还未系统学习。

  5. Kernel Method, 李政轩✔️

    非常好的Kernel教程

  6. Introduction to Machine Learning(CMU, 10-301 + 10-601)

    CMU的ML课程。对我而言比较熟悉的算法,比如Decision Tree,看这个课的lecture notes就感觉略简单了。但是一些不是很熟悉的算法如Reinforcement Learning这些,看这种Introduction级别的还是挺不错的。

  7. Machine Learning and Statistical Pattern Recognition(CSE 5523)

    在查Naive Bayes的MAP估计时查到了这门课,感觉NB算法的MAP估计讲的很透彻。

  8. Introduction to Deep Learning(STAT 157, UC Berkeley, Spring, 2019)

    UC Berkeley的DL,看着不错,不过最近好像没时间看了Orz

  9. Introduction to Deep Learning(Princeton, COS 495)

    作为学习Deep learning的参考.

    (更新)Princeton的其他AL&ML相关课程可以在https://aiml.cs.princeton.edu/course.html 找到,其中Mathematics for Numerical Computing and Machine Learning, Theoretical Machine Learning 看着还不错。

  10. Mining Massive Data Sets(Stanford, CS246, Winter 2020)

    Mining Massive Data Sets. (正在学习中)

  11. Machine Learning & Data Mining(Caltech, CS 155, Winter 2020)

    lecture notes看着还不错

  12. CS-L,W-182/282A Designing, Visualizing and Understanding Deep Neural Networks(Berkeley, Spring 2020)✔️

    Berkeley的深度学习课程(正在学习中)

    (2021-02-28)做完了Assignment1, 几乎是完全从头开始搭建FC和CNN网络,走完整个流程对整个训练的过程有了相当深刻的认识,受益匪浅!

    (2021-03-15)这是一个近乎完美的课程!前三个Assignment是全部完成了的,在及其友好的引导下手写了CNN, Vanilla RNN, LSTM, Transformer等实现,通过写Forward和Backward的步骤,对各种网络结构的理解又加深了一个层次。

    这种from scratch的实现方式也是我最喜欢的方式——个人认为这是最为直观,有效的学习方式。这是因为from scratch的代码一方面可以让模糊的理论理解更加清晰,同时也提供了关于算法落地的insight。这些实现基本上没有加任何优化,所以运行效率都比较低,但是正因为如此才能够以一种更为直接的方式将算法本身的面目呈现出来。

    课程后半主要讲的是GAN和RL, 这块之前几乎没有接触过,所以学起来比较吃力。所以最后的Assignment4(RL相关)只做了一部分,还是参考了下面的实现写的。感觉这块内容进度有点太快了,也是因为我主要以Lecture Notes为主,资料看得比较少。

  13. CS 189/289A-Introduction to Machine Learning

    Berkeley的统计机器学习课程,理论讲的比较深入,给了很多有用的资料。(后面需要重点看的)

  14. CSC2541 Winter 2021 Topics in Machine Learning: Neural Net Training Dynamics

    深入DL训练过程的课程,试图分析DL效果好的原因,值得好好看!

  15. CSE 5526: Neural Networks, Fall 2014

    看到说Simon那本Learning Networks and Learning Machines不错,就去找了下相关的课程,只找到了这个,感觉可以作为书的引导。

  16. Convex Optimization: Fall 2019

    CMU凸优化课程。

  17. CS224W: Analysis of Networks(Stanford), Fall2018

    图数据挖掘课程。这里选择Fall2018出于两个目的:课程作业可以获取;有教学录制视频。

  18. Graph Neural Networks

    目前看到的GNN相关的最全的总结了!而且发现这位大佬教的课https://hhaji.github.io/Teaching/ 真的都很顶!个人十分喜欢这种给出大量参考资料的课程!

  19. CS 285 at UC Berkeley: Deep Reinforcement Learning

    Berkeley DRL.

  20. Foundations of Machine Learning-Fall2020

    Foundations of Machine Learning作者开设的对应的课程

  21. Machine Learning and Data Mining-CSC 411 Winter 2019

    toronto大学的机器学习课程,选录进入此系列是因为这个课程覆盖面较全,虽然较为精简。然后也有配套的homework。

1.2 Books

  1. Chapman & Hall/CRC Data Mining and Knowledge Discovery Series

    此系列包括了CRC Press自2007年以来的数据挖掘方面的书籍,从最初的EXCEL, 到SAS,再到Python和R,进行着明显的演进。

  2. Introduction to Data Mining✔️

    中文为《数据挖掘导论》,翻译的是第一版,现在又出了英文第二版。内容比较丰富,比较适合入门(因为书籍并没有刻意避开复杂的地方,所以也并没有很简单)。

  3. Computer Age Statistical Inference: Algorithms, Evidence and Data Science

    ESL作者Trevor Hastie写的,从频率学派的经典统计到贝叶斯,再到新世纪兴起的EM,Lasso, SVM, Kernel以及NN做了介绍。感觉很不错!

  4. Learning From Data✔️

    神书!

  5. Probability and Mathematical Statistics✔️

    本科看过的8本概率论和数理统计的书(流水记录与简评)。Hogg和Casella真的是经典.

  6. Neural Networks and Deep Learning✔️

    这本书在我看来是DL入门最好的一本书,没有之一。先是从理论上把基于梯度下降的优化过程讲清楚,之后写代码从零开始构建神经网络。条理清晰,层次分明,没有回避任何问题,读完解决了很多之前一直都有的疑惑。

  7. Neural Networks from Scratch in Python✔️

    如果说Michael Nielsen的NNDL是高屋建瓴,站在足够的高度为读者展示整个NN的蓝图,那么这本NNFS就是踩在坚实的大地上,为读者提供蓝图中的每一处事物并带领你亲身去体验。其实NNDL本身也已经包含了很多NNFS提供的内容,但是后者更加具体一些。

    优点: From Scratch是透彻理解一个事物的最直接有效的办法,前提是真的From Scratch; NN的Forward部分讲的比较详细,逻辑清晰,代码简洁; 对Nonlinear(Activation function)的讲解细致,其中部分应该是参考了Michael Nielsen, Neural Networks and Deep Learning中Chap4 A visual proof that neural nets can compute any function 的内容. 两者可以互为参考; Chap9 Backpropagation写的极为细致清晰,应该是我目前看到的最为清晰的BP讲解与实现,层层递进,引人入胜; Chap10 Optimizers算是差强人意,对各个优化器motivation的讲解较为清晰,代码写的也比较好.比较可惜的是没有放任何公式...这些公式又不难,贴上来对着代码讲一下会好很多; Chap18 Model Object, Chap21 Saving and Loading Models and Their Parameters都写的不错,条理清晰,代码也是一步步地讲解

    缺点:Chap6,7,8中对Calculus(Derivative, Gradient等)的讲解有些繁琐,且稍显粗浅; Chap11, 12, 13分三章讲Testing Data/Validation Data/Training Data, 每章几页草草了事,大可不必...不过能提到data leakage也算是弥补回来一点

2. Programming

2.2 Books

  1. Data Structures & Algorithms in Python, Michael T. Goodrich✔️

    用Python实现一些数据结构,讲解的非常细致,难度适中,课后题很多都很有启发性。正在阅读,并整理部分习题答案,放在Github项目Data-Structures-and-Algorithms-in-Python。同时,为了方便以后的继续学习,也在持续写一个库,主要就是参考这本书的源代码,也放在Github: ToyData

  2. Data Structures Using C, Reema Thareja✔️

    讲解非常清晰的一本书,用纯C实现全部的数据结构。代码有少许错误,但是总体感觉尚可。之前看的时候用Zim做了一些习题和笔记

2.1 Courses

  1. CS106, CS103(Stanford)

    Stanford计算机科学入门系列课程.

    ✔️CS106L-Standard C++ Programming-Fall 2020. And here is my github repo CS106L-Fall2020 (lecture notes&assignment solutions) about this course.(整体不错,讲解了modern cpp的一些特性,不过整体内容比较简洁,没有涉及很多)

    ✔️CS106A-Programming Methodologies. And here is my github repo CS106A-Fall2020(很赞的编程入门课程,也是Python很好的入门资料,广度深度都有,作业和项目全部做完了,很友好!)

    ✔️CS106B Programming Abstractions(主要是讲解一些基本的数据结构,编程语言用的是Cpp. Assignment做到一半结果学校把资源转到内网了...所以后面就大概看了一些Lecture Notes)

    计划学习CS103-Mathematical Foundations of Computing.(因为最新的2020Fall的课程资料需要登录才能看到,这里就找来2018年的资料,好在课程的时效性不太强)

  2. Structure and Interpretation of Computer Programs(Berkeley, CS61A)

    Python版的SICP,讲的非常好,但是我学起来有些吃力(Project太难了)...跟了几个week就放弃了。后面有时间再看吧:-)(CS61A, CS61B, CS61C三门课都是很好的课程)

  3. Data Structures(Stanford, CS166)

    比较深入的数据结构课程,感觉难度比较大,但是还是决定尝试一下

  4. DS-GA 3001 Advanced Python for Data Science✔️

    确实是属于Advanced级别,后面会讲Cython和并发与并行编程,这些平时学习基本没有基础过,打算系统学习一下。

    (更新)感觉还可以吧,总体来说还是比较精简的,没有想象中那么Advanced:-)

  5. COS226, Princeton

    数据结构与算法,教材就是有名的算法4,资料非常详细,而且有演示视频。

  6. CS/ECE 374 A, CS/ECE 374 B

    同属Introduction to Algorithms & Models of Computation的两个部分。感觉算法讲的特别深入。另外B section的代码是用Python实现的。

    作者Jeff Erickson也在今年6月(1st edition, June 2019)开源了他的新书,Algorithms, 看了其中回溯的章节,写的特别好!

  7. CSCI2100/ESTR2102 Data Structures

    搜AVL Tree的时候找到这门课的课件,遂找到此课。后发现是港中文大佬Yufei Tao开的课。他还开了其他一些算法,线代和数据挖掘的一些课,可以作为参考。

  8. Data Structure and Algorithm, Jenny's lectures CS/IT NET&JRF

    数据结构与算法,女神讲的可是太好了!

2.3 Websites

  1. MachineLearning+

    有一些讲DM算法比较深入的文章,此外这里提供了Pandas和Numpy的练习题。

  2. UC Business Analytics R Programming Guide

    This course provides an intensive, hands-on introduction to Data Wrangling with the R programming language. You will learn the fundamental skills required to acquire, munge, transform, manipulate, and visualize data in a computing environment that fosters reproducibility.

  3. STA-663-2017

    Duke大学的一个课程文档,可以看作一个Python的科学计算Toolbox.

2.4 Projects|Tools

  1. mlxtend

    Github地址mlxtend,提供了一些比较常见的算法,调用方式非常简单和sklearn相似,而且和sklearn兼容性比较好。此外,对于API的使用都给出了很多内容翔实的例子,值得学习。

    此外,我感觉这个项目很适合学习从零实现一个机器学习算法,因为并没用像Sklearn那样为了良好的用户体验和高效率执行做很多优化,代码简洁,逻辑业较为清晰。可以作为Machine Learning From Scratch系列的重要参考资料。

    PS:项目作者rasbt处理issue是真的及时——“I am currently traveling but will put that onto my todo list for late July when I am back at a "real" computer.” :-)

  2. numpy-ml

    Ever wish you had an inefficient but somewhat legible collection of machine learning algorithms implemented exclusively in numpy? No?

3. Computer Science

Operating System

Books
  1. CS:APP:heavy_check_mark:

    神书!上面提到过在CMU对应的课程,也是现在正在看的书。只有真正看过之后才会明白为什么那么多人推荐吧。

Courses
  1. Computation Structures(MIT6.004)

    分布式系统先修课。(需要一定的计算机底层知识才可以,暂时没去看)

  2. Intro to Computer Systems, Spring 2020 CMU

    CSAPP为教材的操作系统课程,也是CMU 15-445/645的先修课。在官网好像是只能看到lab0的资料,后续lab官网(不登录)没法看,可以去书的主页去找老版本的lab做。

    (更新)感觉lecture notes不是很全面,买本实体书边看边做练习比较好。

  3. CS110 Principles of Computer Systems(Stanford)-Computer Organization & Systems

    计算机系统。

Computer Networks

Books
  1. 计算机|计算机网络(不求甚解系列:-):heavy_check_mark:

    Head First Networking ,非常简单的入门介绍,可以当作第一次接触计算机网络时的读物。(但是很明显这本09年的书有点太老了,而且会讲布线这些很“物理”的东西:-)

    计算机是怎样跑起来的,同样是很简单的介绍,但是感觉还是有些用的。比如开头章节“试着制造一台计算机吧”,从硬件开始讲解一个最最简单的计算机是怎么运行的。比如之前看到有人问:“操作系统中的时钟是硬件层面的实现还是软件层面的实现”,而这本书中的一个元件就是2.5MHz的时钟发生器。

Courses
  1. CS 144: Introduction to Computer Networking

    计算机网络比较有名的课程.

  2. Computer Networks, Neso Academy

    油管上一门计算机网络的课,自底向上讲的,目前看到大概40+,感觉还是很好的。(不过这个list总共是97个视频,应该是没有更新完,官方好像标记为full, 可能不会再更了,有些可惜)

Database System

Books
  1. Database System Concepts[7th], Abraham Silberschatz, Henry F. Korth, S. Sudarsha

    很多课程都在用的经典教材

  2. Database Management System[3rd], R&J

    比较经典的教材,讲的比较细致。Berkeley和NTHU用的教材。

Courses
  1. Database Systems(CMU 15-445/645 )

    看了下感觉资料还挺全的,lecture notes和视频都有,先试听一下。这门课重点是讲解数据库的底层实现。

  2. CS 471000 Introduction to Database Systems: Implementation, architectural design, and trade-offs

    NTHU的DB课程,Youtube有Shan-Hung Wu 吳尚鴻老师的课程视频,讲的特别详细。

  3. Datenbankenlernen.de, Prof. Dr. Jens Dittrich

    看起来还不错的课程。

4. Topic

分专题的资源

4.1 Machine Learning System

之前看的一篇Hidden Technical Debt in Machine Learning Systems感触挺深的,后面就找了下Machine Learning System的资料.

  1. Awesome System for Machine Learning

    比较全面的资料合集

  2. CSE 599W: Systems for ML

    Tianqi Chen在华盛顿大学的机器学习系统课程。

  3. CSCE 585

    A graduate-level class on machine learning systems.

  4. CS6787: Advanced Machine Learning Systems — Fall 2019

    cornell的课程,附带了很多paper,值得好好看一下。

  5. Production Machine Learning Systems

    coursera上Google开的课,貌似需要付费

  6. CS 329S: Machine Learning Systems Design

    Stanford, Winter 2021

  7. Machine Learning Systems (Fall 2019)

    UCB RISE LAB.

  8. EECS 598: Systems for AI (W'21)

    University of Wisconsin

4.2 Association Analysis

  1. Christian Borgelt's Web Pages
  2. SPMF

4.3 AIOps

  1. AIOps Fall2020-Tsinghua NetMan Lab

    **Dan Pei**老师在清华开的课程。

  2. awesome-AIOps

  3. aiops-handbook

5. Projects

正在做(并没有:-)的几个玩具项目.

  1. ToyData: pip install ToyData -i https://pypi.org/simple开启.

  2. ToyML: DBSCAN, Hierarchical(Agnes&Diana), Kmeans, KNN, AdaBoost已完成.

  3. LanguageQA: 语言使用个人定制版QA,好记性不如写文档.

  4. 梅贾的窃魂卷: Python系列笔记,目前3/25(叠不动了:-).

6. Industry

  1. Twitter Engineering

awesome-datascience's People

Contributors

shenxiangzhuang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.