Projects Portfolio

Cryptography

Cryptography is associated with the process of converting ordinary plain text into unintelligible text and vice-versa. It is a method of storing and transmitting data in a particular form so that only those for whom it is intended can read and process it. Cryptography not only protects data from theft or alteration but can also be used for user authentication. 

In Cryptography the techniques which are used to protect information are obtained from mathematical concepts and a set of rule-based calculations known as algorithms to convert messages in ways that make it hard to decode it. These algorithms are used for cryptographic key generation, digital signing, verification to protect data privacy, web browsing on the internet, and to protect confidential transactions such as credit card and debit card transactions. 

I have written a code that can take a message from a user then the user has to enter a value that makes the message into an encrypted message. no one can read this encrypted message without knowing the value of n. Moreover, if the receiver has the key value(n) then only the receiver can decrypt the encrypted value into the original message. 

[Source Code] 



Design  architecture of a Automated & Manual washing machine 

Automatic Mode

  In fully automatic mode, once the system is started it perform independently without user interference and after the completion of work it should notify the user about the completion of work. This mode instantaneously sense cloth quality and requirement of water, water temperature, detergent, and load, wash cycle time and perform operation accordingly. 

 Manual Mode

   In this mode, user has to specify which operation he wants to do and has to provide related information to the control system. For example, if user wants to wash clothes only, he has to choose ‘wash’ option manually. Then the system ask the user to enter the wash time, amount of water and the load. After these data are entered the user should start machine. When the specified operation is completed system should inform the user.

We can implement some a lot of and complicated perform for future which is able to be economical to form the laundry processes quicker and fewer costly. Such design are going to be ready to be applied to hardware machine.

[Source Code] 

Invalid Parentheses Finder

This project was done in my data structure course. I have a txt file where I have a c program code with line number, I have to find out at which line number I have problem of invalid parenthesis by using knowledge of stack, linked list and dynamic memory allocation concepts of data structure. I have done the work using C++ programming.

In the left side's picture I have written a  c programming code in my data set which has invalid parentheses in line number 5 and 8. Now, I have to show that my code can detected these line numbers. 



invalid code 

output of the code

Real Estate Price Prediction 


Image detection, voice recognition, audio to text translation, weather forecasting, and other applications rely heavily on machine learning. Machine learning algorithms also produce safe automotive systems and excellent customer service. It is a subset of artificial intelligence, which entails programming computers to understand and solve problems in the same way people do.

In this project, I have used the Dataset from Kaggle which contains information (e.g. area type,  location) of Bengaluru city of India and I have to predict the price on the basis of the information. For doing analysis I have followed some steps sequentially are given below:

[Source Code] 


Frequent Pattern Mining


Data mining has been used in many backgrounds to find frequent patterns and association rules. And it's getting efficient and effective day by day. In this project, I have shown the implementation of the Apriori algorithm and FP growth algorithm. I have used two datasets chess(.gz) and kosarak(.gz) from the given Here

Data preprocessing: For our analysis purpose, we converted the datasets from gz format to csv. We kept the chess dataset as it is. On the other hand, we kept the same number of columns but we reduced the number of rows of the kosarak data set. In our dataset, we kept 10000 rows. 

Dataset Description: For all experiments, we used two datasets with different characteristics. The two datasets are chess and kosarak. Chess dataset has a total Number of Instances: 3196, Number of Attributes: 37, Number of items: 75. This dataset is divided from the chess game. It contains real entries. Chess is a very dense dataset. It produces many long frequent itemsets even with high values of support. On the other hand, the Kosarak dataset has a total Number of Instances: 10000, Number of Attributes: 602, Number of items:10090. The Kosarak dataset contains characteristics of various species of kosarak. It also contains real entries. It produces many long frequent itemsets even with high values of support.

Algorithms

a. The formation of candidate itemset, candidate k-itemset is formed from a combination of the item (k-1)-itemset obtained from the previous iteration. One characteristic of the Apriori algorithm is the presence of candidate k-itemset trimming whose subset containing k-1 items is not included in the high frequency pattern with a length of k-1. 

b. Calculation of support from each candidate k-itemset. Support from each of our candidates. candidates are obtained by scanning the database to calculate the number of transactions that contain all items in the candidate items. This is also a feature of the Apriori algorithm which requires calculation by scanning the entire database as much as the longest item-itemets. 

c. Set a high frequency pattern. A high frequency pattern that contains k items or itemset is determined from the candidate kitet whose support is greater than the minimum support. 

d. If no new high frequency pattern is obtained, the whole process is stopped. If not, then k plus one and return to the 1st part. 

Broadly speaking the fp growth algorithm works on this process:

 a. The primary step is to scan the database to seek out the occurrences of the itemsets within the database. This part is the same as the first part of Apriori. The count of first item sets in the database is called support count or frequency of first item set. 

b. The second step is to build the FP tree. For this, create the root of the tree. The root is represented by null. 

c. subsequent step is to scan the database repeat and examine the transactions. Examine the primary transaction and determine the itemset in it. The itemset with the max count is taken at the highest, subsequent itemset with lower count then on. It means the branch of the tree is made with transaction item sets in descending order of count. 

d. The next transaction in the database is examined. The item sets are organized in descending order of count. If any itemset of this transaction is already present in another branch (for example within the 1st transaction), then this transaction branch would share a standard prefix to the root. This means that the common itemset is linked to the new node of another itemset during this transaction. 

e. Also, the count of the itemset is incremented because it occurs within the transactions. Both the common node and new node count are increased by 1 as they're created and linked consistently with transactions. 

f. The next step is to mine the created FP Tree. For this, the rock bottom node is examined first alongside the links of rock bottom nodes. The last node shows the frequency pattern length 1. From this, traverse the trail within the FP Tree. These tracks are called conditional pattern bases. A Conditional pattern base may be a sub-database consisting of prefix paths within the FP tree occurring with rock bottom node (suffix). 

g. Construct a Conditional FP Tree, which is made by a count of itemsets within the path. The itemsets meeting the edge support are considered within the Conditional FP Tree. 

h. Frequent Patterns are developed from the Conditional FP Tree

However, You will find the source code in my Github account. 

[Source Code]