Statistical-Learning-Method_Code README

The project's README from github.com/Dod-o/Statistical-Learning-Method_Code. As one markdown file: README.md.

【广告位-AI 工具推荐】学术研究必备 - GreatRouter 大模型 API 服务

正在用 大模型 做研究?论文写作、代码调试、数据分析都需要 AI 辅助?

GreatRouter 提供更实惠的 大模型 API 服务:

→ 立即试用


前言

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

image

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

注:其中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/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

许可 / 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: [email protected]

项目历史

Star History Chart

Statistical-Learning-Method_Code (Dod-o/Statistical-Learning-Method_Code)

Searching Database…

这是什么?这是用 Python 从零实现李航《统计学习方法》(统计学习方法)中涵盖的每一种算法的项目,代码注释详尽,并与书中的公式一一对应。
这是要导入的库,还是独立的示例脚本?这是一组独立的脚本,每种算法或章节一个文件夹(例如 SVM/SVM.py、HMM/HMM.py),而不是可以通过 pip install 安装的打包库。
如何运行其中一个算法实现?克隆仓库,然后直接用 Python 运行对应的脚本,例如 python perceptron/perceptrondichotomy.py;每章的代码都放在各自的文件夹中。
运行脚本之前,我需要对数据集做些什么吗?需要。随附的 Mnist 数据集是以压缩 csv 的形式提供的(因为解压后的文件有 107MB),因此在运行使用它的脚本之前,必须先把 Mnist 文件夹内的压缩包解压。
我能把这些代码用于商业用途吗?不能。项目内容采用 CC BY-NC-SA 4.0 许可协议,该协议仅限非商业用途,因此你可以分享和改编,但不能出售或用于商业用途。
这是用于生产环境,还是用于学习?这是《统计学习方法》的学习辅助材料,每个实现都优先考虑清晰性和与公式的可对照性,而非性能,面向学习经典统计学习方法的学生。
书中的哪些算法有对应的实现?监督学习:感知机、K近邻、朴素贝叶斯、决策树、逻辑斯谛回归、最大熵模型、支持向量机、AdaBoost、EM算法、隐马尔可夫模型。无监督学习:K均值、层次聚类、主成分分析、LSA、PLSA、LDA、PageRank。
除了代码注释,还有更多的解释吗?有。作者为大多数章节撰写了配套的博客文章,逐步讲解理论,例如《统计学习方法 | SVM 原理分析与实现》,并在 README 中直接链接。
这个项目还在积极开发吗?作者提到已与人民邮电出版社签订出书合同,并在2022年2月的更新中计划在单独的 book 分支中重构代码,但除此之外,更新一直时断时续。
Creator
Dod-o
Size
97.9 MB
Stars
11.6K
Updated
CommitNov 25
Age
7y
Commits · 90 Days