Awesome Open Source
Awesome Open Source





格物 (Ko Wu) which means 'investigate the essence of things' in English is a key method for study and better understanding of the knowledge. It is proposed by ancient Chinese philosophers about 2000 years ago and has a profound impact on later generations. The spirit of Ko Wu asks us to not only learn how to use knowledge, but also clearly understand the intrinsic theory. Therefore, it is necessary to re-implement ML algorithms by ourselves to figure out what exactly they did and why they succeed.

This repository aims to implement popular Machine Learning and Deep Learning algorithms by both pure python and use open-source frameworks.

  • Common Machine Learning Part: switch by use_sklearn flag in the main function;
  • Deep Learning Part: four implement methods for each algorithm (use_sklearn, use_keras, use_torch and self_implement);
  • Applications Part: RL + NLP + CV
  • New trend: GNNs

Welcome everyone to help me finish this Ko Wu project by pulling requests or giving me some suggestions and issues!!!

关联知乎专栏 Associated Zhihu Blog

RL in Robotics

Machine Learning 格物志

代码目录 Code Catalog


  1. Single Linear Regression
  2. Multiple Linear Regression


  1. Logistic Regression
  2. KNN
  3. Support Vector Machine
  4. Naive Bayes

Regression & Classification

  1. Decision Tree
  2. Random Forest

Neural Network

  1. Feedforward Neural Network
  2. Convolutional Neural Network
  3. LSTM

Unsupervised Learning

  1. PCA
  2. K-Means

Ensemble Model

  1. Boosting

Reinforcement Learning

  1. Value Based Methods: Q-learning(Tabular), DQN
  2. Policy Based Methods: Vanilla Policy Gradient, TRPO, PPO
  3. Actor-Critic Structure: AC, A2C, A3C
  4. Deep Deterministic Policy Gradient: DDPG, DDPG C++ (Undone), TD3
  5. Soft Actor-Critic

Computer Vision

  1. GAN
  2. Resnet: Pytorch version, libtorch C++ version

Natural Language Processing

  1. Attention mechanism
  2. Transformer
  3. BERT

Graph Neural Networks

  1. Graph Neural Network (GNN)
  2. Graph Convolutional Neural Network (GCN)
  3. Graph Attention Networks (GAT)
  4. GraphSAGE
  5. GraphRNN
  6. Variational Graph Auto-Encoders (GAE)

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Python (1,143,903
Tensorflow (12,804
Pytorch (11,619
Keras (5,766
Convolutional Neural Networks (3,727
Lstm (1,972
Gan (1,728
Logistic Regression (1,240
Random Forest (1,217
Deep Reinforcement Learning (1,060
Decision Trees (852
Resnet (561
Naive Bayes Classifier (510
Q Learning (489
Support Vector Machines (451
Dqn (445
Ppo (235
Ddpg (198
Actor Critic (147
K Nearest Neighbours (114
Trpo (44
Related Projects