/HRC-Training-Summer

HRC Summer Intership

Primary LanguageJupyter NotebookMIT LicenseMIT

Documentation Status GitHub license

Learn :


Machine Learning :

It seems like you have performed a comprehensive set of tasks in your machine learning project. Here's a breakdown of the steps you mentioned:

  1. Importing Big Data: You started by importing a large dataset into your machine learning project. Importing data is the first step in any data analysis or modeling task.

  2. Data Preprocessing: After importing the data, you performed data preprocessing techniques to make the data suitable for analysis. This includes handling missing data and removing unwanted data.

  3. Printing Graphs: You mentioned that you printed various graphs in your ML model. Data visualization is an important step in exploratory data analysis (EDA) to understand patterns, relationships, and distributions in the data.

  4. Modifying the Dataset: You modified the dataset to prepare it for input into different machine learning models. This may include feature engineering, feature selection, scaling, or encoding categorical variables.

  5. Trying Different Machine Learning Models: You experimented with different machine learning models such as Linear Regression, Support Vector Machines, Decision Trees, Random Forests, AdaBoost, XGBoost, and potentially others. This step helps you understand the performance of different algorithms on your dataset.

  6. Regression Model Evaluations: For the regression models, you evaluated their performance using metrics like Mean Squared Error (MSE), Root Mean Squared Error (RMSE), R-squared, or other relevant evaluation metrics. These metrics provide insights into how well the models fit the data and make predictions.

  7. Comparing Model Accuracies: You compared the accuracies of all the models to identify the best performing one. This step helps you understand which model performs better in terms of prediction accuracy.

  8. Selecting the Best Model: Based on the comparison, you selected the best possible model that yielded the highest accuracy or best suited your problem requirements.

  9. Hyperparameter Tuning: To further optimize the chosen model's performance, you performed hyperparameter tuning. This involves selecting the best hyperparameters using appropriate algorithms, such as grid search, random search, or Bayesian optimization.

  10. Achieving the Best Model Accuracy: By selecting the best hyperparameters and tuning the model, you aimed to achieve the highest possible accuracy for your machine learning model.

Overall, your workflow covers essential steps in a typical machine learning project, from data preprocessing and exploratory analysis to model evaluation, comparison, and hyperparameter tuning. These steps help in building and optimizing models for accurate predictions.

In Java :

We learned the basics of Java, including variables, control structures, and object-oriented programming. We also covered SQL commands, database concepts, and Java EE for web development. Specifically, we worked with JDBC for database connectivity and Servlets for handling web requests. Additionally, we explored List and ArrayList for collection management.

In Web Development(React JS):

In React JS web development, you learned about various concepts and tasks. Here's a summary:

  1. Elements, Lists, and Tables: React JS allows you to create and render elements, lists, and tables efficiently.

  2. CSS Styling: You explored different ways of applying CSS styles in React JS, including external, inline, and internal styles.

  3. Web Development Fundamentals: You covered fundamental concepts like variable declaration, data types, operators, conditional statements, loops, arrow functions, arrays, destructuring, rest and spread operators, default parameters, objects, classes, and template literals.

  4. Promises, Async/Await, and Fetch API: You learned about asynchronous programming concepts in JavaScript, such as promises, async/await syntax, and using the Fetch API for making HTTP requests.

  5. Introduction to React JS: You got an introduction to React JS, which is a JavaScript library for building user interfaces.

  6. Setting up a React JS Project: You learned how to set up a React JS project to start building applications.

  7. JSX: JSX is a syntax extension used in React JS to write HTML-like code in JavaScript.

  8. Components: React JS follows a component-based architecture, and you learned how to create, render, and manage components.

  9. Classes and Lifecycle Methods: You explored class components in React JS and lifecycle methods that allow you to control the behavior of components during different phases.

  10. Props: Props are used for passing data from parent components to child components in React JS.

  11. State: State allows components to manage and update their own data.

  12. React Hooks: You learned about various React hooks like useState, useEffect, useContext, and useReducer to manage state and side effects in functional components.

  13. Events: You worked with event handling in React JS, such as handling user interactions and responding to events.

  14. Forms and Form Validation: You learned how to handle form submissions and perform validation using React JS.

  15. Task Performed: You applied your knowledge to create a table using static data provided by the company. Additionally, you created components and designed tables according to the company's requirements, along with data creation using React JS.

Overall, you covered a wide range of topics and tasks in React JS web development, including component-based architecture, state management, event handling, form handling, and data manipulation. Also we with a short of Material Ui , Highcharts , "Axios , Flask Application Intergration"

Project ( B2B INVOICE MANAGEMENT WEB APPLICATION)

This project was conducted as a task in an internship under the Highradius Corporation.
The objective was to build an invoice management web application which could be used in a B2B field. The web application could help the seller business to keep track of all the money that are owed by buyer businesses.

Product Requirements Specification

Idea about the problem-

The B2B world operates differently from the B2C or C2C world. Businesses work with other businesses on credit. When a buyer business orders goods from the seller business, the seller business issues an invoice for the same. This invoice for the goods contains various information like the details of the goods purchased and when it should be paid. This is known in accounting terminology as “Accounts Receivable”.

Hence, Seller business needs to keep track of the total amount it owes from all the buyers. This involves keeping track of all invoices from all the buyers. Each invoice will have various important fields like a payment due date, invoice date, invoice amount, baseline date etc.

The buyer business needs to clear its amount due before the due date. However, in real-world scenarios, the invoices are not always cleared ie. paid in full amount by the due date. The date on which a customer clears the payment for an invoice is called the payment date.

Technology Stacks Used

[![made-with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg)](https://www.python.org/)

React TailwindCSS Flask Redux IntelliJ IDEA Postman GitHub Actions


1. Backend

2. Frontend


The objective of the Web Application is:

  • To build a Full-stack Invoice Management Application using ReactJS, JDBC, Java, Servlets.
  • Build a responsive Receivables Dashboard.
  • Visualize Data in the form of grids.
  • Visualize Data in the form of graphs.
  • Perform Searching operations on the invoices.
  • Add & Edit data in the editable fields of the grid.
  • Delete data of selected rows in predefined templates.

The objectives for ML is:

  • View the invoice data from various buyers.
  • See various fields/attributes of the invoice(s) from a particular buyer.
  • Perform Data Pre-processing on the invoice data.
  • Get account-level analytics to easily visualize and interpret data- EDA and Feature Engineering.
  • Get a prediction of when the invoice is going to get paid.

Guide through the project

Tools Used

  • Visual Studio Code: Visual Studio Code was used for developing the front end of the web application using reactJS.
    create_react_app Node.JS package was used to set up a project to run a react application.
  • ReactJS: React is a front-end JavaScript library for building user interfaces based on UI components. It was used to develop the front-end of the web application.
  • Eclipse, JAVA, JDBC - Java Database Connectivity : Eclipse was used to develop the backend of the web application using Java and JDBC.
  • SqlYOG: SQLYOG was used to set and manage the database.
  • Jupyter Notebook, Anaconda Navigator: Jupyter Notebook and Anaconda python environment were used to develop the code for ML.