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 (53,199
pytorch (2,319
tensorflow (2,138
keras (761
convolutional-neural-networks (450
gan (344
lstm (266
deep-reinforcement-learning (200
resnet (110
dqn (74
logistic-regression (53
random-forest (53
ppo (47
actor-critic (37
ddpg (32
decision-trees (31
naive-bayes-classifier (19
support-vector-machine (18
trpo (15