Skip to content

Commit 9fe5afb

Browse files
authored
Merge branch 'main' into tests
2 parents 77009e4 + c534ac3 commit 9fe5afb

File tree

13 files changed

+119
-36
lines changed

13 files changed

+119
-36
lines changed

.github/labeler.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# .github/labeler.yml
2+
3+
# Label PRs touching C++ source files
4+
cpp:
5+
- 'src/**/*.cpp'
6+
- 'ml_library_include/**/*.h'
7+
- 'ml_library_include/**/*.hpp'
8+
9+
# Label PRs touching documentation
10+
docs:
11+
- 'docs/**/*'
12+
- '**/*.md'
13+
14+
# Label PRs touching tests
15+
tests:
16+
- 'tests/**/*'
17+
18+
# Label PRs touching examples
19+
examples:
20+
- 'examples/**/*'
21+
22+
# Label PRs touching GitHub workflows
23+
ci:
24+
- '.github/workflows/**/*'
25+
26+

.github/workflows/auto-label.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# .github/workflows/auto-label.yml
2+
3+
name: Auto-Label PRs and Issues
4+
5+
on:
6+
issues:
7+
types: [opened]
8+
pull_request:
9+
types: [opened]
10+
11+
permissions:
12+
contents: read
13+
issues: write
14+
pull-requests: write
15+
16+
jobs:
17+
auto-label:
18+
runs-on: ubuntu-latest
19+
20+
steps:
21+
- name: Checkout code
22+
uses: actions/checkout@v3
23+
24+
- name: Auto-label
25+
uses: actions/labeler@v3
26+
with:
27+
repo-token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/doxygen.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,17 @@ jobs:
1616
- name: Checkout code
1717
uses: actions/checkout@v3
1818

19+
- name: Install Dependencies
20+
run: |
21+
sudo apt-get update
22+
sudo apt-get install -y wget
23+
1924
- name: Install Doxygen
2025
run: sudo apt-get install -y doxygen
2126

27+
- name: Create Output Directory
28+
run: mkdir -p docs/doxygen
29+
2230
- name: Generate Documentation
2331
run: doxygen Doxyfile
2432

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@ cmake_install.cmake
1717
Makefile
1818

1919
# Doxygen Output
20-
docs/doxygen/
21-
20+
docs/
2221
# Generated binaries and object files
2322
*.obj
2423
*.o

Doxyfile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,7 @@ OPTIMIZE_OUTPUT_SLICE = NO
348348
#
349349
# Note see also the list of default file extension mappings.
350350

351-
EXTENSION_MAPPING = md=markdown
351+
EXTENSION_MAPPING = md=markdown
352352

353353
# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
354354
# according to the Markdown format, which allows for more readable
@@ -358,7 +358,7 @@ EXTENSION_MAPPING = md=markdown
358358
# case of backward compatibilities issues.
359359
# The default value is: YES.
360360

361-
MARKDOWN_SUPPORT = YES
361+
MARKDOWN_SUPPORT = YES
362362

363363
# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up
364364
# to that level are automatically included in the table of contents, even if
@@ -402,7 +402,7 @@ BUILTIN_STL_SUPPORT = NO
402402
# enable parsing support.
403403
# The default value is: NO.
404404

405-
CPP_CLI_SUPPORT = NO
405+
CPP_CLI_SUPPORT = YES
406406

407407
# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
408408
# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen
@@ -635,7 +635,7 @@ INTERNAL_DOCS = NO
635635
# Possible values are: SYSTEM, NO and YES.
636636
# The default value is: SYSTEM.
637637

638-
CASE_SENSE_NAMES = SYSTEM
638+
CASE_SENSE_NAMES = YES
639639

640640
# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
641641
# their full class and namespace scopes in the documentation. If set to YES, the

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2024 Jide Oyelayo
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@
1010

1111
```plaintext
1212
cpp-ml-library/
13-
├── include/ # Header files
14-
├── src/ # Source files
13+
├── ml_library_include/ # Header files
1514
├── tests/ # Unit tests
1615
├── examples/ # Example usage files
1716
├── docs/ # Documentation files
@@ -50,33 +49,33 @@ make install
5049
To use this library in your C++ project, include the master header file:
5150

5251
```cpp
53-
#include "ml/ml.h"
52+
#include "ml_library_include/ml.h"
5453
```
5554

5655
## Implemented Algorithms
5756

5857
The following machine learning algorithms are planned, inspired by concepts and techniques taught in the Udemy course:
5958

6059
1. **Regression**
61-
- [x] Polynomial Regression
62-
- [x] Multi-Linear Regression
63-
- [x] Logistic Regression
64-
- [x] Decision Tree Regression
65-
- [x] Random Forest Regression
66-
- [x] K-Nearest Neighbors
60+
- [x] Polynomial Regression (PolynomialRegression)
61+
- [x] Multi-Linear Regression (MultilinearRegression)
62+
- [x] Logistic Regression (LogisticRegression)
63+
- [x] Decision Tree Regression (DecisionTreeRegressor)
64+
- [x] Random Forest Regression (RandomForestRegressor)
65+
- [x] K-Nearest Neighbors (KNNRegressor)
6766

6867

6968
2. **Classification**
70-
- [x] Decision Tree Classifier
71-
- [x] Random Forest Classifier
72-
- [x] K-Nearest Neighbors
69+
- [x] Decision Tree Classifier (DecisionTreeClassifier)
70+
- [x] Random Forest Classifier (RandomForestClassifier)
71+
- [x] K-Nearest Neighbors (KNNClassifier)
7372

7473
3. **Clustering**
75-
- [x] K-Means Clustering
76-
- [x] Hierarchical clustering
74+
- [x] K-Means Clustering (KMeans)
75+
- [x] Hierarchical clustering (HierarchicalClustering)
7776

7877
4. **Neural Networks**
79-
- [x] Neural Network (NN)
78+
- [x] Neural Network (NeuralNetwork)
8079
- [ ] Artificial Neural Network (ANN)
8180
- [ ] Convolutional Neural Network (CNN)
8281

@@ -85,27 +84,30 @@ The following machine learning algorithms are planned, inspired by concepts and
8584
- [x] Eclat
8685

8786
6. **Support Vector Machine**
88-
- [ ] Support Vector Regression (SVR)
87+
- [ ] Support Vector Regression (SupportVectorRegression)
8988

9089
## Algorithm Implementation Progress
9190

9291
| Algorithm Category | Algorithm | Implemented | Tests | Examples |
9392
|--------------------------|------------------------------|-------------|-------|----------|
94-
| **Regression** | Polynomial Regression | [x] | [ ] | [x] |
95-
| | Logistic Regression | [x] | [ ] | [x] |
96-
| | Multi-Linear Regression | [x] | [ ] | [x] |
97-
| | Decision Tree Regression | [x] | [ ] | [ ] |
98-
| | Random Forest Regression | [x] | [ ] | [ ] |
99-
| **Classification** | Decision Tree Classifier | [x] | [ ] | [ ] |
100-
| | Random Forest Classifier | [x] | [ ] | [ ] |
101-
| | K-Nearest Neighbors | [x] | [ ] | [ ] |
102-
| **Clustering** | K-Means Clustering | [x] | [ ] | [ ] |
103-
| **Neural Networks** | Neural Network (NN) | [x] | [x] | [x] |
93+
| **Regression** | Polynomial Regression (PolynomialRegression) | [x] | [ ] | [x] |
94+
| | Logistic Regression (LogisticRegression) | [x] | [ ] | [x] |
95+
| | Multi-Linear Regression (MultilinearRegression) | [x] | [ ] | [x] |
96+
| | Decision Tree Regression (DecisionTreeRegressor) | [ ] | [ ] | [ ] |
97+
| | Random Forest Regression (RandomForestRegressor) | [ ] | [ ] | [ ] |
98+
| | K-Nearest Neighbors (KNNRegressor) | [x] | [ ] | [ ] |
99+
| **Classification** | Decision Tree Classifier (DecisionTreeClassifier) | [ ] | [ ] | [ ] |
100+
| | Random Forest Classifier (RandomForestClassifier) | [ ] | [ ] | [ ] |
101+
| | K-Nearest Neighbors (KNNClassifier) | [x] | [ ] | [ ] |
102+
| **Clustering** | K-Means Clustering (KMeans) | [x] | [ ] | [ ] |
103+
| | Hierarchical clustering (HierarchicalClustering) | [x] | [ ] | [ ] |
104+
| **Neural Networks** | Neural Network (NeuralNetwork) | [x] | [x] | [x] |
104105
| | Artificial Neural Network | [ ] | [ ] | [ ] |
105106
| | Convolutional Neural Network | [ ] | [ ] | [ ] |
106-
| **Association Rule Learning** | Apriori | [x] | [ ] | [x] |
107-
| | Eclat | [x] | [ ] | [x] |
108-
| **Support Vector Machine** | Support Vector Regression (SVR) | [ ] | [ ] | [ ] |
107+
| **Association Rule Learning** | Apriori | [x] | [x] | [x] |
108+
| | Eclat | [x] | [x] | [x] |
109+
| **Support Vector Machine** | Support Vector Regression (SupportVectorRegression) | [ ] | [ ] | [ ] |
110+
109111

110112

111113

@@ -135,7 +137,7 @@ int main() {
135137

136138
## Documentation
137139

138-
The documentation for this project is generated using Doxygen and is available online at [GitHub Pages](https://jideoyelayo1.github.io/cpp-ml-library/). The documentation provides details on each class, function, and algorithm.
140+
The documentation for this project is generated using Doxygen and is available online at [GitHub Pages](https://jideoyelayo.com/cpp-ml-library/). The documentation provides details on each class, function, and algorithm.
139141

140142
## Contributing
141143

docs/usage.md

Whitespace-only changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)