Final Report2
Final Report2
Bachelor of Technology
In
COMPUTER SCIENCE AND ENGINEERING
(ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING)
by
Mr. Aviral Mishra 2003481530004
Mr. Harsh Kumar Srivastava 2003481530008
Mr. Harsh Vardhan Rai 2003481530009
Ms. Khushi Jalan 2003481530012
Under the Supervision of
Mr. Amit Kumar Sharma
(Assistant Professor)
PSIT COLLEGE OF ENGINEERING, KANPUR
to the
ii
ACKNOWLEDGEMENT
It gives us a great sense of pleasure to present the report of B.Tech. Project “Get
Hired” undertaken during B.Tech. Final Year. We owe special debt of gratitude to our
project guide Mr. Amit Kumar Sharma (Assistant Professor, CSE), PSIT College
of Engineering Kanpur for his constant support and guide throughout course our
work. His sincerity, thoroughness and perseverance have been a constant source of
inspiration for us. It is only his cognizant efforts that our endeavors have seen light of
the day.
We also do not like to miss the opportunity to acknowledge the contribution of all
faculty member of the department for their kind assistance and cooperation during the
development of our project. Last but not the least, we acknowledge our friends for
their contribution in the completion of the project.
iii
Date :
Signature :
CERTIFICATE
in partial fulfilment of the requirement for the award of the degree of Bachelor of
Technology in Computer Science and Engineering to PSIT College of Engineering,
Kanpur, affiliated to Dr. A.P.J. Abdul Kalam Technical University, Lucknow, during
the academic year 2023-24, is the record of the candidate’s own work carried out by
him/her under my supervision. The matter embodied in this report is original and has
not been submitted for the award of any other degree.
iv
v
Get Hired
Mr. Amit Kumar Sharma
Mr.Harshvardhan Rai Mr.Aviral Mishra Mr.Harsh Kumar Srivastava Ms.Khushi Jalan
ABSTRACT
This machine learning project seeks to estimate both the possibility of an employee's
termination from a firm as well as the student’s placement based on their project
performance and academic achievements. The project makes use of a dataset that
includes pertinent data on academic performance, project specifics and work history.
This technology offers precise forecasts by utilizing cutting-edge machine learning
algorithms and approaches, assisting both students and employees in making
knowledgeable selections. The algorithm predicts students’ placement prospects based
on their academic performance and project accomplishments. The technology creates
personalized placement suggestions for students to increase their chances of getting
placed by examining past data and looking for patterns.
The project offers a seamless alternative by referring them to an ed-tech service
platform when a student's forecast shows a lesser possibility of placement. This
platform serves as a single hub for the provision of carefully selected study resources
suited to sectors and job functions. Students can fill in any knowledge gaps, learn new
skills, and fill in any educational gaps by using these resources. With the help of this
innovative method, students can become more employable and raise their chances of
landing the jobs they want.
The study also discusses how to foresee staff layoffs inside an organization. The
machine learning algorithm properly determines the possibility that an employee will
be let go by examining a variety of variables, including performance reviews, project
success, and other pertinent data. Organizations may use this predictive capability to
proactively identify individuals who may be in danger and take the necessary
precautions to prevent any possible problems. Additionally, when an employee is
thought to be at risk of being let go, they are forwarded to the ed-tech platform, where
they may access carefully selected study materials catered to their needs in terms of
professional growth. In addition to assisting people in improving their abilities, this
proactive approach encourages a culture of ongoing learning inside organizations.
This machine learning project uses predictive analytics to improve employee retention
and student placement techniques. It enables organizations to anticipate potential
termination risks and take required steps by giving precise projections and
individualized suggestions. Due to the incorporation of the ed-tech platform, people
now have access to carefully selected study materials, supporting career advancement.
In all, the project supports the development of a more prosperous and active
professional and educational ecosystem.
v
TABLE OF CONTENT
Title Page
Declaration i
Acknowledgement ii
Certificate iii
Abstract iv
Table of contents v
List of Figures vi
CHAPTER 1: INTRODUCTION 1
1.1 Introduction to the problem 1
1.2 Importance 3
1.3 Objective 6
vii
5.4 Algorithmic Analysis 53
APPENDIX 99
Libraries and Frameworks Used 99
REFERENCES 100
viii
LIST OF FIGURES
ix
LIST OF TABLES
x
CHAPTER 1: INTRODUCTION
Similarly, as organizations, big or small, endeavor to continue on their long run and
expansion, they confront the challenge of employee turnover, seeking ways to forecast
and address potential disturbances to their personnel, resulting in unanticipated
disturbances and talent loss. Addressing these challenges asks for innovative measures
that leverage the power of data analytics and machine learning to offer practical
insights and correct recommendations.
Against the backdrop of these fluctuations, successful placement prediction and layoff
anticipation emerge as essential strategies for organizational adaptability and
competitive advantage. The project is built understanding of the necessity of utilizing
machine learning and data-driven methodologies to offer insightful guidance and
assistance to students and professionals in their journeys.
The challenge of student placement lies in the delicate equilibrium between the needs
and aspirations of students, the rapidly growing demands of the job markets and the
capability of institutions to foster meaningful connections between the two. The
Training and Placement activity in the college is one of the most important activities
in the life of the student.
Therefore it is very important to make the process hassle free so that the students
would be able to get the required information as and when required. In the ever-
1
evolving scenarios of professional growth, the correct and accurate placement
predictions of students into suitable career paths is vital. The path from academia to
professional roads is a pivotal transition for students shaping their future into a bright
one. However, the process of student placement is equipped with challenges as
students find opportunities that fall in line with their skills and interests while
navigating through a competitive job environment marked by evolving employment
trends. In light of the various challenges associated with student placement, the
combination of predictive analysis emerges as a transformative measure.
In the scenario that the placement predicted of a student is not good or an employee
faces termination, the project makes sure that in both cases, the individuals are
provided with valuable materials to support their personal and professional
development and enhance their employment rates. Inculcating a focused strategy,
individuals are then directed to an exclusive platform hosting an extensive array of
educational resources bordered to meet their individual requirements and career goals.
Access to such resources helps the student to possess content for upgrading his/her
skills which would be followed by him/her secure better placement results. In the case
of terminated employees, access to such resources would help the former employees
to upskill and broaden their skills to dynamically adjust with the current trends in the
rapid changing market thereby meeting with the market ask. In all, the project focuses
on the holistic development of the students and the employees for them to excel in
their careers.
2
1.2 IMPORTANCE
3
1.2.2 Resource Efficiency
4
institutions can proactively align their programs, resources, and initiatives to
effectively accomodate the evolving needs of students and the trending job market.
This foresight enables them to stay ahead of the curve, anticipate and keenly
understand the changes in industry requirements, and customize their offerings to
meet the emerging demands. Whether it's adjusting curriculum to incorporate in-
demand skills, allocating resources towards high-growth sectors, or developing
targeted recruitment and retention strategies, accurate prediction provides a roadmap
for institutions to navigate through dynamic landscapes with confidence, foresight and
toughness. By aligning their strategic initiatives with anticipated or predicted
outcomes, institutions can position themselves for long-term success and relevance in
a rapidly evolving educational and organizational ecosystem.
This forward-thinking approach not only optimizes resource allocation but also
minimizes the need for reactive measures, such as last-minute hiring or extensive
training programs. By accurately forecasting student and employee outcomes,
institutions can streamline their operations, enhance efficiency, and ultimately
maximize their financial resources for further investment in core initiatives and
organizational development. This proactive approach fosters a sustainable financial
framework, positioning institutions and organizations for long-term stability and
growth.
These insights underscore the pivotal role of predictive analytics, aligning closely
with the objectives our project aims to achieve. By leveraging accurate predictions,
our project endeavors to empower institutions and organizations with the tools needed
to thrive in an ever-evolving landscape.
5
1.3 OBJECTIVE
The project’s main objective aligns with the understanding of the pivotal role of
campus placements for students and the significance of employment opportunities for
employees. In an era defined by dynamic shifts in educational paradigms and
organizational landscapes, the quest for accurate predictive insights has become
paramount. With a vision to revolutionize student placement forecasts and employee
termination predictions, our project embarks on a journey of innovation and impact,
driven by the convergence of machine learning prowess and strategic foresight. At the
forefront of our endeavor lies a steadfast commitment: to empower both students and
employees through the twin pillars of predictive insight and strategic foresight. The
main objectives are as follows :
Our primary aim is to craft a robust, reliable and precise machine learning model that
can anticipate a student's placement based on their academic grades and project results
and an employee’s termination based on performance reviews, attendance records,
and employee feedback.
1. The project makes use of a variety of datasets to train the model, making sure
to include data on student placements and employee terminations as well as
other pertinent features and results.
2. By harnessing large and diverse datasets and ensuring scalability, we aspire to
create a predictive tool capable of real-time prognostication.
6
3. To determine the model's efficacy in foretelling student placements, evaluate
the model's performance using metrics like accuracy, precision, recall, and F1
score.
7
1.3.6 Providing actionable Insights and Recommendations:
1. Based on the results of the predictions, give students tailored advice and
insightful information.
2. Help students identify areas where they can improve, such as particular
subjects, abilities, or projects, to improve their employability and raise the
likelihood that they will land placements.
3. Give organizations information on potential risks associated with termination
and suggest ways to reduce those risks, helping to increase employee
engagement and retention.
8
CHAPTER 2: LITERATURE REVIEW
2.1 INTRODUCTION
Central to our exploration is the recognition of the profound impact that predictive
analytics can have on the trajectories of both students and employees. For students,
campus placements represent not only the culmination of their academic journey but
also the gateway to fulfilling careers. Conversely, for employees, job security and
career progression hinge on accurate forecasts of potential terminations, enabling
proactive measures for skill enhancement and career resilience.
Against this backdrop, our literature review embarks on a dual-pronged inquiry: first,
to dissect and evaluate existing projects that specialize in predicting student
placements and employee terminations separately, and second, to delineate the
distinctive features and advancements incorporated into our project. Our endeavor
extends beyond mere examination, aiming to unearth innovative methodologies,
identify gaps in existing approaches, and pave the way for the development of a
holistic predictive model.
Moreover, our project stands as a beacon of innovation by not only predicting student
placements and employee terminations but also offering a curated study material
platform for terminated employees. This unique integration aims to provide holistic
support to individuals transitioning between academic and professional realms,
underscoring our commitment to driving positive outcomes and fostering lifelong
learning.
9
2.2 RELATED WORKS
10
addressing gaps in existing approaches and embracing a holistic framework
that integrates academic scores, project performance, and a myriad of
employability factors.
11
points such as job satisfaction, performance metrics, engagement scores, and
demographic information. This helps HR teams identify employees at risk of
leaving and take proactive measures to retain them.
2. Visier People Analytics is a comprehensive workforce analytics platform
designed to help organizations make data-driven decisions about their human
resources. It provides deep insights into various aspects of the employee
lifecycle, including recruitment, performance, retention, and workforce
planning.
3. However, despite their ability to identify potential termination risks, these
projects often fall short in providing support for terminated employees. While
they excel in identifying at-risk individuals, they lack the capability to offer
resources or assistance to help terminated employees improve their skills and
enhance their employability.
4. This represents a significant gap in existing approaches to employee
termination prediction. Terminated employees are often left without guidance
or support to navigate their career transition. Without access to resources for
skill development or opportunities for retraining, terminated employees may
struggle to find new employment opportunities and rebuild their careers.
5. To address this gap, our project aims to offer a holistic solution that not only
predicts employee terminations but also provides terminated employees with
access to resources for skill enhancement and career development. By
integrating predictive analytics with an educational technology platform, we
seek to empower terminated employees with the tools and resources they need
to improve their skills, increase their employability, and navigate their career
transitions successfully.
12
1. Through meticulous examination, our project distinguishes itself by offering a
novel approach to predicting student placement and employee termination. By
meticulously considering both academic performance and project
performance, we provide a comprehensive and nuanced assessment of a
student's employability.
This holistic evaluation enables us to offer a more accurate forecast of a
student's likelihood of placement, empowering them to focus on areas for
improvement and enhance their prospects of securing desirable employment
opportunities.
2. Ed-Tech Platform Integration: In contrast to other projects, ours distinguishes
itself by seamlessly integrating an ed-tech website into the predictive
framework. This innovative platform offers terminated employees access to
meticulously curated study materials tailored to their specific needs and career
aspirations.
3. Dual Prediction Capability: In contrast to existing projects that focus solely on
either student placement or employee termination, our project offers a unique
dual prediction capability. By encompassing both aspects, we empower
educational institutions and businesses alike to take proactive measures and
make informed decisions. Through our predictive model, we provide insights
into both student placements and employee terminations, enabling
stakeholders to anticipate future outcomes and strategically address potential
challenges.
4. Personalized Recommendations: Setting itself apart from conventional
approaches, our project delivers tailored recommendations to both
organizations and students, optimizing outcomes for all parties involved.
Students benefit from individualized guidance aimed at enhancing their
placement prospects, while organizations gain insights to identify and mitigate
potential termination risks proactively.
5. Accuracy and Performance: Central to the success of our project is the
utilization of sophisticated machine learning algorithms, meticulously crafted
using an extensive array of large-scale datasets. This strategic approach
ensures unparalleled performance and unwavering accuracy in our predictive
capabilities.
13
6. In conclusion, current market projects mainly concentrate on either employee
termination prediction or student placement prediction. However, our project
combines both elements and introduces the incorporation of an educational
technology platform for fired employees. Our project provides a
comprehensive solution for students and organizations by considering
academic standing, and project performance, and offering tailored
recommendations.
14
data format restricts the comprehensiveness and accuracy of existing layoff
prediction methodologies, highlighting a notable limitation in current research
efforts.
1. Existing works often prioritize technical skills over soft skills in student
placement predictions, neglecting the critical importance of both skill sets in
securing employment. While technical proficiency is undoubtedly valuable,
employers increasingly prioritize candidates who possess a blend of technical
expertise and soft skills such as communication, teamwork, adaptability, and
problem-solving.
2. Focusing solely on technical competencies overlooks the holistic nature of job
requirements and fails to accurately reflect the multifaceted demands of the
modern workplace. Consequently, predictive models that predominantly
15
consider technical skills may inadequately assess a student's overall
employability, resulting in suboptimal placement predictions.
3.1 INTRODUCTION
The methodology begins with the meticulous curation and collection of diverse
datasets. The data collection phase serves as the foundational pillar upon which the
entire project rests, encompassing a multifaceted approach to sourcing and gathering
16
diverse datasets essential for predictive analytics. With meticulous attention to detail,
our methodology emphasizes the identification and acquisition of relevant datasets,
spanning a wide spectrum of domains including student profiles, academic results,
project details, historical placement records, employee performance evaluations,
attendance records, and feedback data. Each dataset is carefully selected to ensure its
relevance and comprehensiveness, reflecting the diverse characteristics and attributes
of the target population under study.
The methodology has been keenly crafted with a focus on ensuring that the datasets
utilized are varied, inclusive and accurately reflective of the target population.
Crucially, ethical considerations and adherence to data privacy regulations are central
to our approach during the data collection phase. Acknowledging the sensitivity of
personal and confidential data, we uphold stringent ethical standards and follow best
practices to safeguard individuals' privacy. Through meticulous attention to diversity,
inclusivity, accuracy, and ethical considerations, we lay the groundwork for the
development of robust and reliable predictive models that empower stakeholders with
actionable insights and drive informed decision-making.
During the data preprocessing stage, our focus is on enhancing the quality and
usability of the gathered datasets. Additionally, we conduct exploratory data analysis
(EDA) to gain insights into the underlying patterns and correlations within the
datasets. By summarizing the data, we identify potential trends and relationships that
may inform our predictive models. Through systematic cleaning, exploratory analysis,
and data transformation, we strive to optimize the usability and effectiveness of the
data, facilitating the creation of reliable and insightful predictive models.
17
In the machine learning model development phase, we employ a systematic approach
to select, train, and evaluate predictive models tailored to the specific requirements
and characteristics of our project data
18
Fig 3.3.1 Decision System
The process begins with the collection of relevant user data, which is then
preprocessed to ensure consistency and accuracy. This preprocessing step involves
cleaning the data, normalizing it, and encoding categorical variables. Feature selection
and engineering techniques are then applied to identify the most significant features
for prediction, enhancing the model's performance by focusing on the most impactful
variables.
Layoff prediction systems serve multiple purposes, driven by the need for proactive
workforce management and employee well-being. From an organizational
perspective, these systems offer insights into workforce dynamics, enabling
companies to anticipate and prepare for potential layoffs. By identifying at-risk
employees in advance, organizations can implement targeted interventions such as
training programs, skill development initiatives, or internal mobility opportunities to
mitigate the need for layoffs.
19
Support vector machine (SVM) algorithms are also commonly utilized in layoff
prediction, leveraging their ability to classify data into different categories based on
input features. SVM models can effectively distinguish between employees at risk of
layoff and those with stable employment status, enabling organizations to prioritize
resources and interventions accordingly.
3.5 ALGORITHMS :
Despite its name, logistic regression is a classification algorithm commonly used for
binary classification tasks. It models the probability of a binary outcome based on one
or more independent variables. Logistic regression works by fitting a logistic curve to
the data, which represents the probability of the outcome occurring as a function of
the input variables. It's widely used for its simplicity, interpretability, and efficiency in
handling linearly separable data.
SVM is a powerful supervised learning algorithm used for both classification and
regression tasks. It works by finding the hyperplane that best separates the data points
into different classes while maximizing the margin between the classes. SVM can
handle linear and nonlinear which map the input data into a higher-dimensional
20
feature space where it becomes linearly separable. SVM is known for its effectiveness
in handling high-dimensional
21
CHAPTER 4: MACHINE LEARNING TECHNIQUES
4.1 INTRODUCTION
Artificial intelligence (AI) has an area called machine learning (ML) that focuses on
using data and algorithms to let AI learn and get better over time without requiring
manual instructions. Put more simply, it involves teaching computers to learn from
data in the same way that students learn from teachers, but then applying that
information to novel and unfamiliar situations.
22
A typical machine learning tasks are to provide a recommendation. Recommender
systems are a common application of machine learning, and they use historical data to
provide personalized recommendations to users. In the case of Netflix, the system
uses a combination of collaborative filtering and content-based filtering to
recommend movies and TV shows to users based on their viewing history, ratings,
and other factors such as genre preferences. Personalized recommendations based on
machine learning have become increasingly popular in many industries, including e-
commerce, social edia, and online advertising, as they can provide a better user
experience and increase engagement with the platform or service.
1. Study the Problems: The first step is to study the problem. This step involves
understanding the business problem and defining the objectives of the model.
2. Data Collection: When the problem is well-defined, we can collect the
relevant data required for the model. The data could come from various
sources such as databases, APIs, or web scraping.
3. Data Preparation: When our problem-related data is collected. then it is a good
idea to check the data properly and make it in the desired format so that it can
be used by the model to find the hidden patterns.
4. Model Selection: The next step is to select the appropriate machine learning
algorithm that is suitable for our problem. This step requires knowledge of the
strengths and weaknesses of different algorithms. Sometimes we use multiple
models and compare their results and select the best model as per our
requirements.
5. Model building and Training: After selecting the algorithm, we have to build
the model
6. Model Evaluation: Once the model is trained, it can be evaluated on the test
dataset to determine its accuracy and performance using different techniques
like classification report, F1 score, precision, recall, ROC Curve, Mean Square
error, absolute error, etc.
7. Model Tuning: Based on the evaluation results, the model may need to be
tuned or optimized to improve its performance. This involves tweaking the
hyperparameters of the model.
23
8. Deployment: Once the model is trained and tuned, it can be deployed in a
production environment to make predictions on new data. This step requires
integrating the model into an existing software system or creating a new
system for the model.
9. Monitoring and Maintenance: Finally, it is essential to monitor the model’s
performance in the production environment and perform maintenance tasks as
required. This involves monitoring for data drift, retraining the model as
needed, and updating the model as new data becomes available.
Data is a crucial component in the field of Machine Learning. It refers to the set of
observations or measurements that can be used to train a machine-learning model. The
24
quality and quantity of data available for training and testing play a significant role in
determining the performance of a machine-learning model. Data can be in various
forms such as numerical, categorical, or time-series data, and can come from various
sources such as databases, spreadsheets, or APIs.
1. Labelled Data
2. Unlabelled Data
Labeled data includes a label or target variable that the model is trying to predict,
whereas unlabeled data does not include a label or target variable.
In the dynamic landscape of education and employment, the transition from academia
to the professional realm poses significant challenges for students and educational
institutions alike. The process of securing a job placement not only impacts individual
career trajectories but also reflects the effectiveness of academic programs in
preparing students for real-world challenges. In this context, the ability to forecast a
student's likelihood of being placed in a desired position assumes paramount
importance.
25
insights that drive continuous improvement in educational practices and student
outcomes.
Central to the efficacy of our model is the process of feature engineering, wherein raw
data is transformed into meaningful features that encapsulate predictive information.
Leveraging domain knowledge and statistical techniques, we engineered a diverse set
of features that capture the multidimensional nature of student placement. For
instance, GPA serves as a proxy for academic prowess, while technical and soft skills
ratings quantify the proficiency of students in relevant domains. Additionally, the
binary variable indicating internship experience and the count of projects completed
offer insights into students' experiential learning and practical acumen
26
by aggregating predictions across multiple trees. Support vector machines (SVM),
renowned for their efficacy in high-dimensional spaces, were also considered to
delineate optimal hyperplanes for classification.
4.2.5 Summary :
27
4.3 LAYOFF PREDICTION USING MACHINE LEARNING :
The ability to predict layoffs with a high degree of accuracy offers numerous benefits
to organizations across various sectors. By leveraging historical data and relevant
predictors such as years of experience, promotions, departmental affiliation, job title,
and the provision of severance packages, machine learning models can provide
valuable insights into the likelihood of future layoffs. This proactive approach enables
organizations to implement targeted interventions, such as workforce restructuring,
28
skills development programs, or alternative employment opportunities, to minimize
the impact on employees and preserve organizational stability.
In this document, we explore the application of machine learning techniques for layoff
prediction, focusing on the development and evaluation of predictive models using
real-world data. We delve into the factors influencing layoff predictions, discuss the
methodology behind building an effective prediction model, and present the results
and insights derived from our analysis. Through this data-driven approach, we aim to
contribute to the growing body of research on workforce analytics and provide
practical recommendations for organizations seeking to enhance their workforce
management strategies.
One of the primary algorithms utilized in our model is logistic regression, which is
well-suited for binary classification problems and provides interpretable results that
facilitate understanding and decision-making. Additionally, we explored ensemble
learning techniques such as random forests and gradient boosting to capture complex
interactions among predictor variables and improve prediction performance.
The development of our layoff prediction model involved rigorous training and
evaluation procedures to assess its performance and generalization capabilities. We
partitioned the available data into training and testing sets to enable unbiased
estimation of the model's predictive accuracy.
During the training phase, the model learns patterns and relationships from the
training data through iterative optimization of model parameters. We employed cross-
validation techniques to fine-tune hyperparameters and mitigate overfitting, ensuring
robustness and reliability in real-world scenarios.
29
4.3.4 Model Performance Analysis:
4.3.5 Summary:
30
between the independent variables (features) and the binary outcome using the
logistic function.
The logistic regression model is trained by maximizing the likelihood of observing the
given set of outcomes (labels) given the input features. This is typically achieved
through the method of maximum likelihood estimation. The objective is to find the
optimal values of the coefficients (also known as weights or parameters) that best fit
the training data and minimize the error between predicted and actual outcomes.
1. x = input value
2. y = predicted output
3. b0 = bias or intercept term
4. b1 = coefficient for input (x)
Pros :
Cons:
1. Logistic regression assumes a linear relationship between the features and the
log-odds of the outcome, which may not always hold true in real-world
scenarios.
31
2. It may struggle with capturing complex non-linear relationships between
features and outcomes.
32
SVM can handle both linear and non-linear decision boundaries by employing
different kernel functions. Some commonly used kernel functions include:
1. Linear Kernel: Suitable for linearly separable data.
2. Polynomial Kernel: Useful for capturing non-linear relationships.
3. Radial Basis Function (RBF) Kernel: Effective in capturing complex decision
boundaries in high-dimensional space.
4. Sigmoid Kernel: Can be used for non-linear classification tasks.
Pros:
Cons:
1. SVMs can be sensitive to the choice of the kernel function and its parameters.
2. They may require careful tuning of hyperparameters such as the regularization
parameter (C) and kernel parameters.
3. SVMs can be computationally expensive, especially for large datasets with
many features.
In scenarios where the data is not perfectly separable, SVM allows for the
introduction of a soft margin, which permits misclassifications in exchange for a
wider margin. This is achieved through the use of slack variables, which penalize
misclassified points. Soft margin SVM strikes a balance between maximizing the
33
margin and minimizing the classification error, leading to better generalization
performance on unseen data.
In summary, Support Vector Machines (SVMs) are powerful and versatile algorithms
for classification tasks, capable of handling both linear and non-linear decision
boundaries. Their effectiveness, especially in high-dimensional spaces, makes them a
popular choice in the machine learning community.
Random Forest is an ensemble learning method used for both classification and
regression tasks. It operates by constructing a multitude of decision trees during
training and outputting the mode of the classes (classification) or the average
prediction (regression) of the individual trees.
The fundamental idea behind Random Forest is to aggregate the predictions of
multiple decision trees to improve the overall predictive performance and reduce the
risk of overfitting. Each decision tree in the Random Forest is trained independently
on a random subset of the training data and a random subset of the features. This
34
randomness helps to introduce diversity among the trees and leads to more robust and
generalized predictions.
Random Forest also performs random feature selection at each split of the decision
tree. Instead of considering all features when determining the best split, each tree in
the Random Forest randomly selects a subset of features to consider. This further
enhances the diversity among the trees and prevents individual features from
dominating the decision-making process.
Pros:
Cons:
Random Forests find applications in various domains such as finance (e.g., credit risk
assessment), healthcare (e.g., disease prediction), marketing (e.g., customer
segmentation), and more. Their ability to handle high-dimensional data and capture
complex relationships makes them well-suited for a wide range of classification and
regression tasks.
35
CHAPTER 5: MANAGEMENT SYSTEM
5.1 INTRODUCTION
5.1.1 Selenium
1. Selenium stands out as a powerful and versatile tool in the realm of web
automation, offering a comprehensive suite of tools and libraries that cater to
developers and testers across various programming languages. Its
compatibility with languages such as Java, Python, and JavaScript makes it
accessible to a wide range of professionals, regardless of their coding
preferences or expertise levels.
2. While Selenium is predominantly renowned for its role in automating web
application testing, its capabilities extend far beyond this fundamental use
case. One of Selenium's key strengths lies in its versatility, allowing it to be
applied to a myriad of tasks beyond traditional testing scenarios.
3. Additionally, Selenium is a go-to tool for browser compatibility testing,
ensuring that web applications function seamlessly across different browsers
and platforms. By automating the process of testing across multiple browsers,
Selenium helps developers identify and rectify compatibility issues early in the
development cycle, thereby enhancing the overall user experience.
36
4. In conclusion, Selenium's broad range of applications, coupled with its user-
friendly interface and robust features, make it an indispensable tool for
developers and testers seeking to automate tasks, enhance efficiency, and
elevate the quality of web applications. Its adaptability to different
programming languages, combined with its extensive capabilities, positions
Selenium as a versatile and indispensable tool in the realm of web automation.
Web scraping through Selenium is a powerful technique used to extract data from
websites. It involves using Selenium's automation capabilities to navigate through
web pages, interact with elements, and extract desired information. This technique is
widely used for various purposes, including data analysis, market research, and
monitoring changes on websites.
1. One of the key advantages of web scraping through Selenium is its ability to
handle dynamic websites. Unlike traditional web scraping tools that rely on
static HTML content, Selenium can interact with dynamic elements on a
webpage, such as JavaScript-generated content. This allows Selenium to
37
scrape data from websites that use dynamic content loading, AJAX, or
JavaScript frameworks like React or Angular.
2. Another advantage of using Selenium for web scraping is its flexibility and
programmability. Selenium supports multiple programming languages,
including Java, Python, and C#, allowing developers to write scripts to
automate the scraping process. This flexibility makes Selenium suitable for a
wide range of scraping tasks, from simple data extraction to complex web
crawling and data mining operations.
3. Web scraping through Selenium can be used for various applications. For
businesses, web scraping can provide valuable insights into market trends,
competitor activities, and customer behavior. By scraping data from
competitor websites, businesses can gather competitive intelligence and adjust
their strategies accordingly. Similarly, web scraping can be used for lead
generation, price monitoring, and sentiment analysis, among other purposes.
4. Researchers and academics also use web scraping through Selenium to gather
data for analysis and study. By scraping data from websites, researchers can
collect large datasets for statistical analysis, machine learning, and other
research purposes. This can be particularly useful in fields such as social
sciences, economics, and data science, where access to large datasets is
essential for research.
5. However, it's important to note that web scraping is subject to legal and ethical
considerations. While scraping public data from websites is generally
permissible, scraping personal data or copyrighted content may infringe on
privacy or intellectual property rights. It's essential to review the terms of
service of the website you're scraping and to ensure compliance with relevant
laws and regulations.
6. In conclusion, web scraping through Selenium is a powerful technique for
extracting data from websites. Its ability to handle dynamic content,
flexibility, and programmability make it a valuable tool for businesses,
researchers, and developers. However, it's important to use web scraping
responsibly and ethically, ensuring compliance with legal requirements and
respect for the rights of website owners.
38
Selenium WebDriver serves as the cornerstone of Selenium's automation capabilities,
providing a powerful interface for automating interactions with web browsers. Its
versatility and robustness make it a preferred choice for automating browser-based
tasks and testing web applications.
One of the key aspects of Selenium WebDriver is its ability to handle a wide range of
browser interactions. This includes clicking on elements, entering text into fields,
submitting forms, navigating through pages, and handling alerts and pop-ups.
WebDriver's comprehensive API allows developers to perform these actions with
precision and control, enabling thorough testing of web applications.
39
5. For login automation, Selenium WebDriver allows developers to script the
process of entering login credentials into the respective fields on a login page.
This includes clicking the login button and verifying the success of the login
process. This functionality is crucial for testing the login functionality of web
applications under various scenarios.
6. Additionally, Selenium WebDriver allows developers to open websites and
navigate through web pages by specifying the URL of the website. It can
launch the browser and load the desired page. This feature is useful for
automating the process of accessing specific web pages as part of testing or
data scraping workflows.
7. Selenium WebDriver's headless mode facilitates web scraping without
displaying the browser window. This makes it ideal for tasks where visual
rendering of the web page is unnecessary. In headless mode, WebDriver
interacts with the browser's Document Object Model (DOM) to locate and
extract specific elements from the web page.
The web application developed for the Get-Hired project serves as an advanced ed-
tech service platform, offering personalized career recommendations and seamless
interaction for both students and professionals. It is constructed using the MERN
stack, a robust technology stack that includes MongoDB for the database, Express.js
for the backend, React.js for the front end, and Node.js for server-side operations.
This choice of technology ensures a scalable, responsive, and modern web
application.
For students, the platform provides a user-friendly interface to explore various career
options based on their skills, interests, and educational background. It offers
personalized career guidance and recommendations, helping students make informed
decisions about their future.
Professionals can also benefit from the platform by using it to assess their layoff
chances and explore new job opportunities. The platform provides a platform for
professionals to network with industry experts, attend webinars and workshops, and
40
access career advancement resources. Overall, the web application aims to streamline
the career planning and job search process for both students and professionals,
making it more efficient, personalized, and effective.
The architecture of the Get-Hired ed-tech service platform is designed around three
core components: the front end, the back end, and the database. This architecture
follows a client-server model, where the front end acts as the client, while the back
end and the database serve as the server components.
The front end of the platform is responsible for the user interface and user
interactions. It is built using React.js, a popular JavaScript library for building
interactive user interfaces. The front end communicates with the back end through a
set of APIs to fetch and display data to the users.
On the other hand, the back end of the platform is responsible for processing user
requests, handling business logic, and interacting with the database. It is built using
Node.js and Express.js, which are JavaScript frameworks for building server-side
applications. The back end exposes a set of RESTful APIs that the front end uses to
communicate with it.
Lastly, the database component of the platform stores all the data related to users,
careers, job listings, and other relevant information. MongoDB, a NoSQL database, is
used for its flexibility and scalability, making it suitable for storing and managing
large amounts of data. Overall, the architecture of the Get-Hired platform is designed
to be scalable, modular, and efficient, allowing for seamless interactions between the
front end, back end, and database components.
5.4.2 Frontend
41
The front end of the Get-Hired platform is constructed using ReactJS, a widely-used
JavaScript library known for its ability to create dynamic and responsive user
interfaces. ReactJS plays a crucial role in ensuring that the platform delivers an
engaging and seamless experience for both students and employees. Through ReactJS,
the front end can efficiently handle user interactions and provide real-time updates,
enhancing the overall usability of the platform.
To facilitate communication between the front end and the back end, the front end
utilizes RESTful API calls. These API calls enable the front end to request and
receive data from the back end, ensuring that the user interface remains up-to-date and
responsive.
The front end serves as the user's primary point of interaction with the platform,
acting as the "face" of Get-Hired. It is responsible for presenting the platform's
features and functionalities in a user-friendly manner, guiding users through their
journey on the platform.
1. FOR STUDENTS
User details pages provide students with a personalized view of their account
information, including their name, email address, and other relevant details.
This page serves as a central hub for students to manage their account settings
42
and preferences, ensuring a seamless and personalized experience on the
platform.
Overall, these features are designed to empower students with the tools and
resources they need to succeed in their academic and professional endeavors.
From accessing course information to managing their account settings, Get-
Hired provides students with a comprehensive platform to support their
learning and career goals.
2. FOR INSTRUCTORS
The dashboard feature provides instructors with a quick snapshot of their co-
urses' performance, highlighting key metrics such as enrollment numbers,
completion rates, and student feedback. This overview allows instructors to
quickly assess the overall success of their courses and identify any areas that
may require attention. In addition to course metrics, the dashboard may also
display notifications about upcoming deadlines, student inquiries, or other
important information.
The insights page offers instructors a deeper dive into their course analytics,
providing detailed data on student engagement, course completion rates, and
student demographics. Instructors can use this information to tailor their
courses to better meet the needs of their students and improve overall course
effectiveness. For example, if a particular lesson has a low completion rate,
the instructor may choose to revise the content or delivery method to better
engage students.
Course management pages are a central hub for instructors to create, update,
and manage their courses. Instructors can use these pages to upload course
materials, create assignments and quizzes, and communicate with students.
Additionally, instructors can use these pages to set course pricing, manage
enrollment, and track student progress. This level of control allows instructors
to customize their courses to meet the needs of their students and adapt to
changing circumstances.
43
The platform also offers instructors the ability to view and edit their profile
details, ensuring that their information is always up-to-date and accurate.
Instructors can use this feature to add new credentials, update their bio, or
change their contact information. This ensures that students have access to the
most current information about their instructors, helping to build trust and
credibility in the platform.
Overall, these features work together to provide instructors with the tools and
insights they need to create successful and engaging courses. By offering a
comprehensive suite of features, the Get-Hired platform empowers instructors
to deliver high-quality courses and build a strong and loyal student base.
5.4.3 Backend
Node.js and Express.js are chosen for their efficiency and scalability in handling
HTTP requests and managing application logic. Node.js provides a non-blocking,
event-driven architecture, allowing for asynchronous operations and optimal resource
utilization. Express.js, built on top of Node.js, simplifies the creation of robust APIs
and web applications with its minimalist and flexible approach.
MongoDB serves as the primary database, offering a flexible NoSQL storage solution
suitable for the diverse data needs of Get-Hired. MongoDB's schema-less design
allows for easy adaptation to evolving data structures, crucial for an application like
Get-Hired that deals with complex data relationships and user interactions. The use of
MongoDB Atlas, the fully managed cloud database service, ensures scalability, high
availability, and security of the database.
44
Together, Node.js, Express.js, and MongoDB form a robust back-end foundation for
Get-Hired, enabling seamless communication between the front end and database,
efficient data processing, and scalable architecture to support the platform's growth
and functionality. The modular nature of the monolithic architecture allows for easy
integration of additional features and services as the platform evolves.
1. USER ROLES
Students can register and log in using their institutional email address and a
password of their choice. Once logged in, students gain access to features
tailored to their academic needs. This includes the ability to view course
materials, submit assignments, and access their grades and academic progress.
These features are essential for students to engage with their coursework and
track their performance within the platform.
Employees, on the other hand, register and log in using their work email
address and a designated password. Employees have access to a broader array
of features, reflecting their administrative roles within the platform. These
functionalities may include managing student data, creating new courses,
monitoring student progress and performance, and overseeing the overall
operation of the platform.
2. AUTHENTICATION
45
The "Email and Password" authentication method is a fundamental yet
effective approach to user authentication. It involves users creating an account
by providing their email address and setting a strong, secure password. This
method is widely used across various online platforms due to its simplicity and
reliability in establishing a secure login process.
When a user registers with their email and password, the platform securely
stores this information in its database. During the login process, users are
required to enter their registered email address and password. The platform
then compares these credentials with the stored information to authenticate the
user.
This link is valid for a limited time and allows the user to set a new password.
This process ensures that only the legitimate account owner can reset the
password, as access to the registered email address is required.
The "Forgot Password" functionality adds convenience for users who may
have trouble remembering their passwords. It also contributes to the platform's
security by providing a secure method for password recovery.
46
handle the increased load, ensuring that the platform remains responsive and
efficient. Additionally, Cloudinary provides a range of tools and
functionalities for manipulating and optimizing media files, allowing Get-
Hired to deliver high-quality content to users while minimizing load times.
4. CENTRALIZED STORAGE
Centralized storage in the context of Get-Hired's media assets means that all
images, videos, and documents are stored in a single, secure location. This
centralized approach offers several advantages. Firstly, it eliminates the need
for scattered storage solutions, where files might be saved on different servers
or devices.
Secondly, centralized storage simplifies access for authorized users. With all
media assets stored in one place, users can easily find and retrieve the files
they need without having to search through multiple locations. This improves
efficiency and productivity, especially in a platform like Get-Hired, where
users may need quick access to a variety of media assets for learning or
teaching purposes.
47
5. STREAMLINED WORKFLOWS
6. SCALIBILITY
48
increased storage requirements, ensuring that the platform remains responsive
and reliable for users.
5.5 DATABASE
The data models and database schema in the back end of Get-Hired are crucial
components that enable the platform to manage user data and course information
efficiently.
The Student schema, for instance, not only stores basic information like name, email,
and password but can also include additional details such as academic history, career
interests, and preferred job locations. This comprehensive approach allows Get-Hired
to provide personalized career recommendations tailored to each student's profile.
Similarly, the Employee schema can store a wide range of information, including job
history, skills, and performance reviews. This data is valuable for employees seeking
new job opportunities or evaluating their layoff chances, as it helps them understand
their strengths and areas for improvement.
The Resource schema, on the other hand, plays a critical role in managing course
materials. In addition to storing basic information like course name and description, it
can also include details about course modules, assignments, and assessments. By
organizing course content in this structured manner, Get-Hired ensures that students
49
and employees can easily access the information they need to enhance their skills and
advance their careers.
Overall, the data models and database schema in the back end of Get-Hired are
designed to provide a comprehensive and user-friendly experience. Through careful
planning and implementation, these components help the platform deliver valuable
insights and recommendations to users, empowering them to make informed decisions
about their careers.
The API design of the Get-Hired platform plays a crucial role in enabling seamless
communication between the front end and back end. Following the REST
architectural style ensures that the API is intuitive, easy to understand, and follows
best practices in web development.
Node.js and Express.js are used to implement the API, leveraging their capabilities to
handle HTTP requests efficiently. These technologies are well-suited for building
APIs, providing a robust foundation for the platform's backend functionality.
JSON (JavaScript Object Notation) is chosen as the data exchange format due to its
lightweight nature and ease of parsing. JSON allows for the structured representation
50
of data, making it ideal for transmitting complex data structures between the client
and server.
The API endpoints are designed to align with standard HTTP request methods. GET
requests are used for retrieving data, POST requests for creating new data, PUT
requests for updating existing data, and DELETE requests for removing data. This
adherence to HTTP standards ensures that the API is consistent and predictable,
simplifying development and integration with other systems.
51
Request: GET /api/v1/dashboard/my-profile
6.1 INTRODUCTION
The Placement and Layoff Prediction System with Job Management holds significant
importance in today's job market landscape. For freshers, accurate placement
predictions offer invaluable guidance in navigating the job market, helping them make
informed decisions about their career paths. Similarly, employees facing layoff risks
benefit from early detection and proactive measures to safeguard their employment
status.
52
The design methodology adopted for the functioning of our project encompasses the
following sequential steps:
Upon input submission, the system triggers a series of actions to process the provided
data. For placement prediction, users may input details such as educational
qualifications, skills, and career preferences, while for layoff prediction, employee-
related information such as performance ratings, tenure, and departmental changes is
collected. This data is then forwarded to the backend server for processing.
The processed data is fed into the prediction models deployed on the server. Utilizing
machine learning algorithms, the system generates predictions regarding job
placement probabilities or layoff risks. Once predictions are generated, the system
fetches relevant information such as disease names, management strategies, and job
listings from the underlying database. This information is then displayed to the user
via the GUI, providing actionable insights and recommendations.
To cater to diverse user needs and preferences, our system incorporates features to
enhance accessibility. For instance, users have the option to access information
through alternative mediums such as audio output. By integrating a text-to-speech
conversion engine, users can opt to have the system read out the displayed
information aloud, ensuring accessibility for users with varying levels of literacy or
visual impairments.
53
the complexities of the job market or anticipating potential layoff risks. Through a
combination of intuitive design, advanced algorithms, and accessibility features, our
system aims to empower users with actionable information and support their career
decision-making process.
54
6.3 DATA FLOW DIAGRAM:
Data flow diagrams describes various levels of refinement of data flow i.e. flow of
data through various processes of application.
The DFD is also called as bubble chart. It is a simple graphical formalism that can be
used to represent a system in terms of input data to the system, various processing
carried out on this data, and the output data is generated by this system
The data flow diagram (DFD) is one of the most important modeling tools. It is used
to model the system components. These components are the system process, the data
used by the process, an external entity that interacts with the system and the
information flows in the system.
55
Fig 6.3.2: Level 1 DFD
56
Fig 6.3.3: Level 2 DFD
57
6.4 SEQUENCE DIAGRAM:
Sequence diagrams in UML shows how object interact with each other and the order
those interactions occur. It’s important to note that they show the interactions for a
particular scenario. We can also use the terms event diagrams or event scenarios to
refer to a sequence diagram. Sequence diagrams describe how and in what order the
objects in a system function.
58
6.5 FLOW CHART:
The flowchart shows the steps as boxes of various kinds, and their order by
connecting the boxes with arrows. This diagrammatic representation illustrates a
solution model to a given problem. Flowcharts are used in analyzing, designing,
documenting or managing a process or program in various fields.
59
Fig 6.5.1 Flow Chart
A use case diagram in UML illustrates the system's functional requirements from the
user's viewpoint, showing interactions between external actors and the system. Actors,
representing users or systems, interact with use cases depicting specific
functionalities. The system boundary delineates its scope, while relationships
demonstrate interactions.
60
61
6.7 WORKING OF THE APPLICATION:
John, a recent graduate in search of job opportunities, opens his web browser and
navigates to the Career Insight Portal. Upon reaching the portal's homepage, he finds
a user-friendly interface designed to simplify the job search process.
After completing the input fields, John eagerly clicks the "Discover Opportunities"
button. This action triggers the portal's predictive algorithms, which analyze John's
profile to generate personalized job predictions tailored to his qualifications and
preferences.
Within moments, the Career Insight Portal presents John with a curated list of job
recommendations based on his input data. He browses through the listings, each
accompanied by detailed information such as job titles, company names, and required
qualifications.
In addition to the predicted job opportunities, John notices a section featuring real-
time job listings sourced from external platforms like Indeed. He appreciates the
portal's ability to provide up-to-date information, enabling him to stay informed about
the latest job openings in his field.
As John explores the portal's features, he discovers the option to enable text-to-speech
functionality. Intrigued, he clicks the "Listen" button, and the portal converts the
62
displayed text into audible output, ensuring accessibility for users with varying needs
and preferences.
Impressed by the portal's user-friendly interface and predictive capabilities, John feels
empowered to make informed decisions about his career. He bookmarks several
promising job listings and plans to explore them further, confident that the Career
Insight Portal will support him in his job search journey.
The envisioned system architecture for our project, aimed at providing predictive
insights and job management solutions, is designed to offer farmers a user-friendly
and effective tool to navigate the complexities of the job market and mitigate potential
layoff risks. The system architecture comprises three core components: the web-based
application, the server, and the prediction models.
The web-based application serves as the front-end interface, enabling users to interact
with the system seamlessly. Users, whether freshers or employees, access the
application through their web browsers. The application provides intuitive features for
data input, prediction generation, and job management. Users can input their relevant
details, such as educational background, work experience, and career preferences, and
receive predictive insights and job recommendations tailored to their profile.
Server:
Acting as the intermediary layer, the server processes user inputs and executes the
prediction algorithms deployed in the system. Upon receiving user data from the web-
based application, the server triggers the prediction models to generate predictions
regarding job placement probabilities or layoff risks. Subsequently, the server
retrieves and aggregates relevant job listings from external sources, ensuring real-time
access to job opportunities for users.
63
6.8.2 Prediction Models:
The backbone of the system, the prediction models, are responsible for generating
accurate and reliable predictions based on the input data provided by users.
Leveraging machine learning algorithms such as logistic regression, support vector
machine (SVM), and random forest, the models analyze user profiles and historical
job data to predict job placement probabilities or identify potential layoff risks. These
models are trained on comprehensive datasets to ensure robust performance and
accuracy in prediction generation.
64
6.9 CODING IMPLEMENTATION:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.read_csv('placement.csv')
df.head()
df.drop(['Student ID', 'Name'], axis = 1, inplace = True)
df.info()
df.isnull().sum()
df['Internship Experience (Y/N)'] = df['Internship Experience (Y/N)'].map({'Y': 1,
'N' : 0})
df['Placed (Y/N)'] = df['Placed (Y/N)'].map({'N' : 0, 'Y' : 1})
sns.boxplot(x=df['Technical Skills (Rating 1-5)'])
plt.title('Box plot of Technical skills')
plt.show()
sns.boxplot(x=df['Soft Skills (Rating 1-5)'])
plt.title('Box plot of Soft skills')
plt.show()
sns.boxplot(x=df['Previous Projects (Number)'])
plt.title('Box plot of Previous Projects')
plt.show()
df['Previous Projects (Number)'].unique()
projects_done_counts = df['Previous Projects (Number)'].value_counts()
unique_values = projects_done_counts.index
counts = projects_done_counts.values
plt.bar(unique_values, counts)
plt.title('Number of Projects Done')
plt.xlabel('Projects')
plt.ylabel('Count')
df['Placed (Y/N)'].value_counts()
65
from sklearn.utils import resample
majority_class = df[df['Placed (Y/N)'] == 0]
minority_class = df[df['Placed (Y/N)'] == 1]
minority_upsampled=resample(minority_class,replace=True,n_samples=len(majority
_class), random_state=42)
df_upsampled = pd.concat([majority_class, minority_upsampled])
df_upsampled=df_upsampled.sample(frac=1,random_state=42).reset_index(drop=Tru
e)
df = df_upsampled
df['Placed (Y/N)'].value_counts()
sns.pairplot(df)
plt.show()
grouped_data = df.groupby('Technical Skills (Rating 1-5)')['Placed (Y/N)'].mean()
grouped_data.plot(kind='bar')
plt.xlabel('Technical Skills')
plt.ylabel('Proportion of students placed')
plt.title('Effect of Technical skills on placement')
plt.show()
grouped_data = df.groupby('Soft Skills (Rating 1-5)')['Placed (Y/N)'].mean()
grouped_data.plot(kind='bar')
plt.xlabel('Soft Skills')
plt.ylabel('Proportion of students placed')
plt.title('Effect of Soft skills on placement')
plt.show()
sns.histplot(data = df[df['Placed (Y/N)'] == 1], x = df['Soft Skills (Rating 1-5)'], hue =
df['Technical Skills (Rating 1-5)'], bins = 30, kde = True)
sns.histplot(data = df[df['Placed (Y/N)'] == 1], x = df['GPA'])
sns.distplot(df['GPA'])
sns.distplot(df['Soft Skills (Rating 1-5)'])
df['transformed_GPA'] = np.log(df['GPA'])
sns.histplot(data=df,x='transformed_GPA',kde=True)plt.title('Transformed
Distribution of Column')
plt.xlabel('Values')
plt.ylabel('Frequency')
66
plt.show()
sns.histplot(data = df[df['Placed (Y/N)'] == 1], x = df['transformed_GPA'], bins = 30,
kde = True)
df.head()
counts_column1 = df['Internship Experience (Y/N)'].value_counts()
counts_column2 = df['Placed (Y/N)'].value_counts()
unique_values = counts_column1.index.tolist()
bar_width = 0.35
plt.bar(unique_values, counts_column1.values, bar_width, label='Internship')
plt.bar([x + bar_width for x in unique_values], counts_column2.values, bar_width,
label='Placed')
plt.xlabel('Unique Values')
plt.ylabel('Counts')
plt.title('Counts of Unique Values in Internship and Placed')
plt.xticks([x + bar_width / 2 for x in unique_values], unique_values)
plt.legend()
plt.show()
df['Major'].unique()
df['Major'].value_counts()
grouped_data = df.groupby('Major')['Placed (Y/N)'].mean()
grouped_data.plot(kind='bar')
plt.xlabel('Major')
plt.ylabel('Proportion of students placed')
plt.title('Effect of Major Subject on placement')
plt.show()
from sklearn.preprocessing import OneHotEncoder
encoder = OneHotEncoder(sparse=False)
one_hot_encoded = encoder.fit_transform(df[['Major']])
one_hot_df=pd.DataFrame(one_hot_encoded,columns=encoder.get_feature_names_o
ut(['Major']))
df = pd.concat([df, one_hot_df], axis=1)
df.head()
df.drop(['Major', 'GPA'], axis = 1, inplace = True)
df.corr()
67
plt.figure(figsize = (10, 6))
sns.heatmap(df.corr(), annot = True)
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
from sklearn.ensemble import RandomForestClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score, classification_report
df.columns = df.columns.astype(str)
X = df.drop(columns=['Placed (Y/N)'
y = df['Placed (Y/N)']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2,
random_state=42)
models = [
('Random Forest', RandomForestClassifier(random_state=42)),
('Logistic Regression', LogisticRegression(random_state=42)),
('Support Vector Machine', SVC(random_state=42))
]
best_model = None
best_accuracy = 0
for model_name, model in models:
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(f"Model: {model_name}, Accuracy: {accuracy}")
if accuracy > best_accuracy:
best_model = model
best_accuracy = accuracy
if best_model is not None:
print("\nBest Model:")
print(best_model)
print("Best Accuracy:", best_accuracy)
print("Classification Report:")
y_pred = best_model.predict(X_test)
68
print(classification_report(y_test, y_pred))
else:
print("No best model found.")
import pickle
with open('placement_model.pkl', 'wb') as f:
pickle.dump(best_model, f)
69
6.9.2 LAYOFF PREDICTION MODEL:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.read_csv('data.csv')
df.head()
df.info()
df.isnull().sum()
try:
lst = []
for i in df['Years of Experience']:
lst.append(int(i))
except ValueError:
pass
try:
df['Years of Experience'] = df['Years of Experience'].astype(int)
except ValueError:
df['Years of Experience'] = pd.to_numeric(df['Years of Experience'], errors='coerce')
df.isnull().sum()
df['Years of Experience'] = df['Years of Experience'].fillna(df['Years of
Experience'].mode()[0])
df['Years of Experience'] = df['Years of Experience'].astype(int)
df.info()
df.head()
df['Age Range'].isnull().sum()
temp = []
for i in df['Age Range']:
try:
lst = i.split('-')
temp.append((int(lst[1]) + int(lst[0]) + 1) // 2)
except:
temp.append(np.nan)
70
len(temp)
df['Age Range'] = pd.Series(temp)
df['Age Range']
df.head()
df['Laid Off'].unique()
df.loc[df['Laid Off'] == 'True', 'Laid Off'] = 'Yes'
df.loc[df['Laid Off'] == 'False', 'Laid Off'] = 'No'
df.loc[df['Laid Off'] == 'Laid Off', 'Laid Off'] = 'Yes'
df['Laid Off'].value_counts()
df['Laid Off'] = df['Laid Off'].fillna(df['Laid Off'].mode()[0])
df['Laid Off'] = df['Laid Off'].map({'Yes' : 1, 'No' : 0})
df.head()
df['Layoff Date'].unique()
plt.subplots(1, 1, figsize = (25, 6))
plt.subplot(1, 1, 1)
sns.histplot(data = df[df['Laid Off'] == 1], x = df['Layoff Date'], bins = 30, kde =
True)
df.drop('Layoff Date', axis=1, inplace=True)
df.head()
df['Location'].unique()
df['Location'] = df['Location'].fillna(df['Location'].mode()[0])
df['Location'].value_counts()
df.loc[df['Location'] == 'Location', 'Location'] = 'Remote'
df.loc[df['Location'] == 'London', 'Location'] = 'Mumbai'
df.loc[df['Location'] == 'New York City', 'Location'] = 'Hyderabad'
df.loc[df['Location'] == 'San Francisco Bay Area', 'Location'] = 'Bangalore'
df.head()
cross_tab = pd.crosstab(df['Location'], df['Laid Off'])
cross_tab.plot(kind='bar', stacked=True)
plt.xlabel('Location')
plt.ylabel('Count')
plt.title('Laid Off Status by Location')
plt.legend(title='Laid Off')
plt.show()
71
df['Severance Package'].unique()
df.loc[df['Severance Package'] == 'True', 'Severance Package'] = 'Yes'
df.loc[df['Severance Package'] == 'False', 'Severance Package'] = 'No'
df.loc[df['Severance Package'] == 'Severance Package', 'Severance Package'] = 'Yes'
df.loc[df['Severance Package'] == 'None', 'Severance Package'] = 'No'
df['Severance Package'].value_counts()
df['Severance Package'] = df['Severance Package'].fillna(df['Severance
Package'].mode()[0])
df['Laid Off'].value_counts()
cross_tab = pd.crosstab(df['Severance Package'], df['Laid Off'])
cross_tab.plot(kind='bar', stacked=True)
plt.xlabel('Severance Package')
plt.ylabel('Count')
plt.title('Laid Off Status by Severance Package')
plt.legend(title='Laid Off')
plt.show()
df.head()
df['Promotion'].unique()
df.loc[df['Promotion'] == 'Promotion', 'Promotion'] = 'True'
df['Promotion'] = df['Promotion'].fillna(df[df['Promotion'] != np.nan]
['Promotion'].mode()[0])
df['Promotion'].value_counts()
df.drop('Transfer', axis = 1, inplace = True)
df.head()
df['Severance Package'] = df['Severance Package'].map({'Yes' : 1, 'No' : 0})
df['Promotion'] = df['Promotion'].map({'False' : 0, 'True' : 1})
df.head()
df.drop('Layoff Reason', axis=1, inplace = True)
df.head()
df['Department'].unique()
df['Department'].value_counts()
df.loc[df['Department'] == 'Department', 'Department'] = 'Sales'
df['Department'].value_counts()
df[(df['Department'] == 'Engineering') & (df['Job Title'] == 'Software Enginee')]
72
df[df['Department'] == 'Sales']['Job Title'].unique()
list(df[df['Department'] == 'Engineering']['Job Title'].unique())
grouped = df.groupby('Department')['Job Title']
df['Job Title'].value_counts()
len(df['Job Title'].unique())
job_title_laid_off_mean = df.groupby('Job Title')['Laid Off'].mean()
job_title_laid_off_mean.plot(kind='bar')
plt.title('Effect of Job Title on Laid Off')
plt.xlabel('Job Title')
plt.ylabel('Proportion of Laid Off Employees')
plt.xticks(rotation=45)
plt.show()
from sklearn.feature_extraction import FeatureHasher
hasher = FeatureHasher(n_features=10, input_type='string')
job_titles = [[job_title] for job_title in df['Job Title'].astype(str)]
hashed_features = hasher.transform(job_titles)
hashed_df = pd.DataFrame(hashed_features.toarray())
df = pd.concat([df, hashed_df], axis=1)
df.head()
df.isnull().sum()
from sklearn.preprocessing import OneHotEncoder
encoder = OneHotEncoder(sparse=False)
one_hot_encoded = encoder.fit_transform(df[['Department']])
one_hot_df=pd.DataFrame(one_hot_encoded,
columns=encoder.get_feature_names_out(['Department']))
df = pd.concat([df, one_hot_df], axis=1)
df.head()
df.head()
df['Age Range'] = df['Age Range'].fillna(df[df['Age Range'] != np.nan]['Age
Range'].mode()[0])
df.isnull().sum()
df.drop(['Department', 'Job Title'], axis = 1, inplace = True)
location_laid_off_mean = df.groupby('Location')['Laid Off'].mean()
location_laid_off_mean.plot(kind='bar', stacked=True)
73
plt.title('Effect of Location on Laid Off')
plt.xlabel('Location')
plt.ylabel('Proportion of Laid Off Employees')
plt.xticks(rotation=45)
plt.show()
from sklearn.preprocessing import OneHotEncoder
encoder = OneHotEncoder(sparse=False)
one_hot_encoded = encoder.fit_transform(df[['Location']])
one_hot_df=pd.DataFrame(one_hot_encoded,
columns=encoder.get_feature_names_out(['Location']))
df = pd.concat([df, one_hot_df], axis=1)
df.head()
df.drop(['Employee ID', 'Location'], axis = 1, inplace = True)
df.head()
location_laid_off_mean = df.groupby('Promotion')['Laid Off'].mean()
location_laid_off_mean.plot(kind='bar', stacked=True)
plt.title('Effect of Promotion on Laid Off')
plt.xlabel('Promotion')
plt.ylabel('Proportion of Laid Off Employees')
plt.xticks(rotation=45)
plt.show()
df['Laid Off'].value_counts()
from sklearn.utils import resample
majority_class = df[df['Laid Off'] == 0]
minority_class = df[df['Laid Off'] == 1]
minority_upsampled=resample(minority_class,replace=True,n_samples=len(majority
_class), random_state=42)
df_upsampled = pd.concat([majority_class, minority_upsampled])
df_upsampled=df_upsampled.sample(frac=1,random_state=42).reset_index(drop=Tru
e)
df = df_upsampled
df['Laid Off'].value_counts()
df.isnull().sum()
df.info()
74
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
from sklearn.ensemble import RandomForestClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score, classification_report
df.columns = df.columns.astype(str)
'Laid_Off'
X = df.drop(columns=['Laid Off']) # Features
y = df['Laid Off'] # Target variable
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2,
random_state=42)
models = [
('Random Forest', RandomForestClassifier(random_state=42)),
('Logistic Regression', LogisticRegression(random_state=42)),
('Support Vector Machine', SVC(random_state=42))
]
best_model = None
best_accuracy = 0
for model_name, model in models:
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(f"Model: {model_name}, Accuracy: {accuracy}")
if accuracy > best_accuracy:
best_model = model
best_accuracy = accuracy
if best_model is not None:
print("\nBest Model:")
print(best_model)
print("Best Accuracy:", best_accuracy)
print("Classification Report:")
y_pred = best_model.predict(X_test)
75
print(classification_report(y_test, y_pred))
else:
print("No best model found.")
import pickle
with open('best_model.pkl', 'wb') as f:
pickle.dump(best_model, f)
76
6.9.3 REAL TIME JOB SCRAPING
def open_chrome():
options = webdriver.ChromeOptions()
# options.add_argument('--headless') # Consider headless mode if needed
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
return driver
77
# * Parent window
main_window_handle = driver.window_handles[0]
# * Child window
pop_up_window_handle = driver.window_handles[1]
# * switching to pop-up window
driver.switch_to.window(pop_up_window_handle)
password_input.send_keys(password)
time.sleep(2)
password_input.send_keys(Keys.RETURN)
78
# Implement job search logic using appropriate selectors and handling potential
errors
# (use explicit waits and validate user input)
job_input = driver.find_element(By.XPATH, '//*[@id="text-input-what"]')
job_input.send_keys(job_title)
time.sleep(4)
try:
location_input = driver.find_element(By.CSS_SELECTOR, '#text-input-where')
print("location found", location_input)
time.sleep(4)
location_input.send_keys(location)
time.sleep(2)
location_input.send_keys(Keys.RETURN)
except:
print("location not found")
# location_input.send_keys(location)
# time.sleep(2)
# location_input.send_keys(Keys.RETURN)
time.sleep(5)
def extract_job_data(driver):
job_data = []
# Implement scraping logic using appropriate selectors and handling potential
errors
# (consider using WebDriverWait and exception handling)
# time.sleep(10)
jobs = driver.find_elements(By.CLASS_NAME, 'css-5lfssm eu4oa1w0')
print("jobs: ",len(jobs))
for job in jobs:
try:
driver.find_element
79
role = job.find_element(By.TAG_NAME, 'jcs-JobTitle css-jspxzf eu4oa1w0')
company_name = job.find_element(By.CLASS_NAME, 'css-92r8pb
eu4oa1w0')
location = job.find_element(By.CLASS_NAME, 'css-1p0sjhy eu4oa1w0')
print()
print('Job Role: ', role.text)
print('Company Name: ', company_name.text)
print('Job Location: ', location.text)
print()
job_data.append({
'role': role.text,
'company_name': company_name.text,
'location': location.text
})
except Exception as e:
print(f"Error extracting job data: {e}")
return job_data
80
def main():
job_title = input("Enter the job title you want to work in: ")
location = input("Is there any preferred location: ")
username = "devtestm52@gmail.com"
password = "Aviral$123"
driver = open_chrome()
driver.get('https://www.indeed.com')
job_data = extract_job_data(driver)
print("job_data: ",job_data)
if __name__ == "__main__":
main()
81
6.9.4 BACKEND
1. Database Connectivity
exports.connect = () => {
mongoose.connect(process.env.MONGODB_URL)
2. Profile Schema
82
},
contactNumber:{
type: Number,
trim: true
}
});
module.exports = mongoose.model("Profile", profileSchema)
3. User Schema
83
ref: "Profile",
},
image:{
type: String,
},
token:{
type: String,
},
resetPasswordExpires:{
type: Date,
},
accountType:{
type: String,
enum: ["Admin", "Student", "Professional "],
required: true,
},
});
module.exports = mongoose.model("User", userSchema)
4. OTP verification
84
createdAt: {
type:Date,
default:Date.now(),
expires: 5*60,
}
});
85
CHAPTER 7: RESULT AND OUTPUT
7.1 INTRODUCTION:
This section provides a comprehensive overview of the results and output obtained
from our project on placement and layoff prediction using machine learning
algorithms. The analysis encompasses the performance evaluation of three key
classes: placement prediction, layoff prediction, and job management. Through a
series of experiments and performance measures, the efficacy of the employed
machine learning models, including logistic regression, support vector machine
(SVM), and random forest, is thoroughly assessed.
The section begins by presenting sample output images illustrating the predictions for
four distinct scenarios: successful job placements, layoff predictions, job listings
retrieved from external sources, and management information for employees at risk of
layoff. These sample images offer a visual representation of the predictive capabilities
of our system, showcasing its ability to accurately identify potential job opportunities
and anticipate layoff risks.
Following the presentation of sample images, detailed discussions on the CNN model
training experiments and performance measures are provided. Each class, including
placement prediction, layoff prediction, and job management, undergoes rigorous
evaluation to assess the accuracy, precision, recall, and F1-score of the predictions.
Through comprehensive performance analysis, insights into the strengths and
limitations of each machine learning algorithm are gained, facilitating informed
decision-making and model refinement.
Additionally, graphical representations of the predicted class images are presented for
all samples, offering a visual summary of the classification results. These graphical
86
representations aid in the interpretation and understanding of the model's predictions,
enabling stakeholders to identify trends, patterns, and anomalies in the data.
Overall, this section serves as a vital component of our project, providing valuable
insights into the performance and output of our placement and layoff prediction
system. Through meticulous analysis and interpretation of the results, stakeholders
can gain a deeper understanding of the system's predictive capabilities and its
potential impact on workforce management and decision-making processes.
1. Major Subjects:
87
Candidates' involvement in projects provides tangible evidence of their
practical skills and application of theoretical knowledge. The number of
projects completed by candidates, whether academic or extracurricular, serves
as a measure of their hands-on experience and initiative.
5. Internships Experience:
88
Fig 7.2.1: Result of Evaluation of Placement prediction model by different algorithm
1. Department:
2. Job Title:
Employees' job titles provide insights into their roles, responsibilities, and
hierarchical positions within the organization. Job titles may signify varying
levels of job security, with certain roles more susceptible to layoffs due to
restructuring, automation, or outsourcing.
3. Years of Experience:
89
Employees' tenure within the organization is a key factor in layoff prediction.
Longer-serving employees may be perceived as more valuable due to their
institutional knowledge and experience, while newer hires may face greater
uncertainty regarding their job stability.
4. Age of Employee:
Age serves as a proxy for employees' career stage and potential susceptibility
to layoffs. Older employees nearing retirement age may be targeted for layoffs
as part of cost-saving measures or workforce restructuring initiatives.
5. Location:
6. Severance Package:
7. Promotion History:
90
By analysing these features collectively, the layoff prediction model generates insights
into employees' vulnerability to job loss, enabling organizations to proactively
identify
and mitigate layoff risks. Leveraging predictive analytics and data-driven approaches,
the model facilitates informed decision-making in workforce management, succession
planning, and organizational resilience strategies, ultimately minimizing the impact of
layoffs on employees and the organization as a whole.
In the graphical analysis of the placement prediction model, various visualizations are
employed to illustrate the model's performance, predictive capabilities, and key
insights into job placement outcomes. Through visually compelling representations of
data and model predictions, stakeholders gain a deeper understanding of the
placement prediction process and its implications for talent acquisition and workforce
management strategies.
91
92
Fig 7.3.1: Boxplot of Technical and Soft Skills
93
Fig 7.3.4: Bar chart of various rating of soft skills
94
Fig 7.3.5: Histogram of Soft Skills and Technical Skills Merged Together
95
Fig 7.3.7: Distribution Plot of GPA column
96
Fig 7.3.10: Histogram of Transformed GPA column with GPA
97
Fig
98
Fig 7.3.14: Effect of Location on Laid Off Status
Fig 7.3.15:
Effect of Severance Package on Laid Off Status
99
Fig 7.3.16: Bar Representation on Count of Location VS Count of Laid Off
100
Fig 7.3.18: Heatmap of correlation of various features of layoff prediction
101
7.4 USER-FRIENDLY INTERFACE:
This machine learning project enhances employee retention and student placement by
accurately predicting outcomes based on academic and project data. It offers
personalized recommendations for students and identifies potential staff layoffs for
organizations, directing individuals to an educational platform for tailored
professional development. Overall, it optimizes career prospects and fosters
continuous learning in both educational and professional settings.
This section covers the step-wise app procedure visual appearance to help the user to
understand the work. Fig. (6.5.1) displays the front-end of the webapp.
If you don't have an account yet and need to sign up, you'll be directed to the signup
page. Here, you'll usually find a form asking for information such as your name, email
address, password. Fill in the required fields with accurate information.
102
Step 1: Signing Up for a New Account:
If you don't have an account yet and need to sign up, you'll be directed to the signup
page. Here, you'll usually find a form asking for information such as your name, email
address, password. Fill in the required fields with accurate information. Once all
fields are completed, review the information for accuracy and click the Create
Account button to finalize your registration.
Check your email inbox for a verification message from the website. Enter the OTP
sent on the email to confirm your account.
Check your email inbox for a verification message from the website. Enter the OTP
sent on the email to confirm your account.
103
Fig 7.4.3 Verify OTP
104
Figure 7.4.4 Login page
For user support, any inquiries, or suggestions, please visit our Contact Us page.
You'll find various ways to ensure that your concerns are addressed promptly and
efficiently.
105
CHAPTER 8: CONCLUSIONS AND
RECOMMENDATIONS
8.1 CONCLUSION:
In concluding this project, we reflect on the journey that has brought us to the
forefront of talent management innovation. Our endeavour to seamlessly integrate
placement prediction, layoff prediction, and real-time job management functionalities
into a unified platform represents a transformative approach to workforce
optimization and career advancement.
At its core, our project embodies the principles of user empowerment and
technological innovation. From conception to execution, every aspect of the platform
has been meticulously crafted to prioritize user experience and meet the evolving
needs of the modern workforce. By leveraging advanced machine learning algorithms,
an intuitive graphical user interface (GUI), and real-time data integration, we have
created a dynamic ecosystem that enables individuals to take control of their careers
with confidence and clarity.
The project’s workflow is designed for efficiency and ease of use, guiding users
smoothly from start to finish. The intuitive interface makes it simple for both new
graduates seeking placements and experienced professionals dealing with layoffs to
navigate the platform. By offering personalized recommendations and real-time job
listings, we help users make informed career decisions and take advantage of growth
opportunities.
Transformative Innovations:
One of the project's key innovations lies in its ability to seamlessly transition between
placement prediction and layoff prediction functionalities based on user input. By
analysing a diverse range of features, including departmental affiliations, job titles,
experience levels, and geographical locations, our platform provides users with
106
tailored insights into their career trajectories and potential risks. This holistic
approach to talent management enables individuals to navigate the complexities of the
job market with
As we reflect on the project's evolution and impact, it becomes evident that our
platform has the potential to revolutionize talent management and career development
practices. By embracing technological innovation and human-centred design
principles, we tend to create a dynamic ecosystem that empowers individuals to
navigate the complexities of the modern job market with confidence and resilience.
Looking ahead, we remain committed to continuous improvement and innovation,
ensuring that our platform continues to serve as a catalyst for career advancement and
organizational success in the years to come.
8.2 RECOMMENDATIONS:
8.2.2 Dynamic User Interface: Enhance the graphical user interface (GUI) with
interactive elements, personalized dashboards, and intuitive navigation features. A
dynamic and user-friendly interface will enhance user engagement and satisfaction,
facilitating seamless interaction with the platform.
107
8.2.3 Expanded Feature Set: Expand the feature set used for prediction models to
include a broader range of parameters relevant to job placement and layoff risk
assessment. Incorporating factors such as performance metrics, industry certifications,
and networking activities can enhance the predictive power of the models.
108
8.2.10 User Education and Training: Develop user education and training resources
to empower users with the knowledge and skills to effectively leverage the platform's
capabilities. Offering tutorials, webinars, and documentation will enhance user
proficiency and adoption rates.
8.2.11 Diverse Job Listing Sources: Expand the sources of job listings beyond
Indeed to include a diverse range of job boards, recruitment platforms, and company
websites. This will provide users with a comprehensive view of job opportunities and
increase the likelihood of finding relevant positions.
8.2.12 Localized Job Market Insights: Provide localized job market insights and
trends to users based on their geographic location and industry preferences. Tailoring
job recommendations and career guidance to specific regions and sectors will enhance
the relevance and utility of the platform.
8.2.13 Partnerships with Career Services: Forge partnerships with career services
offices at universities, colleges, and vocational institutions to promote the platform as
a valuable resource for students and alumni. Collaborating with career counsellors and
advisors will increase awareness and adoption among the target audience.
109
8.3 CLASSIFICATION REPORT FOR PLACEMENT
PREDICTION
110
8.4 CLASSIFICATION REPORT FOR LAYOFF PREDICTION
111
8.5 TESTING
Business NO NO PASS
Administration,
3.39, 3, 1, N, 0
Marketing, 3.05, 3, NO NO PASS
2, Y, 0
Engineering, NO NO PASS
Software Engineer,
5, 24, Mumbai,
Promotion, Yes
Marketing, Market NO NO PASS
Manager, 10, 33,
Hyderabad, No, No
112
IT, Network YES YES PASS
Administrator, 15,
42, Remote,
Restructuring, Yes
APPENDIX
113
7. Flask: A lightweight web application framework for Python. It is designed to make
getting started with web development quick and easy, with built-in development
server and support for RESTful APIs.
REFERENCES
114
7. Students Placement Prediction using Machine Learning BY C.K. Srinivasa, Nikhil S
Yadav, Pushkar A S, Sundeep K R http://doi.org/10.22214/ijraset.2020.5466
8. Layoffs Analysis and Prediction Using Machine Learning Algorithms Conference
paper | Cite this conference paper: [https://link.springer.com/chapter/10.1007/978-
981-99-7137-4_53#citeas]
9. “Employees recruitment: A prescriptive analytics approach via machine learning and
mathematical programming” BY Dana Pessach, Goner Singer, Dan Avrahami, Erez
Shmueli. https://doi.org/10.1016/j.dss.2020.113290
10. Using machine learning to translate applicant work history into predictors of
performance and turnover.
11. “Predictive Modelling of Employee Turnover in Indian IT Industry Using Machine
Learning Techniques” BY Shikha N. Khera, Divya Volume 23, Issue 1 |
https://doi.org/10.1177/0972262918821221
12. “Predicting employee attrition using tree-based models” BY Nesreen ElRayes,
Ming Fang, Michael Smith, Stephen M. Taylor. Internation Journal of
Organizational Analysis | https://www.emerald.com/insight/publication/issn/1934-
8835
13. “Don't Fire Me, a Kernel Autoregressive Hybrid Model for Optimal Layoff Plan “
BY Ying Li, Jianwri Yin
14. Extractive Text Summarization from Web pages using Selenium Cite | K. U.
Manjari, S. Rousha, D. Sumanth and J. Sirisha Devi, "Extractive Text
Summarization from Web pages using Selenium and TF-IDF algorithm,"
15. An Improving Approach for Fast Web Scrapping Using Machine Learning and
Selenium Automation International Journal of Advanced Research in Computer
Engineering & Technology (IJARCET)
16. “An Approach of Automated Testing on Web Based Platform Using Machine
Learning and Selenium” BY Nicey Paul, Robin Tommy
115
PLAGIARISM REPORT
116
CONTACT DETAILS
117