# tiny_ml
**Repository Path**: wwdguu/tiny_ml
## Basic Information
- **Project Name**: tiny_ml
- **Description**: numpy 实现的 周志华《机器学习》书中的算法及其他一些传统机器学习算法
- **Primary Language**: Python
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 2
- **Created**: 2020-09-14
- **Last Updated**: 2025-10-14
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# tinyml
利用numpy实现的一些周志华《机器学习》(西瓜书)一书及 斯坦福cs229课程中的算法,宜配合西瓜书和cs229课件食用。并选择性实现了一些经典算法的简易版本,
如 按照陈天奇的slides实现的XGBRegressor。
## 已经实现的算法
- **线性模型**
- [LinearRegression](/tinyml/linear_model/LinearRegression.py) [线性回归闭式解推导](notes/linear_model/linear_reg_closed_form.pdf)
- [LogisticRegression](/tinyml/linear_model/LogisticRegression.py) [逻辑回归相关推导](/notes/linear_model/logistic_regression.pdf)
- [SGDRegressor](/tinyml/linear_model/SGDRegressor.py)
- [LocallyWeightedLinearRegression](/tinyml/linear_model/LocallyWeightedLinearRegression.py)
- **判别分析**
- [LDA](/tinyml/discriminant_analysis/LDA.py)
- [GDA](/tinyml/discriminant_analysis/GDA.py)
- **决策回归树**
- [DecisionTreeClassifier](/tinyml/tree/DecisionTreeClassifier.py)
- [DecisionTreeRegressor](/tinyml/tree/DecisionTreeRegressor.py)
- **支持向量机**
- [SVC](/tinyml/svm/SVC.py)
- **贝叶斯**
- [NaiveBayesClassifier](/tinyml/bayes/NaiveBayesClassifier.py)
- **聚类算法**
- [KMeans](/tinyml/cluster/KMeans.py)
- [LVQ](/tinyml/cluster/LVQ.py)
- [GaussianMixture](/tinyml/cluster/GaussianMixture.py)
- [DBSCAN](/tinyml/cluster/DBSCAN.py)
- [AGNES](/tinyml/cluster/AGNES.py)
- **降维算法**
- [MDS](/tinyml/dimension_reduction/MDS.py)
- [PCA](/tinyml/dimension_reduction/PCA.py)
- [KernelPCA](/tinyml/dimension_reduction/KernelPCA.py)
- [LLE](/tinyml/dimension_reduction/LLE.py)
- [Isomap](/tinyml/dimension_reduction/Isomap.py)
- **集成学习**
- [AdaBoostClassifier](/tinyml/ensemble/AdaBoostClassifier.py)
- [GradientBoostingRegressor](/tinyml/ensemble/GradientBoostingRegressor.py)
- [RandomForestRegressor](/tinyml/ensemble/RandomForestRegressor.py)
- [XGBRegressor](/tinyml/ensemble/XGBRegressor.py)
- **特征选择**
- [ReliefFeatureSelection](/tinyml/feature_selection/ReliefFeatureSelection.py)
## 和sklearn实现的比较
- **回归算法结果** [代码](/tinyml/compare/compare_regresssor.py)
| 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 |
- **分类算法结果** [代码](/tinyml/compare/compare_classification.py)
| 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% |
- **聚类算法比较** [代码](/tinyml/compare/compare_clustering.py)
- KMeans
- DBSCAN
- GMM
- AGNES
- **降维算法比较** [代码](/tinyml/compare/compare_dimension_reduction.py)
- PCA
- KernalPCA
- LLE
- MDS