Compilation of code scripts from the Fall 2021 semester of Intelligent Tunneling subteam.

Overview

VIP-Fall-2021

Compilation of code scripts from the Fall 2021 semester of Intelligent Tunneling subteam.

Table of Contents

  1. Overview
  2. Data Normalization
  3. Regression and Feature Selection

Overview

As a part of the Intelligent Tunneling team of the Computation Modeling and Visulization in Geomechanics Research Group, I created a script to normalize the input and output parameters of collected data, created a linear regression model using the processed dataset, and performed some inital feature selection analysis.

This project is created with:

  • Java
  • Python

Data Normalization

Goals of this task: Machine learning models learn a mapping from input variables to an output variable. However, because these variables measure different quantities, they may use different units and scales. This in turn may increase the diffcult of the problem being modeled and result in a large error gradient.

By scaling the input and output variables when preparing regression data, we can eliminate these discrepancies. We rescaled the variables to a range between 0 and 1 using the equation y = (x - min)/(max-min).

Method:

  1. The Normalize.java file reads the input_parameter.csv file into arrays for each parameter.
  2. Then, the minValue and maxValue functions are used to identify the min and max values in each array.
  3. Finally, we call the normalize() method for each parameter and write the results into the output.csv file.

Linear Regression and Feature Selection

Goals of Regression Task: Linear regression model is a predictive model concerned with minimizing the error of a model/making the most accurate predictions. We use the hypothesis function for linear regression to make these predictions. The cost function is used to measure how well a regression model is performing. The mean squared and root mean squared functions were used in this analysis.

Method:

The regression.py is a heavily commented python script that performs the regression task using the scikit-learn libraries.

  1. First, we read the output.csv file and remove all inf and NaN data values
  2. Next, we identify the desired input and output parameters for the model a. we create a 2d array, X, containing all input data values b. we create a 1d array, y, with the target values (different for each regression)
  3. Then, import the method train_test_split from sklearn library which splits the data into training and testing sets. 80% of the data is taken as a training dataset.
  4. Next, import linearRegression from scikit learn library adn fit the model over training dataset
  5. Print the intercept, coefficients for each input parameter, adn coefficient of determination for each regression
  6. Finally, create a predictive model using the target parameter testing set and calculate mse adn rmse values to evaluate model performance.

Goals of Feature Selection Task: We used feature selection to identify which features in the data contribute the most to the output parameter. This is important because having too many irrelevant gestures can decrease the accuracy of the model.

Method:

The regression.py utilizes the linear regression model defined in the section above, to fit a feature selection model.

  1. Importthe RFE model from scikit learn.
  2. Fit the model over the input and output training sets
  3. Print the ranking, which is calculated based on the coefficients of each input parameter

Next Steps

Going forward we can explore more predictive models and see if they are a better fit for the data. We can identify if they are better fit by analyzing the previously computed mse and rmse values. Further, we can eliminate less significant input parameters and perform regression with the new input set.

You might also like...

An example project showing how to enable tiered compilation on a Java AWS Lambda function.

An example project showing how to enable tiered compilation on a Java AWS Lambda function.

AWS Lambda Tiered Compilation Sample Getting started Download or clone the repository. To install prerequisite software: Install AWS CDK Install Apach

Dec 13, 2022

Three Java projects assigned for the Introduction to Object-Oriented Programming (CMPE 160) course in the Spring 2021 semester.

CMPE160-projects Three Java projects assigned for the Introduction to Object-Oriented Programming (CMPE 160) course in the Spring 2021 semester. These

Dec 6, 2022

Compiler that compiles our language flowg to g-code (4th semester project)

flowg FlowG is a language that greatly simplifies manual g-code programming. It is a high-level language that supports functions, for loops, if statem

Jun 15, 2022

Intelligent object mapping

ModelMapper ModelMapper is an intelligent object mapping library that automatically maps objects to each other. It uses a convention based approach wh

Dec 28, 2022

Hierarchical Temporal Memory implementation in Java - an official Community-Driven Java port of the Numenta Platform for Intelligent Computing (NuPIC).

htm.java Official Java™ version of... Hierarchical Temporal Memory (HTM) Community-supported & ported from the Numenta Platform for Intelligent Comput

Dec 1, 2022

A collection of my Ghidra scripts

ghidra-scripts A collection of my Ghidra scripts. iOS FOX: This script locates all calls to objc_msgSend family functions, tries to infer the actual m

Dec 25, 2022

Mc-msa-token-getter - Scripts to retrieve MC authentication tokens for use in modding dev envs.

Minecraft MSA Token Getter Python and Java scripts to retrieve MC authentication tokens for use in modding dev envs. Requires a properly configured Az

Jan 3, 2022

Eclipse Temurin™ build scripts - common across all releases/versions

Repository for code and instructions for building OpenJDK binaries, defaulting to Eclipse Temurin™ These scripts can be used to build OpenJDK anywhere

Jan 4, 2023

Intelligent Semantic Web ALC Generator Testing Reasoner

Intelligent Semantic Web ALC Generator Testing Reasoner

Intelligent Semantic Web ALC Generator Testing Reasoner

Jan 13, 2022

Fall is an app that lets your phone scream if you throw it somewhere.

Fall is an app that lets your phone scream if you throw it somewhere.

Fall Fall is an app that lets your phone scream if you throw it somewhere. License Copyright (C) 2022 Gh05t-1337 This program is free software: you ca

Oct 31, 2022

💻ITMO University, 2nd semester, lab8.

Swing-GUI-desktop-application ITMO University, 2nd semester, lab8. In this lab I add graphical user interface(Swing library) for this app Lab7 Video d

Oct 26, 2022

Student Result Management System - This is a CLI based software where the Software is capable of maintaining and generating Student's Result at the end of a semester after the teacher's have provided the respective marks.

Student Result Management System This is a CLI based software where the Software is capable of maintaining and generating Student's Result at the end

Aug 27, 2022

Aplikasi Android "MovieApp" untuk memenuhi salah satu syarat Ujian Akhir Semester mata kuliah Pengembangan Aplikasi Mobile UIN Sunan Gunung Djati Bandung.

Aplikasi Android

MovieApp Kelompok No Way Home, berikut list anggota-nya: Fakhri Faishal Rochdiana (1197050040) Muhamad Taopik (1197050081) Naufal Rizqullah (119705009

Dec 22, 2022

CSL304: OOPM (Java) Lab [OOPM Lab] Semester III

OOPM-JAVA-LAB CSL304: OOPM LAB [SEMESTER III] Syllabus OOPM (JAVA) - Reference Books OOPM Lab 1D Array 2D Array Abstract Class Accept Input From User

Nov 8, 2022

A little helper to complete homework #4 "Graph planarization" in discrete mathematics at ITMO University in the second semester.

A little helper to complete homework #4

graph_planarization A little helper to complete homework #4 "Graph planarization" in discrete mathematics at ITMO University in the second semester. A

Dec 8, 2022

A simple and scalable Android bot emulation framework, as presented at Black Hat Europe 2021's Arsenal, as well as atHack 2021's Arsenal

m3 A simple and scalable Android bot emulation framework. A detailed explanation can be found here. This project was first published at Black Hat Euro

Aug 20, 2022

Burp Active Scan extension to identify Log4j vulnerabilities CVE-2021-44228 and CVE-2021-45046

Log4j-HammerTime This Burp Suite Active Scanner extension validates exploitation of the Apache Log4j CVE-2021-44228 and CVE-2021-45046 vulnerabilities

Jan 8, 2022
Owner
Kruti Gupta
Kruti Gupta
Java serialization library, proto compiler, code generator

A java serialization library with built-in support for forward-backward compatibility (schema evolution) and validation. efficient, both in speed and

protostuff 1.9k Dec 23, 2022
Auto Code Audit Framework for Java

前言 笔者最近在研究java自动化代码审计这方面的内容,也看了一些相关的文章,其中主要是跟着4ra1n师傅的文章进行学习的。目前学到的有两种自动化审计思路,一是AST,二是ASM。前者基于java源代码,后者基于字节码。

r2 61 Nov 30, 2022
This repository holds the source code for TML (Tecknix Mod Loader)'s API.

This repository contains the modding API not the MDK (Mod Development Kit). This repository will not give you the ability to mod Tecknix Client but you can contribute to the repository if you have events you would like to add.

Tecknix Client 6 Aug 1, 2022
A harness to build the source code from openjdk.java.net using Free Software tools and dependencies

A harness to build the source code from openjdk.java.net using Free Software tools and dependencies

IcedTea 2 Mar 5, 2022
Object Oriented Programming Course - Fall Semester 2021

Object Oriented Programming Course (Fall Semester 2021) This repository will store the code we use during the lectures and the exercises sessions of t

Andres R. Masegosa 14 Jul 10, 2022
Five Java projects assigned for the Data Structures and Algorithms (CMPE 250) course in the Fall 2021-22 semester.

CMPE250-projects Five Java projects assigned for the Data Structures and Algorithms (CMPE 250) course in the Fall 2021-22 semester. These projects app

Aras Güngöre 10 Aug 17, 2022
Code Lab Questions Fall 2021

CodeLab Fall 2021 Week 1 Multiply Strings https://leetcode.com/problems/multiply-strings/ String Compression https://leetcode.com/problems/string-comp

null 8 Jan 6, 2023
Concurrent Programming - 2021/2022 - Fall - LI51D - LI51N

s2122i-li51d-li51n Concurrent Programming - 2021/2022 - Fall - LI51D - LI51N See docs for documentation resources. See jvm for JVM-based code examples

null 16 Apr 8, 2022
Code4Me provides automatic intelligent code completion based on large pre-trained language models

Code4Me Code4Me provides automatic intelligent code completion based on large pre-trained language models. Code4Me predicts statement (line) completio

Code4Me 38 Dec 5, 2022
Set of project to test how fast is compilation on your computer

Бенчмарк сборки Android проектов Репозиторий содержит несколько проектов, для которые необходимо запустить тесты и зарепортить их результаты Методика

Android Broadcast 3 Jul 29, 2022