Giter VIP home page Giter VIP logo

scratchai's Introduction

image

Scratch-AI Open Source Love


โœจ The Scratch-AI is a repository with different algorithms of Machine Learning & Deep Learning implemented from scratch.

๐Ÿ—„ The main motto behind this repository is to grasp the mathematical aspect and intuition of different AI algorithms.

๐Ÿค– AI is being used everywhere nowadays, but people don't know about implementation of complex mathematical functions behind the scene.

Table of Contents

Contributions


We welcome all kinds of contributions from the open-source community, individuals and partners. We owe our success to your active involvement.

Contributors can contribute to the project in the following ways:

  1. Contributing by fixing existing issues.
  2. Submitting a better layer design or algorithm than the existing one.
  3. Submitting new layer design or algorithm.

NOTE: For detailed instructions refer to CONTRIBUTING.md

Maintainers


Mayuresh Agashe Vishesh Tripathi Hemanth Sai

scratchai's People

Contributors

aanirudh07 avatar hemanthsai7 avatar malay5 avatar mayureshagashe2105 avatar pps-19012 avatar r-o-n-i-t avatar ramyashreeshetty avatar rithurajnambiar17 avatar shreyashmohadikar avatar vandit98 avatar vice777 avatar vishesht27 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

scratchai's Issues

Add Word Embeddings

Name
Word Embeddings (Word2Vec)

Packages used
tensorflow==2.5.0
numpy ==1.19.5
pandas==1.2.4

Brief explanation
Word embedding is used to extract semantic relations between different words by plotting them in a vector space.

Implement new DL Algorithms

Some of the most common DL Algorithms are listed below. Feel free to suggest other algorithms, not on the list. and we'll update it.

Name

  • Artificial Neural Network
  • Adaline Neural Network
  • Multilayer Perceptron
  • Convolutional neural networks
  • Cross Entropy Loss
  • Stochastic gradient descent
  • Adam Optimizer
  • RMS Prop
  • Recurrent Neural Networks
  • Vision Transformers
  • Transformers
  • Word embeddings
  • LSTM

Packages used
List all the packages and versions used.

Brief explanation
Provide a neat README file in the directory. There are two existing algorithms in the repository, please follow a similar folder structure and document your code with proper markdown syntax/comments.

Implement new ML Algorithms

Some of the most common ML Algorithms are listed below. Feel free to suggest other algorithms, not on the list. and we'll update it.

Name

  • Multiple Linear Regression
  • Lasso Regression
  • Ridge Regression
  • Elastic-Net Regression
  • Polynomial Regression
  • CatBoost Regression
  • Naive Bayes
  • K- nearest neighbors
  • Support vector machines
  • K-means
  • K-medoids
  • Decision Trees
  • Linear Discriminant Analysis
  • Principal Component Analysis

Brief explanation

  • Provide a neat README file in the directory. There are two existing algorithms in the repository, please follow a similar folder structure and document your code with proper markdown syntax/comments.

Simple Linear Regression

Name
Simple Linear Regression

Packages used
Pandas : 1.2.4
Numpy : 1.19.5

Brief explanation
Creating a Simple Linear Regression model, that could have the best fit line among the given dataset and thus make predictions

K-Means

Name
K-Means

Packages used
pandas - 1.3.4
numpy - 1.21.4

Brief explanation
Unsupervised learning algorithm to group data points into k different clusters.

Input

Set of data points

Working

  1. Initialize cluster centers
  2. Until the cluster centers converge:
    Assign data points to nearest cluster center
    Update cluster centers

Output

Number of clusters and cluster label for each data point.

Package conversion

Is your feature request related to a problem? Please describe.
It is not actually a problem but just a suggestion. Currently, we use the common functions from the sklearn library.

Describe the solution you'd like
What if we create a utils directory and store all the common loss functions, metrics, etc so that by calling the desired function we can use them?

Additional context
For example in the utils directory, it can have a file named loss functions and it can have functions such as cross-entropy loss, etc. And in future examples, instead of using the loss function from another library, we can directly use it which has already been implemented by the community.

Add a mathematical way to score results, rather than from direct libraries, in case of Decision Trees

Is your feature request related to a problem? Please describe.
Using libraries, defeats the main goal of this repository, that is creating everything from scratch. Using sklearn scoring model, defeats the purpose of this repo

Describe the solution you'd like
I'd like to create a function for calculating the R2score as well as accuracy, in Decision Tree

Additional context
Please assign me this issue under hacktoberfest

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.