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 «с нуля» всех алгоритмов из книги Ли Ханя 'Statistical Learning Method' (统计学习方法), с подробно прокомментированным кодом, который напрямую соответствует формулам из книги.
Это библиотека, которую импортируют, или отдельные примеры-скрипты?Это набор отдельных скриптов: по одной папке на каждый алгоритм или главу (например, SVM/SVM.py, HMM/HMM.py). Это не готовая библиотека, которую устанавливают через pip install.
Как запустить одну из реализаций алгоритмов?Склонируйте репозиторий и запустите нужный скрипт напрямую через Python, например python perceptron/perceptrondichotomy.py. Код каждой главы лежит в своей папке.
Нужно ли что-то делать с датасетом перед запуском скриптов?Да. Включённый датасет Mnist хранится в сжатом виде как csv (потому что несжатый файл весит 107 МБ), поэтому перед запуском скриптов, которые его используют, нужно распаковать архив в папке Mnist.
Можно ли использовать этот код в коммерческих целях?Нет. Содержимое проекта распространяется по лицензии CC BY-NC-SA 4.0, которая запрещает коммерческое использование. Материалами можно делиться и их можно адаптировать, но нельзя продавать их или использовать в коммерческих целях.
Это для продакшена или для учёбы?Это пособие к книге для учёбы. Каждая реализация ставит ясность и возможность проследить формулы выше производительности и рассчитана на студентов, которые изучают классические методы статистического обучения.
Какие алгоритмы из книги реализованы?Обучение с учителем: Perceptron, KNN, Naive Bayes, Decision Tree, Logistic Regression, Maximum Entropy, SVM, AdaBoost, EM и HMM. Обучение без учителя: K-means, Hierarchical Clustering, PCA, LSA, PLSA, LDA и PageRank.
Есть ли пояснения помимо комментариев в коде?Да. Автор написал сопроводительные статьи в блоге, в которых разбирает теорию по большинству глав (например, 'Statistical Learning Method | SVM principle analysis and implementation'). Ссылки на них приведены прямо в README.
Проект всё ещё активно развивается?Автор упоминал договор на издание книги (с издательством People's Posts and Telecommunications Press) и планы переработать код в отдельной ветке 'book'. Это указано в обновлении от февраля 2022 года, но в остальном обновления выходят нерегулярно.
Creator
Dod-o
Size
97.9 MB
Stars
11.6K
Updated
CommitNov 25
Age
7y
Commits · 90 Days