手写实现李航《统计学习方法》书中全部算法
【广告位-AI 工具推荐】学术研究必备 - GreatRouter 大模型 API 服务
正在用 大模型 做研究?论文写作、代码调试、数据分析都需要 AI 辅助?GreatRouter 提供更实惠的 大模型 API 服务: - 🎓 学术用户专享 8 折:比官方便宜 20%(需学术认证) - 💰 注册送 $3:足够测试 Claude 3.5 约 1000 次对话 - 🛡️ 质量保障:蜜罐测试,与官方结果不一致赔付 10 倍 - 💳 微信支付:无需信用卡,余额永不过期 - 🌐 支持 41+ 模型:OpenAI、Anthropic、DeepSeek、xAI 等 → 立即试用
前言 ====
力求每行代码都有注释,重要部分注明公式来源。具体会追求下方这样的代码,学习者可以照着公式看程序,让代码有据可查。

如果时间充沛的话,可能会试着给每一章写一篇博客。先放个博客链接吧:传送门。
注:其中Mnist数据集已转换为csv格式,由于体积为107M超过限制,改为压缩包形式。下载后务必先将Mnist文件内压缩包直接解压。
【Updates】
书籍出版:目前已与人民邮电出版社签订合同,未来将结合该repo整理出版机器学习实践相关书籍。同时会在book分支中对代码进行重构,欢迎在issue中提建议!同时issue中现有的问题也会考虑进去。(Feb 12 2022)线下培训:女朋友计划近期开办ML/MLP/CV线下培训班,地点北上广深杭,目标各方向快速入门,正在筹备。这里帮她打个广告,可以添加微信15324951814(备注线下培训)。本人也会被拉过去义务评估课程质量。。。(Feb 12 2022)
无监督部分更新:部分无监督算法已更新!!! 该部分由Harold-Ran提供,在此感谢! 有其他算法补充的同学也欢迎添加我微信并pr!(Jan 27 2021) 实现 ======
监督部分
第二章 感知机:
博客:统计学习方法|感知机原理剖析及实现 实现:perceptron/perceptrondichotomy.py第三章 K近邻:
博客:统计学习方法|K近邻原理剖析及实现 实现:KNN/KNN.py第四章 朴素贝叶斯:
博客:统计学习方法|朴素贝叶斯原理剖析及实现 实现:NaiveBayes/NaiveBayes.py第五章 决策树:
博客:统计学习方法|决策树原理剖析及实现 实现:DecisionTree/DecisionTree.py第六章 逻辑斯蒂回归与最大熵模型:
博客:逻辑斯蒂回归:统计学习方法|逻辑斯蒂原理剖析及实现 博客:最大熵:统计学习方法|最大熵原理剖析及实现实现:逻辑斯蒂回归:Logisticandmaximumentropymodels/logisticRegression.py 实现:最大熵:Logisticandmaximumentropymodels/maxEntropy.py
第七章 支持向量机:
博客:统计学习方法|支持向量机(SVM)原理剖析及实现%E5%8E%9F%E7%90%86%E5%89%96%E6%9E%90%E5%8F%8A%E5%AE%9E%E7%8E%B0.pdf) 实现:SVM/SVM.py第八章 提升方法:
实现:AdaBoost/AdaBoost.py第九章 EM算法及其推广:
实现:EM/EM.py第十章 隐马尔可夫模型:
实现:HMM/HMM.py无监督部分
第十四章 聚类方法
实现:K-means_Clustering.py第十六章 主成分分析
实现:PCA.py第十七章 潜在语意分析
实现:LSA.py第十八章 概率潜在语意分析
实现:PLSA.py第二十章 潜在狄利克雷分配
实现:LDA.py第二十一章 PageRank算法
实现:Page_Rank.py许可 / License
本项目内容许可遵循Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)。The content of this project itself is licensed under the Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
联系 ====== 欢迎pr,有疑问也可通过issue、微信或邮件联系。 此外如果有需要MSRA实习内推的同学,欢迎骚扰。 Wechat: lvtengchao(备注“blog-学校/单位-姓名”) Email: lvtengchao@pku.edu.cn
项目历史 ======