lihongweimail / Statistical-Learning-Method_Code

手写实现李航《统计学习方法》书中全部算法

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

前言

力求每行代码都有注释,重要部分注明公式来源。具体会追求下方这样的代码,学习者可以照着公式看程序,让代码有据可查。

image

如果时间充沛的话,可能会试着给每一章写一篇博客。先放个博客链接吧:传送门

注:其中Mnist数据集已转换为csv格式,由于体积为107M超过限制,改为压缩包形式。下载后务必先将Mnist文件内压缩包直接解压。

Updates Jan 27 2021:部分无监督算法已更新!!! 该部分由Harold-Ran提供,在此感谢! 有其他算法补充的同学也欢迎添加我微信并pr,一起冲鸭!!!

实现

监督部分

第二章 感知机:

博客:统计学习方法|感知机原理剖析及实现
实现:perceptron/perceptron_dichotomy.py

第三章 K近邻:

博客:统计学习方法|K近邻原理剖析及实现
实现:KNN/KNN.py

第四章 朴素贝叶斯:

博客:统计学习方法|朴素贝叶斯原理剖析及实现
实现:NaiveBayes/NaiveBayes.py

第五章 决策树:

博客:统计学习方法|决策树原理剖析及实现
实现:DecisionTree/DecisionTree.py

第六章 逻辑斯蒂回归与最大熵模型:

博客:逻辑斯蒂回归:统计学习方法|逻辑斯蒂原理剖析及实现
博客:最大熵:统计学习方法|最大熵原理剖析及实现

实现:逻辑斯蒂回归:Logistic_and_maximum_entropy_models/logisticRegression.py
实现:最大熵:Logistic_and_maximum_entropy_models/maxEntropy.py

第七章 支持向量机:

博客:统计学习方法|支持向量机(SVM)原理剖析及实现
实现:SVM/SVM.py

第八章 提升方法:

实现:AdaBoost/AdaBoost.py

第九章 EM算法及其推广:

实现:EM/EM.py

第十章 隐马尔可夫模型:

实现:HMM/HMM.py

无监督部分

第十四章 聚类方法

实现:K-means_Clustering.py

实现:Hierachical_Clustering.py

第十六章 主成分分析

实现:PCA.py

第十七章 潜在语意分析

实现:LSA.py

第十八章 概率潜在语意分析

实现:PLSA.py

第二十章 潜在狄利克雷分配

实现:LDA.py

第二十一章 PageRank算法

实现:Page_Rank.py

联系

欢迎pr,有疑问也可通过issue、微信或邮件联系。
此外如果有需要MSRA实习内推的同学,欢迎*扰。
Wechat: lvtengchao(备注“blog-学校/单位-姓名”)
Email: lvtengchao@pku.edu.cn

About

手写实现李航《统计学习方法》书中全部算法


Languages

Language:Python 61.6%Language:Jupyter Notebook 38.4%