Skip to content

Commit

Permalink
README update
Browse files Browse the repository at this point in the history
  • Loading branch information
Samuel Abramov committed Oct 6, 2023
1 parent b22578f commit 6448718
Showing 1 changed file with 26 additions and 11 deletions.
37 changes: 26 additions & 11 deletions README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,18 @@

EDUX is a user-friendly library for solving problems with a machine learning approach.

1. [Goal](#goal)
2. [Installation](#installation)
3. [Usage - Neural Network](#usage---neural-network)
4. [K Nearest Neighbors](#k-nearest-neighbors)
5. [Features](#features)
6. [Contributions](#contributions)

## Goal
## Features

EDUX supports a variety of machine learning algorithms including:

- **Multilayer Perceptron (Neural Network):** Suitable for regression and classification problems, MLPs can approximate non-linear functions.
- **K Nearest Neighbors:** A simple, instance-based learning algorithm used for classification and regression.
- **Decision Tree:** Offers visual and explicitly laid out decision making based on input features.
- **Support Vector Machine:** Effective for binary classification, and can be adapted for multi-class problems.
- **RandomForest:** An ensemble method providing high accuracy through building multiple decision trees.


## Goal
The main goal of this project is to create a user-friendly library for solving problems using a machine learning approach. The library is designed to be easy to use, enabling the solution of problems with just a few lines of code.

## Features
Expand All @@ -20,12 +24,13 @@ The library currently supports:

- Multilayer Perceptron (Neural Network)
- K Nearest Neighbors
- Descision Tree
- Decision Tree
- Support Vector Machine
- RandomForest

## Installation

To install, include the library as a dependency in your Java project file.
Include the library as a dependency in your Java project file.

### Gradle

Expand All @@ -44,12 +49,22 @@ To install, include the library as a dependency in your Java project file.

## How to use this library

NetworkConfiguration networkConfiguration = new NetworkConfiguration(...ActivationFunction.LEAKY_RELU, ActivationFunction.SOFTMAX, LossFunction.CATEGORICAL_CROSS_ENTROPY, Initialization.XAVIER, Initialization.XAVIER);
MultilayerPerceptron multilayerPerceptron = new MultilayerPerceptron(features, labels, testFeatures, testLabels, networkConfiguration);
multilayerPerceptron.train();

multilayerPerceptron.predict(...);

### Working examples
You can find working examples for all algorithms in the [examples](https://github.com/Samyssmile/edux/tree/main/example/src/main/java/de/example) folder.

In all examples the IRIS dataset is used. The IRIS dataset is a multivariate dataset introduced by the British statistician and biologist Ronald Fisher in his 1936 paper *The use of multiple measurements in taxonomic problems*
In all examples the IRIS or Seaborn Pinguins datasets are used.

#### Iris Dataset
The IRIS dataset is a multivariate dataset introduced by the British statistician and biologist Ronald Fisher in his 1936 paper *The use of multiple measurements in taxonomic problems*

![Neural Network](https://hc-linux.eu/github/iris-nn.png)
## Contributions


Contributions are warmly welcomed! If you find a bug, please create an issue with a detailed description of the problem. If you wish to suggest an improvement or fix a bug, please make a pull request. Also checkout the [Rules and Guidelines](https://github.com/Samyssmile/edux/wiki/Rules-&-Guidelines-for-New-Developers) page for more information.

0 comments on commit 6448718

Please sign in to comment.