Skip to content

Commit

Permalink
Merge pull request #57 from Samyssmile/pages
Browse files Browse the repository at this point in the history
Pages
  • Loading branch information
Samyssmile authored Oct 17, 2023
2 parents 238d2e2 + 538809e commit 0a3c5f8
Show file tree
Hide file tree
Showing 104 changed files with 13,420 additions and 13 deletions.
3 changes: 3 additions & 0 deletions README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ EDUX supports a variety of machine learning algorithms including:
- **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.

### Battle Royale - Which algorithm is the best?
We run all algorithms on the same dataset and compare the results.
[Benchmark](https://github.com/Samyssmile/edux/discussions/42)

## 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.
Expand Down
21 changes: 21 additions & 0 deletions docs/animation.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
@keyframes fadeIn {
0% {
opacity: 0;
transform: translateY(20px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}


.animation-fade-in {
opacity: 0;
animation-name: fadeIn;
animation-duration: 1.5s;
animation-timing-function: ease-in;
animation-fill-mode: forwards; /* Dies sorgt dafür, dass das Element am Ende der Animation sichtbar bleibt */
/* Wir setzen eine Verzögerung, damit jedes Element nacheinander eingeblendet wird */
animation-delay: 0s; /* Dies ist der Standardwert und kann je nach Bedarf für jedes Element angepasst werden */
}
141 changes: 139 additions & 2 deletions docs/index.html
Original file line number Diff line number Diff line change
@@ -1,2 +1,139 @@
<h1>Edux Pages</h1>
<p>Coming soon...</p>
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<title>EDUX - Java Machine Learning Library</title>
<link href="style.css" rel="stylesheet">
<link href="animation.css" rel="stylesheet">
<link href="navigation.css" rel="stylesheet">
</head>
<body>

<div class="container">
<!-- Kopfteil der Seite -->
<header>
<h1>EDUX - Java Machine Learning Library</h1>
<!-- Projektbeschreibung -->
<section id="beschreibung">
<p>Java library for solving problems with a machine learning approach.</p>
</section>
</header>

<!--Horizontal Menu with two buttons-->
<nav>
<ul>
<li><a href="javadocs">JavaDocs</a></li>
<li><a href="#integration">Integration Gradle/Maven</a></li>
<li><a href="#code-example">Examples</a></li>
</ul>
</nav>
<!-- Hauptinhalt -->
<main>
<!-- Features Sektion -->
<section>
<h2>Features</h2>
<div class="animation-fade-in" id="features">
<p>Edux library supports a wide array of machine learning methods and algorithms. Here's what you can expect:</p>
<div class="features-list">
<ul>
<li>Multilayer Perceptron (Neural Network)</li>
<li>K Nearest Neighbors</li>
<li>Decision Tree</li>
<li>Support Vector Machine</li>
<li>RandomForest</li>
</ul>
</div>
</div>
</section>


<!-- Integration -->
<section id="integration">
<h2>Integration</h2>
<!-- Gradle -->
<div class="integration-section">
<h3>Gradle</h3>
<pre class="animation-fade-in">
<code>
implementation 'io.github.samyssmile:edux:1.0.5'
</code>
</pre>
</div>

<!-- Maven -->
<div class="integration-section">
<h3>Maven</h3>
<pre class="animation-fade-in"><code>
&lt;dependency&gt;
&lt;groupId&gt;io.github.samyssmile&lt;/groupId&gt;
&lt;artifactId&gt;edux&lt;/artifactId&gt;
&lt;version&gt;1.0.5&lt;/version&gt;
&lt;/dependency&gt;
</code></pre>
</div>
</section>

<section class="integration-section" id="code-example">
<h2>Examples</h2>
<h3>Multilayer Network</h3>
<pre class="animation-fade-in">
<code>
NetworkConfiguration config = new NetworkConfiguration(
ActivationFunction.LEAKY_RELU,
ActivationFunction.SOFTMAX,
LossFunction.CATEGORICAL_CROSS_ENTROPY,
Initialization.XAVIER, Initialization.XAVIER);

Classifier mlp = new MultilayerPerceptron(
features,
labels,
testFeatures,
testLabels,
config);
mlp.train();
mlp.predict(...);
</code>
</pre>
<h3>Decision Tree</h3>
<pre>
<code>
var datasetProvider = new IrisProvider(NORMALIZE, SHUFFLE, 0.6);
datasetProvider.printStatistics();

double[][] features = datasetProvider.getTrainFeatures();
double[][] labels = datasetProvider.getTrainLabels();

double[][] testFeatures = datasetProvider.getTestFeatures();
double[][] testLabels = datasetProvider.getTestLabels();

Classifier decisionTree = new DecisionTree(8, 2, 1, 4);
decisionTree.train(features, labels);
decisionTree.evaluate(testFeatures, testLabels);
</code>
</pre>
</section>
<!-- Log-Ausgabe -->
<h2>Log</h2>
<section class="log-ausgabe animation-fade-in">
<log class="log">
========================= Data Statistic ==================
[main] INFO - Total dataset size: 150
[main] INFO - Training dataset size: 90
[main] INFO - Test data set size: 60
[main] INFO - Classes: 3
===========================================================
[main] INFO - Decision Tree - accuracy: 93,33%
</log>
</section>

</main>

<!-- Fußzeile -->
<footer>
<p>Copyright &copy; 2023 Ihr Name oder Ihre Firma</p>
</footer>
</div>

</body>
</html>
137 changes: 137 additions & 0 deletions docs/javadocs/allclasses-index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
<!DOCTYPE HTML>
<html lang="de">
<head>
<!-- Generated by javadoc (21) -->
<title>Alle Klassen und Schnittstellen (lib 1.0.5 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="class index">
<meta name="generator" content="javadoc/AllClassesIndexWriter">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
</head>
<body class="all-classes-index-page">
<script type="text/javascript">var pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript ist im Browser deaktiviert.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Navigationslinks umschalten"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
<div class="skip-nav"><a href="#skip-navbar-top" title="Navigations-Links überspringen">Navigations-Links überspringen</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="index.html">Überblick</a></li>
<li>Package</li>
<li>Klasse</li>
<li><a href="overview-tree.html">Baum</a></li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html#all-classes">Hilfe</a></li>
</ul>
</div>
<div class="sub-nav">
<div id="navbar-sub-list"></div>
<div class="nav-list-search"><a href="search.html">SEARCH</a>
<input type="text" id="search-input" disabled placeholder="Suchen">
<input type="reset" id="reset-button" disabled value="reset">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 title="Alle Klassen und Schnittstellen" class="title">Alle Klassen und Schnittstellen</h1>
</div>
<div id="all-classes-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="all-classes-table-tab0" role="tab" aria-selected="true" aria-controls="all-classes-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table', 2)" class="active-table-tab">Alle Klassen und Schnittstellen</button><button id="all-classes-table-tab1" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab1', 2)" class="table-tab">Schnittstellen</button><button id="all-classes-table-tab2" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab2', 2)" class="table-tab">Klassen</button><button id="all-classes-table-tab3" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab3', 2)" class="table-tab">Enum-Klassen</button><button id="all-classes-table-tab4" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab4', 2)" class="table-tab">Datensatzklassen</button><button id="all-classes-table-tab5" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab5', 2)" class="table-tab">Ausnahmeklassen</button></div>
<div id="all-classes-table.tabpanel" role="tabpanel">
<div class="summary-table two-column-summary" aria-labelledby="all-classes-table-tab0">
<div class="table-header col-first">Klasse</div>
<div class="table-header col-last">Beschreibung</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab3"><a href="de/edux/functions/activation/ActivationFunction.html" title="Enum-Klasse in de.edux.functions.activation">ActivationFunction</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="de/edux/api/Classifier.html" title="Schnittstelle in de.edux.api">Classifier</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="de/edux/util/math/ConcurrentMatrixMultiplication.html" title="Schnittstelle in de.edux.util.math">ConcurrentMatrixMultiplication</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="de/edux/data/reader/CSVIDataReader.html" title="Klasse in de.edux.data.reader">CSVIDataReader</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="de/edux/data/provider/DataPostProcessor.html" title="Klasse in de.edux.data.provider">DataPostProcessor&lt;T&gt;</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="de/edux/data/provider/DataProcessor.html" title="Klasse in de.edux.data.provider">DataProcessor&lt;T&gt;</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab4"><a href="de/edux/ml/nn/network/api/Dataset.html" title="Klasse in de.edux.ml.nn.network.api">Dataset&lt;T&gt;</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="de/edux/ml/decisiontree/DecisionTree.html" title="Klasse in de.edux.ml.decisiontree">DecisionTree</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">A Decision Tree classifier for predictive modeling.</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="de/edux/data/provider/IDataProvider.html" title="Schnittstelle in de.edux.data.provider">IDataProvider&lt;T&gt;</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="de/edux/data/reader/IDataReader.html" title="Schnittstelle in de.edux.data.reader">IDataReader</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="de/edux/data/provider/IDataUtil.html" title="Schnittstelle in de.edux.data.provider">IDataUtil&lt;T&gt;</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="de/edux/ml/decisiontree/IDecisionTree.html" title="Schnittstelle in de.edux.ml.decisiontree">IDecisionTree</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab5"><a href="de/edux/util/math/IncompatibleDimensionsException.html" title="Klasse in de.edux.util.math">IncompatibleDimensionsException</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab5">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="de/edux/ml/nn/network/api/INeuron.html" title="Schnittstelle in de.edux.ml.nn.network.api">INeuron</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab3"><a href="de/edux/functions/initialization/Initialization.html" title="Enum-Klasse in de.edux.functions.initialization">Initialization</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="de/edux/ml/nn/network/api/IPerceptron.html" title="Schnittstelle in de.edux.ml.nn.network.api">IPerceptron</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="de/edux/ml/svm/ISupportVectorMachine.html" title="Schnittstelle in de.edux.ml.svm">ISupportVectorMachine</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="de/edux/ml/knn/KnnClassifier.html" title="Klasse in de.edux.ml.knn">KnnClassifier</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">The <code>KnnClassifier</code> class provides an implementation of the k-Nearest Neighbors algorithm for classification tasks.</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="de/edux/util/LabelDimensionConverter.html" title="Klasse in de.edux.util">LabelDimensionConverter</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab3"><a href="de/edux/functions/loss/LossFunction.html" title="Enum-Klasse in de.edux.functions.loss">LossFunction</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab3">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="de/edux/util/math/MathMatrix.html" title="Klasse in de.edux.util.math">MathMatrix</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="de/edux/util/math/MatrixOperations.html" title="Schnittstelle in de.edux.util.math">MatrixOperations</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="de/edux/ml/nn/network/MultilayerPerceptron.html" title="Klasse in de.edux.ml.nn.network">MultilayerPerceptron</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">The <code>MultilayerPerceptron</code> class represents a simple feedforward neural network,
which consists of input, hidden, and output layers.</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab4"><a href="de/edux/ml/nn/config/NetworkConfiguration.html" title="Klasse in de.edux.ml.nn.config">NetworkConfiguration</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab4">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="de/edux/ml/randomforest/RandomForest.html" title="Klasse in de.edux.ml.randomforest">RandomForest</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">RandomForest Classifier
RandomForest is an ensemble learning method, which constructs a multitude of decision trees
at training time and outputs the class that is the mode of the classes output by
individual trees, or a mean prediction of the individual trees (regression).</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab4"><a href="de/edux/ml/randomforest/Sample.html" title="Klasse in de.edux.ml.randomforest">Sample</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab4">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="de/edux/ml/svm/SupportVectorMachine.html" title="Klasse in de.edux.ml.svm">SupportVectorMachine</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">The <code>SupportVectorMachine</code> class is an implementation of a Support Vector Machine (SVM) classifier, utilizing the one-vs-one strategy for multi-class classification.</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab3"><a href="de/edux/ml/svm/SVMKernel.html" title="Enum-Klasse in de.edux.ml.svm">SVMKernel</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab3">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="de/edux/ml/svm/SVMModel.html" title="Klasse in de.edux.ml.svm">SVMModel</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
</div>
</div>
</div>
</main>
</div>
</div>
</body>
</html>
Loading

0 comments on commit 0a3c5f8

Please sign in to comment.