tinyml
利用numpy实现的一些周志华《机器学习》(西瓜书)一书及 斯坦福cs229课程中的算法,宜配合西瓜书和cs229课件食用。并选择性实现了一些经典算法的简易版本, 如 按照陈天奇的slides实现的XGBRegressor。
已经实现的算法
- 线性模型
- LinearRegression 线性回归闭式解推导
- LogisticRegression 逻辑回归相关推导
- SGDRegressor
- LocallyWeightedLinearRegression
- 判别分析
- LDA
- GDA
- 决策回归树
- DecisionTreeClassifier
- DecisionTreeRegressor
- 支持向量机
- SVC
- 贝叶斯
- NaiveBayesClassifier
- 聚类算法
- KMeans
- LVQ
- GaussianMixture
- DBSCAN
- AGNES
- 降维算法
- MDS
- PCA
- KernelPCA
- LLE
- Isomap
- 集成学习
- AdaBoostClassifier
- GradientBoostingRegressor
- RandomForestRegressor
- XGBRegressor
- 特征选择
- ReliefFeatureSelection
和sklearn实现的比较
- 回归算法结果 代码
Algorithm vs. RMSE | sklearn-boston | |
tinyml | sklearn | |
LinearRegression | 27.196 | 27.196 |
SGDRegressor | 27.246 | 27.231 |
DecisionTreeRegressor | 21.887 | 21.761 |
RandomForestRegressor | 21.142 | 21.142 |
GradientBoostRegressor | 16.778 | 16.106 |
XGBRegressor | 20.149 | 15.7 |
- 分类算法结果 代码
Algorithm vs. RMSE | sklearn-breast_cancer | |
tinyml | sklearn | |
NaiveBayes | 90.64% | 90.64% |
LogisticRegression | 92.98% | 92.98% |
LDA | 94.15% | 92.40% |
GDA | 92.40% | 93.57% |
SVC | 86.55% | 92.98% |
AdaboostClassifier | 92.40% | 92.40% |
- 聚类算法比较 代码
- KMeans
- DBSCAN
- GMM
- AGNES
- 降维算法比较 代码
- PCA
- KernalPCA
- LLE
- MDS