advy99 / cpp_ml

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cpp_ml

Implementations of multiple machine learning methods in C++. Similar to Python scikit-learn.

I mantain this project in my free time, so maybe this is not updated regularly.

Structure

This repo is structured inside the src and include folder. Inside these folders you can find a C++ file or subfolder for every module. All the modules are for generic things, such as classifiers, metrics, and so on. Every module has a submodule folder, where all the specifics things are implemented, for example, inside the classifiers module is the knn_classifier submodule, wichs implements knn_classifier, or the metrics module, who inside has the classification_metrics and regression_metrics submodules.

Contributing

Feel free to submit a PR to the repo! The only requirement is to repect the structure of the project.

Progress

So far is implemented:

  • Classification:

    • KNNClassifier
    • DecisionTreeClassifier
    • RandomForestClassifier
    • LogisticRegressionClassifier
    • SVMClassifier
  • Regression:

    • KNNRegressor
    • LinearRegressor
    • PolynomialRegressor
    • SVMRegressor
  • Metrics:

    • Accuracy
    • RMSE
    • MSE
    • MAE
    • F1-score
    • Precision
    • Recall
  • Others:

    • LabelEncoder
    • train_test_split
    • CSV reader
    • OneHotEncoder
    • Z-Score Scaler
    • MinMaxScaler

About

License:GNU General Public License v3.0


Languages

Language:C++ 90.7%Language:Makefile 9.3%