通过实现机器学习算法能够更加深刻的理解算法的本质,以及运行过程中会出现的问题。
本仓库为笔者在学习机器学习算法过程中实现的一些算法集合,
实现过程主要参考了《统计学习方法》和《模式识别与机器学习》这两本书。
为了方便使用和阅读,大多数算法按照如下模板实现,此外所有模型文件最后都提供了一个简单的测试数据集,直接run
对应的文件即可运行。
class ModuleName:
def __init__(self, *args, **kwargs):
# 初始化模型,保存模型的超参
pass
def fit(self, X, y, *args, **kwargs):
# 模型拟合
pass
def predict(self, X)->y:
# 预测
pass
-
聚类算法
-
分类算法
- 决策树(Decision Tree)
- 随机森林(Random Fores)
- K近邻(K Nearest Neighbors, KNN)
- 线性判别分析(Linear Discriminant Analysis, LDA)
- 二分类逻辑斯蒂回归(Logistic Regression)
- 多分类逻辑斯蒂回归(Logistic Regression)
- 离散朴素贝叶斯(Naive Bayes)
- 连续朴素贝叶斯(Naive Bayes)
- 多层感知机(Multi Layer Perceptron, MLP)
- 二分类支持向量机(Support Vector Machine, SVM)
- 多分类支持向量机(one vs one)
-
回归算法
-
其它