Thanks to visit codestin.com
Credit goes to github.com

Skip to content

A Simple Java Data Mining,Machine Learning, And Deep Learning Library

License

MuteJester/Java_Brain

Repository files navigation

Stargazers Commits Issues MIT License LinkedIn


Logo

Java Brain Library

Simple Solution For Fast Programing Of Data Mining ,Deep Learning And Machine Learning Models As Well As CSV Management.
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents

About The Project

There are a few Deep Learning And Machine Learning Java libraries out there, but none of them in my mind were simple enough to use and required the user to install loads of additional parts trough maven, etc. At that moment the idea to create a simple plug and play java classes which can be simply dragged into the src folder of any project and functionality of all the tools that the Java Brain library can be quickly and easily accessed and used.

Here's Why Java Brain 🧠 :

  • It's As Simple As Drag And Drop and you are ready to code!
  • Function and methods are named meaningful names that way it is always clear what are the parameters or what does the method do!
  • CSV handling is all included in the library working with them made much easier trough java code!
  • Developing complex matrix algorithms ? we've got you covered with a dynamic Matrix class filled with quick usful methods strating from eigen value/vector extraction trough basic operations up to decompositions.

Built With

Other Languages

A python wrapper for the java brain library , it uses numpy,pandas,sympy and matplotlib inorder to give you the same coding experience as with java brain but under the python language ,all method and class are named and function exactly the same way they would in java,all that is needed to start working with the python version is to drag to 'Python_Brain' .py file into your project folder and import it. the usage is the same and the logic is the same.

Installation

  1. Download Both Java Packages (JSipl and JBrain) From The Repository Go To Repository Folder
  2. Copy Both Packages Into Your Projects /src Folder
  3. Import JBrain.* and JSipl.*
  4. You Are Ready To Code!

Usage

Ploting Linear Regression Algorithm

Logo

Java Brain Offers Binary Linear Regression As Well As Multivariable Linear Regression in the following exmaple a fast method for immediate ploting of a linear regression model.

Ploting Logistic Regression Algorithm

Logo

Java Brain Offers Binary Logistic Regression As Well As Multivariable Logistic Regression in the following example a fast method for immediate plotting of a logistic regression model. the logistic regression functionality, as well as the linear regression, can be used as pleased the methods return the weights resulting after computing the optimal state using gradient descent;

Ploting 2D K-Means Algorithm

Logo

Java Brain Offers a fast and efficenet K-means calculation aglorithm although currently only up to 3 dimensional K - Means calculations supported soon there will a higher dimension support system.

Ploting 2D K-Nearest-Neighbors Algorithm

Logo

Java Brain Offers a simple and dynamic kNN implementation aglorithm for all your use case as well as a quick plot method for immediate display of 2D kNN results. In the above image- the red ciricle with the green dot in the center is the new added value, blue points that turned pink are the specified K nearest neighbors.

Ploting User Designed Fully Connected Neural Network Topology

Logo

Java Brain Offers you a method which is a part of the Neural_Net class which allows you to visualize you neural network topology inorder for you to validate that the topology you have specified in the Neural_Net class constructor is indeed the topology created and set.

Currently Supported Data Mining / Machine Learning / Deep Learning, Algorithms

  • Linear Regression using Static Formula (Only supported for single variable linear regression)
  • Linear Regression using Gradient Descent (Multivariable regression supported using matrix with Lasso Regression and L1 Regularization)
  • Logistic Regression of binary variable as well as multivariable equations
  • Validation Of Logistic Regression - Confusion Matrix
  • K-Means calculation (up to 3-dimensional data variables)
  • kNN - k Nearest Neighbors
  • Fully Connected Neural Network Constructor class accepting all forms of network topologies for dynamic use
  • Q Learning "Custom-fit" Class applicable for any use
  • Error computations such as MSE,MAE,MPE
  • Correlation computations such as R^2, Adj-R^2, Pearsons,Spearman -
  • Confusion Matrix Construction For A Given Model Weights
  • Some of the models have supported validation methods which will automatically compare machine guesses against actual values
  • Principal Component Analysis
  • Corpus And Bag Of Words Containers
  • Sentiment Analysis (Vader Algorithm)

Currently Supported CSV Handling Functionality

  • Reading/Writing CSV Files
  • CSV Importation From Web URL's
  • Column Classification (Numeric/Categorical/Date-Time/Text)
  • Single Block/Column/Row Manipulations
  • Removal and Addition of columns and rows
  • Pattern Replacment
  • Pulling and pushing values into csv stated position
  • CSV spliting by percentage into seperate data sets
  • Column Statistical Calculations such as - Column Standard Deviation and Column Variance/Covariance,Column Correlation..
  • Column Missing Value Reduction / Replacement

All Visual Elements Are Created Using The SIPL Library

For more Detailed Instructions, please refer to the User Instructions

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open-source community such a powerful place to create new ideas, inspire, and make progress. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Thomas Konstantinovsky - [email protected]

Project Link: https://github.com/MuteJester/Java_Brain

About

A Simple Java Data Mining,Machine Learning, And Deep Learning Library

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published