Product Review & Analysis For Rating Machine Learning

Download as pdf or txt
Download as pdf or txt
You are on page 1of 85

PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

ABSTRACT

Sentiment Analysis also known as Opinion Mining refers to the use of natural language
processing, text analysis to systematically identify, extract, quantify, and study affective states
and subjective information. Sentiment analysis is widely applied to reviews and survey
responses, online and social media, and healthcare materials for applications that range from
marketing to customer service to clinical medicine. In this project, we aim to perform Sentiment
Analysis of product based reviews. Data used in this project are online product reviews collected
from “amazon.com”. We expect to do review-level categorization of review data with promising
outcomes.

In the realm of e-commerce and digital platforms, accurate product review analysis is pivotal for
enhancing consumer experience and making data-driven decisions. This paper presents a
comprehensive examination of a machine learning system designed for analyzing and rating
product reviews. The system leverages advanced natural language processing (NLP) techniques
and machine learning algorithms to categorize, score, and synthesize user-generated content.

Our approach employs a multi-layered framework combining sentiment analysis, topic modeling,
and predictive analytics. The sentiment analysis module utilizes deep learning models such as
BERT (Bidirectional Encoder Representations from Transformers) to assess the emotional tone
of reviews, distinguishing between positive, negative, and neutral sentiments with high accuracy.
Topic modeling, powered by Latent Dirichlet Allocation (LDA), identifies key themes and issues
discussed in the reviews, providing insights into customer preferences and pain points.

Predictive analytics is applied to forecast future product ratings based on historical review data,
incorporating factors like review volume, reviewer credibility, and temporal patterns. The system
is trained and validated on a diverse dataset encompassing various product categories to ensure
generalizability and robustness.

Evaluation metrics, including precision, recall, and F1-score, demonstrate the system's efficacy
in capturing the nuanced sentiment of reviews and generating reliable ratings. User feedback and
case studies illustrate the practical benefits and potential limitations of the system in real-world
scenarios.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 1


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

1. INTRODUCTION

Sentiment is an attitude, thought, or judgment prompted by feeling. Sentiment analysis, which is


also known as opinion mining, studies people’s sentiments towards certain entities. From a
user’s perspective, people are able to post their own content through various social media, such
as forums, micro-blogs, or online social networking sites. From a researcher’s perspective, many
social media sites release their application programming interfaces (APIs), prompting data
collection and analysis by researchers and developers. However, those types of online data have
several flaws that potentially hinder the process of sentiment analysis. The first flaw is that since
people can freely post their own content, the quality of their opinions cannot be guaranteed. he
second flaw is that ground truth of such online data is not always available. A ground truth is
more like a tag of a certain opinion, indicating whether the opinion is positive, negative, or
neutral.

In the digital age, consumer reviews have become a cornerstone of e-commerce, significantly
influencing purchasing decisions and shaping brand reputations. As the volume of user-generated
content on online platforms grows exponentially, the need for effective tools to analyze and
interpret this data has never been greater. Traditional methods of review analysis are often labor-
intensive and limited in scope, prompting the development of automated systems that leverage
machine learning (ML) and natural language processing (NLP) to streamline and enhance this
process.

The primary challenge in product review analysis lies in extracting actionable insights from
unstructured text. Reviews can vary widely in language, tone, and content, making it difficult to
assess sentiments and identify trends using conventional methods. Machine learning offers a
promising solution by enabling the automatic classification, sentiment evaluation, and
summarization of reviews at scale.

This paper explores the implementation of a machine learning system designed to analyze and
rate product reviews. Our approach integrates several advanced techniques to address the
complexity of review data:

1. Sentiment Analysis: Employing sophisticated NLP models such as BERT (Bidirectional


Encoder Representations from Transformers), the system assesses the sentiment

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 2


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

expressed in reviews. This includes distinguishing between positive, negative, and neutral
sentiments, as well as understanding subtle nuances and contextual variations in
language.

2. Topic Modeling: Using algorithms like Latent Dirichlet Allocation (LDA), the system
identifies key themes and topics within the reviews. This helps in uncovering common
concerns or praises related to products, thus providing deeper insights into customer
experiences.

3. Predictive Analytics: The system forecasts future product ratings based on historical
review data. This involves analyzing patterns in review volume, reviewer credibility, and
temporal changes to predict how product ratings might evolve over time.

The motivation behind this research stems from the need for a more scalable, efficient, and
accurate method of processing and interpreting large volumes of review data. By leveraging
machine learning, we aim to provide a tool that not only enhances the accuracy of sentiment and
thematic analysis but also offers predictive capabilities that can inform strategic business
decisions.

The following sections will delve into the methodologies employed, the design and
implementation of the system, and the evaluation of its performance. By comparing the machine
learning approach with traditional review analysis methods, we aim to highlight the advantages
and potential limitations of automated systems in the context of consumer feedback.

This introduction sets the stage for discussing the machine learning system's development and
application, emphasizing the challenges in traditional review analysis and the benefits of
employing advanced ML techniques.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 3


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

2. PROBLEM STATEMENT

In the contemporary digital marketplace, product reviews are a critical source of feedback that
significantly impacts consumer decision-making and product development. However, the sheer
volume and diversity of these reviews present a substantial challenge for manual analysis.
Traditional methods for evaluating and synthesizing review data are often labor-intensive, time-
consuming, and prone to inconsistencies.

The primary problem addressed in this study is the inefficiency and limitations of existing review
analysis approaches, which struggle to handle the scale and complexity of large datasets.
Specifically, the key issues include:

1. Scalability: Manual review analysis cannot keep pace with the rapidly growing volume
of reviews, making it impractical to extract meaningful insights from large datasets.

2. Sentiment Classification: Accurately determining the sentiment of reviews—whether


positive, negative, or neutral—requires sophisticated understanding of context and
nuance, which is challenging for traditional methods.

3. Thematic Extraction: Identifying and categorizing recurring themes or issues within


reviews is difficult without automated tools, leading to incomplete or superficial
understanding of consumer concerns and preferences.

4. Predictive Insights: Forecasting future product ratings and trends based on historical
review data is complex and often inaccurate using conventional techniques.

The goal of this research is to develop a machine learning-based system that addresses these
problems by automating the process of review analysis. The system aims to:

1. Enhance Scalability: Efficiently process and analyze large volumes of review data to
provide timely and comprehensive insights.

2. Improve Sentiment Analysis: Utilize advanced NLP techniques to accurately classify


the sentiment of reviews, capturing subtle differences and contextual nuances.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 4


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

3. Extract Key Themes: Employ topic modeling algorithms to identify and summarize
major themes and issues from review data, offering actionable insights into consumer
experiences.

4. Provide Predictive Analytics: Forecast future product ratings and trends by analyzing
patterns in historical review data, helping businesses make informed decisions.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 5


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

3. LITERATURE SURVEY

The analysis of product reviews through machine learning has garnered significant attention in
recent years due to the increasing volume of user-generated content on e-commerce platforms.
This survey reviews the key contributions in this area, focusing on methodologies,
advancements, and challenges.

1. Sentiment Analysis

Early Approaches: Traditional sentiment analysis techniques, such as rule-based systems and
basic machine learning algorithms, were commonly employed in the early studies. For instance,
[Pang et al. (2002)] explored sentiment classification using Naive Bayes, Maximum Entropy,
and Support Vector Machines (SVM) with bag-of-words features. These methods provided
foundational insights but struggled with the complexity and variability of natural language.

Advancements in Deep Learning: More recent research has shifted towards deep learning
approaches to capture contextual nuances. [Kim (2014)] introduced Convolutional Neural
Networks (CNNs) for sentiment classification, demonstrating improved performance over
traditional methods. Further advancements include [Devlin et al. (2018)]’s work on BERT
(Bidirectional Encoder Representations from Transformers), which significantly enhanced
sentiment classification accuracy by leveraging bidirectional context and pre-trained language
models.

2. Topic Modeling

Latent Dirichlet Allocation (LDA): LDA, introduced by [Blei et al. (2003)], remains a popular
method for extracting themes from large text corpora. [Blei et al. (2003)] demonstrated LDA’s
effectiveness in uncovering latent topics in review data. Subsequent research has applied LDA to
analyze product reviews, revealing insights into consumer preferences and concerns.

Enhanced Techniques: More sophisticated approaches have emerged, including [Blei and
Lafferty (2007)]’s Correlated Topic Model (CTM) and [Chuang et al. (2012)]’s Dynamic Topic
Models, which address limitations in capturing temporal and contextual variations in topics.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 6


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

3. Predictive Analytics

Historical Data Analysis: Early work in predictive analytics focused on correlating historical
review data with future sales or ratings. [Manning et al. (2008)] explored methods for time-series
analysis to predict trends based on review volume and sentiment.

Recent Innovations: More recent studies have incorporated advanced machine learning
techniques, such as ensemble methods and recurrent neural networks (RNNs). [Zhao et al.
(2018)] applied Long Short-Term Memory (LSTM) networks to predict product ratings by
capturing temporal dependencies in review data. Their work demonstrated improved accuracy in
forecasting compared to traditional methods.

4. Challenges and Limitations

Contextual Understanding: Despite advances, understanding context and sarcasm in reviews


remains challenging. [Xu et al. (2018)] discussed the limitations of existing models in
interpreting nuanced expressions and proposed methods to integrate external knowledge bases to
enhance context understanding.

Data Imbalance and Bias: Many studies, such as [Joulin et al. (2017)], have highlighted issues
related to data imbalance and bias in review datasets, which can impact the performance of
machine learning models. Approaches to address these issues include data augmentation
techniques and bias mitigation strategies.

5. Gaps and Future Directions

Integration of Multimodal Data: There is a growing interest in integrating text reviews with
other types of data, such as images and metadata. Recent work by [Chen et al. (2020)] suggests
that combining textual and visual information can provide richer insights and improve the
accuracy of review analysis systems.

Explainability and Interpretability: As machine learning models become more complex, there
is a need for explainability and interpretability. Research by [Ribeiro et al. (2016)] emphasizes
the importance of understanding model decisions, which is crucial for trust and transparency in
automated review analysis systems.

Scalability and Efficiency: While current models have made significant strides, scalability and
computational efficiency remain areas for improvement. Approaches such as [Strubell et al.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 7


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

(2019)]’s work on reducing the computational costs of training large language models are crucial
for making these systems more accessible and practical.

This literature survey provides a comprehensive overview of the key advancements and ongoing
challenges in the field of product review analysis using machine learning. It highlights the
evolution of techniques and identifies areas where further research is needed to enhance the
effectiveness and applicability of automated review analysis systems.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 8


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

4. SYSTEM ANALYSIS AND DESIGN

4.1 EXISTING SYSTEM

The existing systems for product review analysis focused on rating machine learning systems
typically leverage a combination of techniques from natural language processing (NLP),
sentiment analysis, and machine learning itself.

Here’s an overview of the existing approaches and systems used in this domain:

1. Data Collection and Preprocessing:

 Data Sources: Reviews are collected from various sources including online platforms
(e.g., Amazon, Google Play Store), social media (e.g., Twitter, Reddit), forums (e.g.,
Stack Overflow), and specialized review websites.

 Preprocessing: Text data undergoes preprocessing steps such as tokenization, stop-


word removal, stemming/lemmatization, and sometimes entity recognition to prepare
it for analysis.

2. Sentiment Analysis:

 Sentiment Classification: Techniques such as supervised learning (using labeled


datasets) or unsupervised learning (using techniques like VADER) are applied to
classify reviews into positive, negative, or neutral sentiments.

 Aspect-Based Sentiment Analysis: Identifying specific aspects or features


mentioned in reviews (e.g., accuracy, ease of use) and analyzing sentiment towards
each aspect individually.

3. Feature Extraction and Opinion Mining:

 Feature Extraction: Identifying key features or attributes mentioned in reviews that


are important for evaluating machine learning systems (e.g., accuracy, scalability,
support).

 Opinion Mining: Analyzing the opinions expressed towards these features to


understand strengths and weaknesses from the user perspective.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 9


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

4. Rating and Ranking Systems:

 Quantitative Ratings: Algorithms are used to aggregate sentiment scores and feature
evaluations into overall ratings or scores for each machine learning system.

 Ranking: Systems may be ranked based on their overall scores, user satisfaction
levels, or specific feature performance across different use cases.

5. Machine Learning Models and Techniques:

 Supervised Learning: Training classifiers to predict sentiment labels


(positive/negative/neutral) or to categorize reviews based on specific aspects.

 Unsupervised Learning: Clustering techniques to group reviews into categories


based on similarity in sentiment or topic.

 Deep Learning: Utilizing neural networks for tasks such as sentiment analysis or
aspect-based sentiment analysis, leveraging models like LSTM, BERT, or
Transformer-based architectures.

6. Visualization and Reporting:

 Dashboard and Reports: Visualizing insights and findings through dashboards,


graphs, and reports to facilitate easy interpretation and decision-making.

7. Tools and Platforms:

 Commercial Tools: Companies offer specialized tools and platforms (e.g.,


Semantria, Lexalytics) that provide sentiment analysis and opinion mining
capabilities tailored for product review analysis.

 Open-Source Libraries: Utilizing libraries like NLTK, spaCy, Scikit-learn for NLP
tasks, and TensorFlow or PyTorch for machine learning models.

8. Benchmarking and Comparison:

 Comparative Analysis: Conducting comparative studies to benchmark different


machine learning systems against each other based on user feedback and technical
evaluations.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 10


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

4.2 PROPOSED SYSTEM

1. Overview

The proposed system is a comprehensive machine learning-based solution designed to automate


the analysis of product reviews, classify sentiment, extract key themes, and predict future ratings.
This system integrates advanced natural language processing (NLP) and machine learning
techniques to provide actionable insights from user-generated content.

2. System Components

2.1 Data Collection and Integration

 Data Sources: Integrate with various e-commerce platforms (e.g., Amazon, eBay) and
review aggregators to collect product reviews. Use APIs or web scraping tools to gather
data.

 Data Storage: Store collected data in a scalable database (e.g., AWS RDS, Google
Cloud SQL, MongoDB) to facilitate easy retrieval and processing.

2.2 Data Preprocessing

 Text Cleaning: Implement preprocessing steps to remove irrelevant content, special


characters, and normalize text (e.g., lowercasing, stemming, and lemmatization).

 Tokenization: Split reviews into individual tokens or words using NLP libraries (e.g.,
NLTK, SpaCy).

 Feature Extraction: Convert text into numerical features using methods such as TF-IDF
or word embeddings (e.g., Word2Vec, GloVe, BERT embeddings).

2.3 Sentiment Analysis

 Model Selection: Use advanced NLP models like BERT (Bidirectional Encoder
Representations from Transformers) or RoBERTa (A Robustly Optimized BERT
Pretraining Approach) for sentiment classification.

 Training: Fine-tune pre-trained models on labeled sentiment datasets to enhance


accuracy in understanding sentiment nuances.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 11


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

 Evaluation: Measure performance using metrics such as accuracy, precision, recall, and
F1-score to ensure high-quality sentiment classification.

2.4 Theme Extraction

 Topic Modeling: Apply Latent Dirichlet Allocation (LDA) or BERTopic to identify and
extract themes and topics from reviews.

 Customization: Tailor models to recognize industry-specific terminology and context.

 Evaluation: Assess theme coherence and relevance using metrics like topic coherence
scores and user feedback.

2.5 Rating Prediction

 Model Selection: Use regression models (e.g., Linear Regression, Random Forest
Regressor) or time-series forecasting models (e.g., LSTM) to predict future product
ratings based on historical review data.

 Training: Train models on historical review ratings and time-series data to capture trends
and patterns.

 Evaluation: Evaluate prediction accuracy using metrics such as Mean Absolute Error
(MAE) and Root Mean Squared Error (RMSE).

2.6 User Interface and Visualization

 Dashboard: Develop an interactive web-based dashboard using frameworks like React


or Angular to display analysis results.

 Visualization Tools: Implement charts, graphs, and tables to present sentiment trends,
key themes, and predicted ratings. Use libraries like D3.js or Chart.js for visualization.

 Interactivity: Provide filtering and search functionalities to allow users to explore and
analyze reviews and ratings dynamically.

3. System Architecture

3.1 Data Pipeline

 Data Ingestion: Collect and ingest data into the storage system.

 Preprocessing Pipeline: Apply preprocessing steps to clean and prepare text data.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 12


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

 Feature Extraction: Convert text data into features suitable for model training and
analysis.

3.2 Machine Learning Models

 Sentiment Analysis Module: Use pre-trained and fine-tuned models to classify review
sentiment.

 Theme Extraction Module: Deploy topic modeling techniques to identify themes and
topics.

 Rating Prediction Module: Implement regression or time-series models to forecast


ratings.

3.3 Integration Layer

 API Integration: Develop APIs for integrating machine learning models with the user
interface and other systems.

 Data Integration: Ensure seamless integration with data sources and storage systems.

3.4 User Interface

 Frontend Development: Build a user-friendly interface to present analysis results and


insights.

 Backend Development: Develop backend services to handle data processing, model


inference, and integration with the frontend.

4. Implementation Plan

4.1 Development Phases

 Phase 1: Data Collection and Preprocessing: Set up data collection mechanisms and
develop preprocessing pipelines.

 Phase 2: Model Development: Train and fine-tune machine learning models for
sentiment analysis, theme extraction, and rating prediction.

 Phase 3: User Interface Development: Create and test the user interface and
visualization tools.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 13


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

 Phase 4: Integration and Testing: Integrate all components, conduct system testing, and
refine based on feedback.

4.2 Deployment

 Hosting: Deploy the system on a cloud platform (e.g., AWS, Azure, Google Cloud) for
scalability and reliability.

 Monitoring: Implement monitoring tools to track system performance and handle any
issues.

 Maintenance: Regularly update models and system components to adapt to new data and
user requirements.

5. Evaluation

5.1 Model Performance:

 Sentiment Analysis: Evaluate model accuracy, precision, recall, and F1-score.

 Theme Extraction: Assess topic coherence and relevance.

 Rating Prediction: Measure prediction accuracy using MAE and RMSE.

5.2 System Performance:

 Scalability: Test the system's ability to handle increasing data volumes.

 Response Time: Measure and optimize system response times.

 User Feedback: Gather feedback from users to assess system effectiveness and usability.

6. Future Enhancements

 Enhanced NLP Techniques: Explore newer models and techniques to improve


sentiment analysis and theme extraction.

 Multimodal Integration: Integrate additional data types (e.g., images, metadata) for a
richer analysis.

 Real-Time Processing: Implement real-time analysis capabilities for immediate insights.

 Explainability: Develop methods to improve the interpretability of machine learning


models.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 14


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

5. HARDWARE & SOFTWARE REQUIREMENTS

5.1MINIMUM REQUIREMENTS:

 OS - Windows 10 and above

 Primary Memory (RAM) - 2GB

 Secondary Memory (Hard Disk)- 80GB

 Monitor

 Keyboard

 Mouse

5.2 HARDWARE REQUIREMENTS:

 Processor : I3 8th Generation

 Primary Memory (RAM) : 8GB

 Secondary Memory (Hard Disk) : 500GB

 Monitor

 Keyboard

 Mouse

5.3SOFTWARE SPECIFICATION

 Operating System : Windows 10

 Technology : flask

 Coding Language : Python

 Front End Tool : Sublime Text

 Front End Language : HTML 5.0

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 15


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

6. SYSTEM PLANNING

System Planning for Product Review Analysis and Rating Machine Learning System

1. Project Scope

1.1 Objectives:

 Sentiment Analysis: Classify product reviews into positive, negative, or neutral


categories.

 Theme Extraction: Identify and categorize key themes and topics from reviews.

 Rating Prediction: Predict future product ratings based on historical review data.

 User Interface: Provide an interactive dashboard for visualizing and exploring the
analysis results.

1.2 Deliverables:

 Data Collection Module: Tools for gathering and storing product reviews.

 Preprocessing Pipeline: Systems for cleaning and preparing text data.

 Machine Learning Models: Trained models for sentiment analysis, theme extraction,
and rating prediction.

 User Interface: A web-based dashboard for displaying insights and predictions.

 Documentation: Comprehensive documentation for users and developers.

2. Timeline

2.1 Phases and Milestones:

 Phase 1: Planning and Design (Weeks 1-4)

o Week 1: Define project objectives and requirements.

o Week 2: Design system architecture and data pipeline.

o Week 3: Select and finalize machine learning models and tools.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 16


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

o Week 4: Prepare detailed project plan and timeline.

 Phase 2: Data Collection and Preprocessing (Weeks 5-8)

o Week 5: Develop and deploy data collection tools.

o Week 6: Set up data storage solutions.

o Week 7: Implement text preprocessing pipelines.

o Week 8: Validate and test data preprocessing workflows.

 Phase 3: Model Development (Weeks 9-14)

o Week 9: Train and fine-tune sentiment analysis models.

o Week 10: Develop and validate theme extraction models.

o Week 11: Implement and test rating prediction models.

o Week 12: Integrate models with data processing pipelines.

o Week 13-14: Conduct performance evaluation and model optimization.

 Phase 4: User Interface Development (Weeks 15-18)

o Week 15: Design user interface and dashboard layout.

o Week 16: Develop frontend components and visualization tools.

o Week 17: Integrate frontend with backend services and machine learning models.

o Week 18: Conduct usability testing and interface refinement.

 Phase 5: Integration and Testing (Weeks 19-22)

o Week 19: Integrate all system components (data collection, preprocessing,


models, UI).

o Week 20: Perform system integration testing and fix issues.

o Week 21: Conduct user acceptance testing with real data and feedback.

o Week 22: Finalize and document system functionality and performance.

 Phase 6: Deployment and Maintenance (Weeks 23-26)

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 17


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

o Week 23: Deploy the system to production environment (cloud or on-premises).

o Week 24: Set up monitoring tools and performance tracking.

o Week 25: Provide user training and support.

o Week 26: Begin regular maintenance and updates based on user feedback and
system performance.

3. Resource Allocation

3.1 Team Roles:

 Project Manager: Oversees project progress, timelines, and coordination.

 Data Scientists: Develop and train machine learning models for sentiment analysis,
theme extraction, and rating prediction.

 Data Engineers: Build and maintain data pipelines, handle data preprocessing, and
ensure data integrity.

 Software Developers: Develop and integrate system components, including the user
interface and backend services.

 UI/UX Designers: Design and create user interface elements and ensure usability.

 QA Testers: Perform testing to ensure system reliability, accuracy, and performance.

3.2 Tools and Technologies:

 Machine Learning Frameworks:TensorFlow, PyTorch, Scikit-Learn.

 Data Storage Solutions: AWS RDS, Google Cloud SQL, MongoDB.

 Data Processing Libraries: NLTK, SpaCy, Pandas.

 User Interface: React, Angular, D3.js, Chart.js.

 Deployment Platforms: AWS, Azure, Google Cloud.

 Monitoring Tools: Prometheus, Grafana, CloudWatch.

4. Risk Management

4.1 Risk Identification:

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 18


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

 Data Quality Issues: Inaccurate or incomplete data could impact model performance.

 Model Performance: Models may not meet expected accuracy or may require extensive
tuning.

 Integration Challenges: Difficulty in integrating different system components or third-


party services.

 Resource Constraints: Limited availability of skilled resources or delays in deliverables.

4.2 Mitigation Strategies:

 Data Quality: Implement robust data validation and cleaning processes.

 Model Performance: Regularly evaluate and tune models; use cross-validation and
ensemble techniques.

 Integration: Plan for incremental integration and thorough testing of interfaces and
services.

 Resource Management: Ensure adequate resource allocation and have contingency


plans for skill shortages or delays.

5. Budget and Cost Management

5.1 Budget Estimation:

 Personnel Costs: Salaries for project team members (data scientists, engineers,
developers, designers).

 Technology Costs: Expenses for cloud services, software licenses, and development
tools.

 Operational Costs: Costs for data storage, computing resources, and ongoing
maintenance.

5.2 Cost Management:

 Tracking: Monitor project expenses and ensure they align with the budget.

 Reporting: Provide regular budget reports and adjust forecasts based on project progress.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 19


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

7. IMPLEMENTATION

Python:

Python is widely used for machine learning due to its extensive libraries and ease of use.

R:

R is also popular in data science and has comprehensive packages for statistical modeling
and visualization.

Python WithDjango

Django is a web development framework that assists in building and maintaining quality web
applications. Django helps eliminate repetitive tasks making the development process an easy
and time saving experience. This tutorial gives a complete understanding of Django.

Django is a high-level Python web framework that encourages rapid development and clean,
pragmatic design. Django makes it easier to build better web apps quickly and with less
code.

Note − Django is a registered trademark of the Django Software Foundation, and is licensed
under BSD License.

History of Django

 2003 − Started by Adrian Holovaty and Simon Willison as an internal project at the
Lawrence Journal-World newspaper.

 2005 − Released July 2005 and named it Django, after the jazz guitarist Django
Reinhardt.

 2005 − Mature enough to handle several high-traffic sites.

 Current − Django is now an open source project with contributors across the world.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 20


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

Django – Design Philosophies

Django comes with the following design philosophies −

 Loosely Coupled − Django aims to make each element of its stack independent of
the others.

 Less Coding − Less code so in turn a quick development.

 Don't Repeat Yourself (DRY) − Everything should be developed only in exactly


one place instead of repeating it again and again.

 Fast Development − Django's philosophy is to do all it can to facilitate hyper-fast


development.

 Clean Design − Django strictly maintains a clean design throughout its own code
and makes it easy to follow best web-development practices.

Advantages of Django

Here are few advantages of using Django which can be listed out here −

 Object-Relational Mapping (ORM) Support − Django provides a bridge between


the data model and the database engine, and supports a large set of database systems
including MySQL, Oracle, Postgres, etc. Django also supports NoSQL database
through Django-nonrel fork. For now, the only NoSQL databases supported are
MongoDB and google app engine.

 Multilingual Support − Django supports multilingual websites through its built-in


internationalization system. So you can develop your website, which would support
multiple languages.

 Framework Support − Django has built-in support for Ajax, RSS, Caching and
various other frameworks.

 Administration GUI − Django provides a nice ready-to-use user interface for


administrative activities.

 Development Environment − Django comes with a lightweight web server to


facilitate end-to-end application development and testing.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 21


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

As you already know, Django is a Python web framework. And like most modern
framework, Django supports the MVC pattern. First let's see what is the Model-View-
Controller (MVC) pattern, and then we will look at Django’s specificity for the Model-
View-Template (MVT) pattern.

MVC Pattern

When talking about applications that provides UI (web or desktop), we usually talk about
MVC architecture. And as the name suggests, MVC pattern is based on three
components: Model, View, and Controller. Check our MVC tutorial here to know more.

DJANGO MVC - MVT Pattern

The Model-View-Template (MVT) is slightly different from MVC. In fact the main
difference between the two patterns is that Django itself takes care of the Controller part
(Software Code that controls the interactions between the Model and View), leaving us
with the template. The template is a HTML file mixed with Django Template Language
(DTL).

The following diagram illustrates how each of the components of the MVT pattern
interacts with each other to serve a user request −

The developer provides the Model, the view and the template then just maps it to a URL
and Django does the magic to serve it to the user.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 22


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

Django development environment consists of installing and setting up Python, Django,


and a Database System. Since Django deals with web application, it's worth mentioning
that you would need a web server setup as well.

Step 1 – Installing Python

Django is written in 100% pure Python code, so you'll need to install Python on your
system. Latest Django version requires Python 2.6.5 or higher

If you're on one of the latest Linux or Mac OS X distribution, you probably already have
Python installed. You can verify it by typing python command at a command prompt. If
you see something like this, then Python is installed.

$ python

Python 2.7.5 (default, Jun 17 2014, 18:11:42)

[GCC 4.8.2 20140120 (Red Hat 4.8.2-16)] on linux2

Otherwise, you can download and install the latest version of Python from the
link http://www.python.org/download.

Step 2 - Installing Django

Installing Django is very easy, but the steps required for its installation depends on your
operating system. Since Python is a platform-independent language, Django has one
package that works everywhere regardless of your operating system.

You can download the latest version of Django from the


link http://www.djangoproject.com/download.

UNIX/Linux and Mac OS X Installation

You have two ways of installing Django if you are running Linux or Mac OS system −

 You can use the package manager of your OS, or use easy_install or pip if
installed.
 Install it manually using the official archive you downloaded before.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 23


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

We will cover the second option as the first one depends on your OS distribution. If you
have decided to follow the first option, just be careful about the version of Django you
are installing.

Let's say you got your archive from the link above, it should be something like Django-
x.xx.tar.gz:

Extract and install.

$ tar xzvf Django-x.xx.tar.gz

$ cdDjango-x.xx

$ sudo python setup.py install

You can test your installation by running this command −

$ django-admin.py --version

If you see the current version of Django printed on the screen, then everything is set.

Note − For some version of Django it will be django-admin the ".py" is removed.

Windows Installation

We assume you have your Django archive and python installed on your computer.

First, PATH verification.

On some version of windows (windows 7) you might need to make sure the Path system
variable has the path the following C:\Python34\;C:\Python34\Lib\site-packages\django\
bin\ in it, of course depending on your Python version.

Then, extract and install Django.

c:\>cd c:\Django-x.xx

Next, install Django by running the following command for which you will need
administrative privileges in windows shell "cmd" −

c:\Django-x.xx>python setup.py install

To test your installation, open a command prompt and type the following command −

c:\>python -c "import django; print(django.get_version())"

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 24


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

If you see the current version of Django printed on screen, then everything is set.

OR

Launch a "cmd" prompt and type python then −

c:\> python

>>> import django

>>>django.VERSION

Step 3 – Database Setup

Django supports several major database engines and you can set up any of them based on
your comfort.

 MySQL (http://www.mysql.com/)

 PostgreSQL (http://www.postgresql.org/)

 SQLite 3 (http://www.sqlite.org/)

 Oracle (http://www.oracle.com/)

 MongoDb (https://django-mongodb-engine.readthedocs.org)

 GoogleAppEngine Datastore (https://cloud.google.com/appengine/articles/django-


nonrel)

You can refer to respective documentation to installing and configuring a database of


your choice.

Note − Number 5 and 6 are NoSQL databases.

Step 4 – Web Server

Django comes with a lightweight web server for developing and testing applications.
This server is pre-configured to work with Django, and more importantly, it restarts
whenever you modify the code.

However, Django does support Apache and other popular web servers such as Lighttpd.
We will discuss both the approaches in coming chapters while working with different
examples.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 25


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

Now that we have a working view as explained in the previous chapters. We want to
access that view via a URL. Django has his own way for URL mapping and it's done by
editing your project url.py file (myproject/url.py). The url.py file looks like −

fromdjango.conf.urlsimportpatterns,include,url

fromdjango.contribimport admin

admin.autodiscover()

urlpatterns= patterns('',

#Examples

#url(‘$', 'myproject.view.home', name = 'home'),

#url(‘blog/', include('blog.urls')),

url(‘admin', include(admin.site.urls)),

When a user makes a request for a page on your web app, Django controller takes over to
look for the corresponding view via the url.py file, and then return the HTML response
or a 404 not found error, if not found. In url.py, the most important thing is
the "urlpatterns" tuple. It’s where you define the mapping between URLs and views. A
mapping is a tuple in URL patterns like −

fromdjango.conf.urlsimportpatterns,include,url

fromdjango.contribimport admin

admin.autodiscover()

urlpatterns= patterns('',

#Examples

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 26


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

#url(‘$', 'myproject.view.home', name = 'home'),

#url(‘blog/', include('blog.urls')),

url(‘admin', include(admin.site.urls)),

url(‘hello/','myapp.views.hello', name ='hello'),

The marked line maps the URL "/home" to the hello view created in myapp/view.py file.
As you can see above a mapping is composed of three elements −

 The pattern − A regexp matching the URL you want to be resolved and map.
Everything that can work with the python 're' module is eligible for the pattern
(useful when you want to pass parameters via url).

 The python path to the view − Same as when you are importing a module.

 The name − In order to perform URL reversing, you’ll need to use named URL
patterns as done in the examples above. Once done, just start the server to access
your view via :http://127.0.0.1/hello

Organizing Your URLs

So far, we have created the URLs in “myprojects/url.py” file, however as stated earlier
about Django and creating an app, the best point was to be able to reuse applications in
different projects. You can easily see what the problem is, if you are saving all your
URLs in the “projecturl.py” file. So best practice is to create an “url.py” per application
and to include it in our main projects url.py file (we included admin URLs for admin
interface before).

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 27


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

How is it Done?

We need to create an url.py file in myapp using the following code −

fromdjango.conf.urlsimportpatterns,include,url

urlpatterns= patterns('',url(‘hello/','myapp.views.hello', name ='hello'),)

Then myproject/url.py will change to the following −

fromdjango.conf.urlsimportpatterns,include,url

fromdjango.contribimport admin

admin.autodiscover()

urlpatterns= patterns('',

#Examples

#url(‘$', 'myproject.view.home', name = 'home'),

#url(‘blog/', include('blog.urls')),

url(‘admin', include(admin.site.urls)),

url(‘myapp/', include('myapp.urls')),

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 28


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

We have included all URLs from myapp application. The home.html that was accessed
through “/hello” is now “/myapp/hello” which is a better and more understandable
structure for the web app.

Now let's imagine we have another view in myapp “morning” and we want to map it in
myapp/url.py, we will then change our myapp/url.py to −

fromdjango.conf.urlsimportpatterns,include,url

urlpatterns= patterns('',

url(‘hello/','myapp.views.hello', name ='hello'),

url(‘morning/','myapp.views.morning', name ='morning'),

This can be re-factored to −

fromdjango.conf.urlsimportpatterns,include,url

urlpatterns= patterns('myapp.views',

url(‘hello/','hello', name ='hello'),

url(‘morning/','morning', name ='morning'),)

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 29


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

As you can see, we now use the first element of our urlpatterns tuple. This can be useful
when you want to change your app name.

Django makes it possible to separate python and HTML, the python goes in views and
HTML goes in templates. To link the two, Django relies on the render function and the
Django Template language.

The Render Function

This function takes three parameters −

 Request − The initial request.


 The path to the template − This is the path relative to the TEMPLATE_DIRS
option in the project settings.py variables.
 Dictionary of parameters − A dictionary that contains all variables needed in
the template. This variable can be created or you can use locals() to pass all local
variable declared in the view.

Django Template Language (DTL)

Django’s template engine offers a mini-language to define the user-facing layer of the
application.

Displaying Variables

A variable looks like this: {{variable}}. The template replaces the variable by the
variable sent by the view in the third parameter of the render function. Let's change our
hello.html to display today’s date −

hello.html

<html>

<body>

Hello World!!!<p>Today is {{today}}</p>

</body>

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 30


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

</html>

Then our view will change to −

def hello(request):

today=datetime.datetime.now().date()

return render(request,"hello.html",{"today": today})

We will now get the following output after accessing the URL/myapp/hello −

Hello World!!!

Today is Sept. 11, 2015

As you have probably noticed, if the variable is not a string, Django will use the __str__
method to display it; and with the same principle you can access an object attribute just
like you do it in Python. For example: if we wanted to display the date year, my variable
would be: {{today.year}}.

Filters

They help you modify variables at display time. Filters structure looks like the following:
{{var|filters}}.

Some examples −

 {{string|truncatewords:80}} − This filter will truncate the string, so you will see
only the first 80 words.
 {{string|lower}} − Converts the string to lowercase.
 {{string|escape|linebreaks}} − Escapes string contents, then converts line breaks
to tags.

You can also set the default for a variable.

Tags

Tags lets you perform the following operations: if condition, for loop, template
inheritance and more.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 31


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

Tag if

Just like in Python you can use if, else and elif in your template −

<html>

<body>

Hello World!!!<p>Today is {{today}}</p>

We are

{% if today.day == 1 %}

the first day of month.

{% eliftoday.day == 30 %}

the last day of month.

{% else %}

I don't know.

{%endif%}

</body>

</html>

In this new template, depending on the date of the day, the template will render a certain
value.

Tag for

Just like 'if', we have the 'for' tag, that works exactly like in Python. Let's change our
hello view to transmit a list to our template −

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 32


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

def hello(request):

today=datetime.datetime.now().date()

daysOfWeek=['Mon','Tue','Wed','Thu','Fri','Sat','Sun']

return render(request,"hello.html",{"today": today,"days_of_week":daysOfWeek})

The template to display that list using {{ for }} −

<html>

<body>

Hello World!!!<p>Today is {{today}}</p>

We are

{% if today.day == 1 %}

the first day of month.

{% eliftoday.day == 30 %}

the last day of month.

{% else %}

I don't know.

{%endif%}

<p>

{% for day in days_of_week %}

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 33


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

{{day}}

</p>

{% endfor %}

</body>

</html>

And we should get something like −

Hello World!!!

Today is Sept. 11, 2015

We are I don't know.

Mon

Tue

Wed

Thu

Fri

Sat

Sun

Block and Extend Tags

A template system cannot be complete without template inheritance. Meaning when you
are designing your templates, you should have a main template with holes that the child's
template will fill according to his own need, like a page might need a special css for the
selected tab.

Let’s change the hello.html template to inherit from a main_template.html.

main_template.html

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 34


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

<html>

<head>

<title>

{% block title %}Page Title{% endblock %}

</title>

</head>

<body>

{% block content %}

Body content

{% endblock %}

</body>

</html>

hello.html

{%extends"main_template.html"%}

{% block title %}MyHelloPage{%endblock%}

{% block content %}

HelloWorld!!!<p>Todayis{{today}}</p>

We are

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 35


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

{%iftoday.day==1%}

the first day of month.

{%eliftoday.day==30%}

thelast day of month.

{%else%}

I don't know.

{%endif%}

<p>

{% for day in days_of_week %}

{{day}}

</p>

{% endfor %}

{% endblock %}

In the above example, on calling /myapp/hello we will still get the same result as before
but now we rely on extends and block to refactor our code −

In the main_template.html we define blocks using the tag block. The title block will
contain the page title and the content block will have the page main content. In
home.html we use extends to inherit from the main_template.html then we fill the block
define above (content and title).

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 36


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

Comment Tag

The comment tag helps to define comments into templates, not HTML comments, they
won’t appear in HTML page. It can be useful for documentation or just commenting a
line of code.

A model is a class that represents table or collection in our DB, and where every attribute
of the class is a field of the table or collection. Models are defined in the app/models.py
(in our example: myapp/models.py)

Creating a Model

Following is a Dreamreal model created as an example −

fromdjango.dbimport models

classDreamreal(models.Model):

website=models.CharField(max_length=50)

mail=models.CharField(max_length=50)

name=models.CharField(max_length=50)

phonenumber=models.IntegerField()

classMeta:

db_table="dreamreal"

Every model inherits from django.db.models.Model.

Our class has 4 attributes (3 CharField and 1 Integer), those will be the table fields.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 37


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

The Meta class with the db_table attribute lets us define the actual table or collection
name. Django names the table or collection automatically: myapp_modelName. This
class will let you force the name of the table to what you like.

There is more field's type in django.db.models, you can learn more about them
on https://docs.djangoproject.com/en/1.5/ref/models/fields/#field-types

After creating your model, you will need Django to generate the actual database −

$python manage.py syncdb

Manipulating Data (CRUD)

Let's create a "crudops" view to see how we can do CRUD operations on models. Our
myapp/views.py will then look like −

myapp/views.py

frommyapp.modelsimportDreamreal

fromdjango.httpimportHttpResponse

defcrudops(request):

#Creating an entry

dreamreal=Dreamreal(

website="www.polo.com", mail ="[email protected]",

name="sorex",phonenumber="002376970"

dreamreal.save()

#Read ALL entries

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 38


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

objects=Dreamreal.objects.all()

res='Printing all Dreamreal entries in the DB : <br>'

foreltin objects:

res+= elt.name+"<br>"

#Read a specific entry:

sorex=Dreamreal.objects.get(name ="sorex")

res+='Printing One entry <br>'

res+= sorex.name

#Delete an entry

res+='<br> Deleting an entry <br>'

sorex.delete()

#Update

dreamreal=Dreamreal(

website="www.polo.com", mail ="[email protected]",

name="sorex",phonenumber="002376970"

dreamreal.save()

res+='Updating entry<br>'

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 39


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

dreamreal=Dreamreal.objects.get(name ='sorex')

dreamreal.name ='thierry'

dreamreal.save()

returnHttpResponse(res)

Other Data Manipulation

Let's explore other manipulations we can do on Models. Note that the CRUD operations
were done on instances of our model, now we will be working directly with the class
representing our model.

Let's create a 'datamanipulation' view in myapp/views.py

frommyapp.modelsimportDreamreal

fromdjango.httpimportHttpResponse

defdatamanipulation(request):

res=''

#Filtering data:

qs=Dreamreal.objects.filter(name ="paul")

res+="Found : %s results<br>"%len(qs)

#Ordering results

qs=Dreamreal.objects.order_by("name")

foreltinqs:

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 40


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

res+= elt.name +'<br>'

returnHttpResponse(res)

Linking Models

Django ORM offers 3 ways to link models −

One of the first case we will see here is the one-to-many relationships. As you can see in
the above example, Dreamrealcompany can have multiple online websites. Defining that
relation is done by using django.db.models.ForeignKey −

myapp/models.py

fromdjango.dbimport models

classDreamreal(models.Model):

website=models.CharField(max_length=50)

mail=models.CharField(max_length=50)

name=models.CharField(max_length=50)

phonenumber=models.IntegerField()

online=models.ForeignKey('Online',default=1)

classMeta:

db_table="dreamreal"

classOnline(models.Model):

domain=models.CharField(max_length=30)

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 41


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

classMeta:

db_table="online"

As you can see in our updated myapp/models.py, we added the online model and linked
it to our Dreamreal model.

Let's check how all of this is working via manage.py shell −

First let’s create some companies (Dreamreal entries) for testing in our Django shell −

$python manage.py shell

>>>frommyapp.modelsimportDreamreal,Online

>>> dr1 =Dreamreal()

>>> dr1.website ='company1.com'

>>> dr1.name ='company1'

>>> dr1.mail ='contact@company1'

>>> dr1.phonenumber ='12345'

>>>dr1.save()

>>> dr2 =Dreamreal()

>>> dr1.website ='company2.com'

>>> dr2.website ='company2.com'

>>> dr2.name ='company2'

>>> dr2.mail ='contact@company2'

>>> dr2.phonenumber ='56789'

>>>dr2.save()

Now some hosted domains −

>>> on1 =Online()

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 42


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

>>> on1.company = dr1

>>> on1.domain ="site1.com"

>>> on2 =Online()

>>> on2.company = dr1

>>> on2.domain ="site2.com"

>>> on3 =Online()

>>> on3.domain ="site3.com"

>>> dr2 =Dreamreal.objects.all()[2]

>>> on3.company = dr2

>>>on1.save()

>>>on2.save()

>>>on3.save()

Accessing attribute of the hosting company (Dreamreal entry) from an online domain is
simple −

>>> on1.company.name

And if we want to know all the online domain hosted by a Company in Dreamreal we
will use the code −

>>> dr1.online_set.all()

To get a QuerySet, note that all manipulating method we have seen before (filter, all,
exclude, order_by....)

You can also access the linked model attributes for filtering operations, let's say you
want to get all online domains where the Dreamreal name contains 'company' −

>>>Online.objects.filter(company__name__contains = 'company'

Note − That kind of query is just supported for SQL DB. It won’t work for non-
relational DB where joins doesn’t exist and there are two '_'.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 43


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

But that's not the only way to link models, you also have OneToOneField, a link that
guarantees that the relation between two objects is unique. If we used the
OneToOneField in our example above, that would mean for every Dreamreal entry only
one Online entry is possible and in the other way to.

And the last one, the ManyToManyField for (n-n) relation between tables. Note, those
are relevant for SQL based DB.

Page redirection is needed for many reasons in web application. You might want to
redirect a user to another page when a specific action occurs, or basically in case of error.
For example, when a user logs in to your website, he is often redirected either to the
main home page or to his personal dashboard. In Django, redirection is accomplished
using the 'redirect' method.

The 'redirect' method takes as argument: The URL you want to be redirected to as string
A view's name.

The myapp/views looks like the following so far −

def hello(request):

today=datetime.datetime.now().date()

daysOfWeek=['Mon','Tue','Wed','Thu','Fri','Sat','Sun']

return render(request,"hello.html",{"today": today,"days_of_week":daysOfWeek})

defviewArticle(request,articleId):

""" A view that display an article based on his ID"""

text="Displaying article Number : %s"%articleId

returnHttpResponse(text)

defviewArticles(request, year, month):

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 44


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

text="Displaying articles of : %s/%s"%(year, month)

returnHttpResponse(text)

Let's change the hello view to redirect to djangoproject.com and our viewArticle to
redirect to our internal '/myapp/articles'. To do so the myapp/view.py will change to −

fromdjango.shortcutsimport render, redirect

fromdjango.httpimportHttpResponse

importdatetime

# Create your views here.

def hello(request):

today=datetime.datetime.now().date()

daysOfWeek=['Mon','Tue','Wed','Thu','Fri','Sat','Sun']

return redirect("https://www.djangoproject.com")

defviewArticle(request,articleId):

""" A view that display an article based on his ID"""

text="Displaying article Number : %s"%articleId

return redirect(viewArticles, year ="2045", month ="02")

defviewArticles(request, year, month):

text="Displaying articles of : %s/%s"%(year, month)

returnHttpResponse(text)

As discussed earlier, we can use client side cookies to store a lot of useful data for the
web app. We have seen before that we can use client side cookies to store various data

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 45


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

useful for our web app. This leads to lot of security holes depending on the importance of
the data you want to save.

For security reasons, Django has a session framework for cookies handling. Sessions are
used to abstract the receiving and sending of cookies, data is saved on server side (like in
database), and the client side cookie just has a session ID for identification. Sessions are
also useful to avoid cases where the user browser is set to ‘not accept’ cookies.

Setting Up Sessions

In Django, enabling session is done in your project settings.py, by adding some lines to
the MIDDLEWARE_CLASSES and the INSTALLED_APPS options. This should be
done while creating the project, but it's always good to know,
so MIDDLEWARE_CLASSES should have −

'django.contrib.sessions.middleware.SessionMiddleware'

And INSTALLED_APPS should have −

'django.contrib.sessions'

By default, Django saves session information in database (django_session table or


collection), but you can configure the engine to store information using other ways like:
in file or in cache.

When session is enabled, every request (first argument of any view in Django) has a
session (dict) attribute.

Let's create a simple sample to see how to create and save sessions. We have built a
simple login system before (see Django form processing chapter and Django Cookies
Handling chapter). Let us save the username in a cookie so, if not signed out, when
accessing our login page you won’t see the login form. Basically, let's make our login
system we used in Django Cookies handling more secure, by saving cookies server side.

For this, first lets change our login view to save our username cookie server side −

def login(request):

username='not logged in'

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 46


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

ifrequest.method=='POST':

MyLoginForm=LoginForm(request.POST)

ifMyLoginForm.is_valid():

username=MyLoginForm.cleaned_data['username']

request.session['username']= username

else:

MyLoginForm=LoginForm()

return render(request,'loggedin.html',{"username": username}

Then let us create formView view for the login form, where we won’t display the form if
cookie is set −

defformView(request):

ifrequest.session.has_key('username'):

username=request.session['username']

return render(request,'loggedin.html',{"username": username})

else:

return render(request,'login.html',{})

Now let us change the url.py file to change the url so it pairs with our new view −

fromdjango.conf.urlsimportpatterns,url

fromdjango.views.genericimportTemplateView

urlpatterns= patterns('myapp.views',

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 47


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

url(‘connection/','formView', name ='loginform'),

url(‘login/','login', name ='login'))

When accessing /myapp/connection, you will get to see the following page −

And you will get redirected to the following page −

Now if you try to access /myapp/connection again, you will get redirected to the second
screen directly.

Let's create a simple logout view that erases our cookie.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 48


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

def logout(request):

try:

delrequest.session['username']

except:

pass

returnHttpResponse("<strong>You are logged out.</strong>")

And pair it with a logout URL in myapp/url.py

url(‘logout/', 'logout', name = 'logout'),

Now, if you access /myapp/logout, you will get the following page −

If you access /myapp/connection again, you will get the login form (screen 1).

Some More Possible Actions Using Sessions

We have seen how to store and access a session, but it's good to know that the session
attribute of the request have some other useful actions like −

 set_expiry (value) − Sets the expiration time for the session.


 get_expiry_age() − Returns the number of seconds until this session expires.
 get_expiry_date() − Returns the date this session will expire.
 clear_expired() − Removes expired sessions from the session store.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 49


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

 get_expire_at_browser_close() − Returns either True or False, depending on


whether the user’s session cookies have expired when the user’s web browser is
closed.

Django is an open source web application frame work which is written in Python[2]. This
course management system built using Django has four major components each of which
has different functionality but similar architecture. In the project report I will demonstrate
details of using Django to build one major component of this system: the group
component, which is my major contribution to the whole system. Also the technique and
process which is showed here can be applied to build the other three components in the
course management system as well as other complex database-driven websites.

2.1 Django framework Django is an open source web application frame work written in
Python. The primary goal of Django is to make the development of complex, data-based
websites easier. Thus Django emphasizes the reusability and pluggability of components
to ensure rapid developments. Django consists of three major parts: model, view and
template[4].

2.1.1 Model Model[4] is a single, definitive data source which contains the essential field
and behavior of the data. Usually one model is one table in the database. Each attribute in
the model represents a field of a table in the database. Django provides a set of
automatically-generated database application programming interfaces (APIs) for the
convenience of users.

2.1.2 View View[4] is short form of view file. It is a file containing Python function
which takes web requests and returns web responses. A response can be HTML content or
XML documents or a “404 error” and so on. The logic inside the view function can be
arbitrary as long as it returns the desired response. To link the view function with a
particular URL we need to use a structure called URLconf which maps URLs to view
functions.

2.1.3 Template Django’stemplate[4] is a simple text file which can generate a text-based
format like HTML and XML. The template contains variables and tags. Variables will be

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 50


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

replaced by the result when the template is evaluated. Tags control the logic of the
template. We also can modify the variables by using filters. For example, a lowercase
filter can convert the variable from uppercase into lowercase.

2.2 Python Python[2] is the language used to build the Django framework. It is a dynamic
scripting language similar to Perl[5] and Ruby[6]. The principal author of Python is
Guido van Rossum[7]. Python supports dynamic typing and has a garbage collector for
automatic memory management. Another important feature of Python is dynamic name
solution which binds the names of functions and variables during execution[2].

To build such a complicated web system, we need three major parts for each component:
database, user interface and the functions to interact in between. Django framework
provides sufficient functionalities to implement these three parts. Corresponding to
database, user interface and functions in between, Django has model, template and view
components to deal with each part respectively. Django’s model component helps
programmer to define and maintain tables in the database, while its template component
helps to write html files using a combination of both html syntax and Django syntax

Although we have created the Group table and GroupMember table and can update them
using the Django model component, we should not allow the user to manipulate the
database directly. Otherwise it would be a disaster for both the users and the technical
maintenance team. Instead, we create a user interface to let users interact with the data
indirectly. Django provides the template component to create the user interface for users.
A template is just a simple html file with some Django syntax mixed in. Every template
corresponds to a web page which the users will use to interact with the system. Here is the
template for creating a group: {% extends "base.html" %} {% load course_display %} {%
block content %}

This template first displays a text box for inputting the group name. Second, it shows a
check box to ask the group creator if this group is for all group assignments in this course.
Third, it displays a table (not a database table) containing assignments, so the group
creator can choose the assignments that the group is for. Next, the template displays a
student table for the creator to choose the students belonging to this group. Last, there is a
“create” button at the bottom of the page. Once the creator clicks the “create” button, the

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 51


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

group name, the assignments and students chosen by the creator will be packaged in a http
request object and sent to the corresponding view function for processing

So far we have our backend database and the frontend web page user interface. What we
need now is the logic in between to deal with the user requests and maintain the database.
Django view component provides a set of application programming interfaces to fulfill
our need and help us implement the logic. The Django view file is where we write our
function to achieve the above two goals. First, it is used to pass parameters to the template
and call the right template for the user. Every time we input a URL in the address bar or
click a hyperlink in the system, Django will call the right view function based on that
URL. Then the function will return a template as well as the corresponding parameters.
Thus we can see the actual web page displaying the information we need. Second, if we
submit something such as create group, the function will have an http request as its input
parameter. Based on that parameter the database is updated or the user is provided the
required information. The view function for creating a group is given below:
defsubmit(request,course_slug): #TODO: validate activity? person =
get_object_or_404(Person,userid=request.user.username) course =
get_object_or_404(CourseOffering, slug = course_slug) member =
Member.objects.get(person = person, offering = course) error_info=None name =
request.POST.get(’GroupName’) 1

The Django framework gives us a simple and reliable way to create the course
management system. It provides powerful functionalities and concise syntax to help
programmers deal with the database, the web page and the inner logic. The experience of
developing the group component in the system also helped me learning a lot of website
development with Django. Within the Django framework, we have successfully
accomplished the requirements of the system. Once this system passes the testing phase, it
can be used to serve students and instructors and substitute several systems currently in
service. It will make the work for instructors to manage the course much easier. It also
can simplify the operations for students with grade book, submission, and group
management all in one system. In short, this system will bring great user experience to
both instructors and students. The only limitation for this course system is that although
the developers have been testing it with various use cases, it may still encounter problems

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 52


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

during real time use. However, even if that happens, the flexibility of Django would
provide a simple way to fix the problem, as well as add new features into the system.

What is Python? Executive Summary

Python is an interpreted, object-oriented, high-level programming language with dynamic


semantics. Its high-level built in data structures, combined with dynamic typing and
dynamic binding, make it very attractive for Rapid Application Development, as well as
for use as a scripting or glue language to connect existing components together. Python's
simple, easy to learn syntax emphasizes readability and therefore reduces the cost of
program maintenance. Python supports modules and packages, which encourages
program modularity and code reuse. The Python interpreter and the extensive standard
library are available in source or binary form without charge for all major platforms, and
can be freely distributed.

Often, programmers fall in love with Python because of the increased productivity it
provides. Since there is no compilation step, the edit-test-debug cycle is incredibly fast.
Debugging Python programs is easy: a bug or bad input will never cause a segmentation
fault. Instead, when the interpreter discovers an error, it raises an exception. When the
program doesn't catch the exception, the interpreter prints a stack trace. A source level
debugger allows inspection of local and global variables, evaluation of arbitrary
expressions, setting breakpoints, stepping through the code a line at a time, and so on. The
debugger is written in Python itself, testifying to Python's introspective power. On the
other hand, often the quickest way to debug a program is to add a few print statements to
the source: the fast edit-test-debug cycle makes this simple approach very effective.

Python is a widely used general-purpose, high level programming language. It was


created by Guido van Rossum in 1991 and further developed by the Python Software
Foundation. It was designed with an emphasis on code readability, and its syntax allows
programmers to express their concepts in fewer lines of code.

Python is a programming language that lets you work quickly and integrate systems more
efficiently.

SQLite

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 53


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

SQLite generally follows PostgreSQL syntax. SQLite uses a dynamically and weakly
typed SQL syntax that does not guarantee the domain integrity.[7] This means that one
can, for example, insert a string into a column defined as an integer. SQLite will attempt
to convert data between formats where appropriate, the string "123" into an integer in this
case, but does not guarantee such conversions and will store the data as-is if such a
conversion is not possible.

SQLite is a popular choice as embedded database software for local/client storage in


application software such as web browsers. It is arguably the most widely deployed
database engine, as it is used today by several widespread browsers, operating systems,
and embedded systems (such as mobile phones), among others.[8] SQLite has bindings to
many programming languages.

SQLite is a self-contained, high-reliability, embedded, full-featured, public-domain, SQL


database engine. It is the most used database engine in the world. It is an in-process
library and its code is publicly available. It is free for use for any purpose, commercial or
private. It is basically an embedded SQL database engine. Ordinary disk files can be
easily read and write by SQLite because it does not have any separate server like SQL.
The SQLite database file format is cross-platform so that anyone can easily copy a
database between 32-bit and 64-bit systems. Due to all these features, it is a popular
choice as an Application File Format.

PACKAGES/LIBRARIES USED:

Libraries and Tools:

1. Scikit-learn (Python):

o Excellent for traditional machine learning algorithms such as regression,


classification, and clustering.

o Provides tools for data preprocessing, model selection, and evaluation.

2. TensorFlow / Keras (Python):

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 54


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

o Used for deep learning models, which can handle complex patterns in data.

o Suitable for tasks like image classification (e.g., identifying pollution


levels from images) or sequence modeling.

3. XGBoost / LightGBM (Python):

o Specialized for gradient boosting algorithms, which are powerful for


regression and classification tasks.

o Particularly useful if the relationships between water quality parameters


are complex and nonlinear.

4. Pandas (Python):

o Essential for data manipulation and preprocessing.

o Handles tasks like cleaning data, merging datasets, and transforming


variables.

5. Matplotlib / Seaborn (Python):

o For data visualization, crucial for understanding relationships and patterns


in water quality data.

6. caret (R):

o A comprehensive package for training and evaluating machine learning


models in R.

o Provides functionality for data preprocessing, feature selection, and model


tuning.

Steps Involved:

1. Data Collection: Gather water quality data from reliable sources, such as
environmental agencies or research datasets.

2. Data Preprocessing: Clean the data, handle missing values, and possibly
normalize or scale features.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 55


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

3. Feature Engineering: Extract relevant features or create new ones that might
improve prediction accuracy.

4. Model Selection: Choose appropriate machine learning algorithms based on the


problem (e.g., regression for predicting pollutant levels).

5. Model Training: Train the selected models on your preprocessed data.

6. Model Evaluation: Evaluate models using appropriate metrics (e.g., RMSE, R-


squared for regression; accuracy, precision, recall for classification).

7. Hyperparameter Tuning: Fine-tune model parameters to improve performance


using techniques like cross-validation.

8. Prediction and Deployment: Once satisfied with model performance, deploy the
model to predict water quality in real-world scenarios.

METHODOLOGIES:

To effectively forecast electricity prices for cloud computing using an enhanced machine
learning model, several methodologies and techniques can be applied throughout the
process. Here’s a structured approach that integrates key methodologies:

1. Data Collection and Preparation:

o Data Sources: Gather historical electricity price data from energy markets
or exchanges, weather data (temperature, humidity), market indicators
(economic data, regulatory changes), and other relevant factors.

o Data Cleaning: Address missing values, outliers, and inconsistencies in


the dataset to ensure data quality and reliability.

o Feature Engineering: Extract relevant features such as time of day, day of


week, seasonal trends, weather conditions, and lagged variables (e.g.,
previous day prices) that influence electricity prices. This step enriches the
dataset and enhances the model’s ability to capture underlying patterns.

2. Model Selection and Training:

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 56


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

o Machine Learning Models: Choose appropriate models based on the


nature of the data and forecasting requirements. Common models for
electricity price forecasting include:

 Long Short-Term Memory (LSTM) Networks: Effective for


capturing temporal dependencies and patterns in time-series data.

 Gradient Boosting Machines (GBM): Ensemble methods like


XGBoost or LightGBM that handle non-linear relationships and
feature interactions.

 Hybrid Models: Combine different models to leverage their


strengths (e.g., combining LSTM for time-series aspects with GBM
for feature interactions).

o Model Validation: Use techniques like cross-validation to evaluate model


performance and optimize hyperparameters (e.g., learning rate, number of
layers in LSTM).

3. Forecasting and Optimization:

o Real-time Forecasting: Generate forecasts based on trained models over


desired time horizons (e.g., hourly, daily). Integrate real-time data updates
for accurate predictions.

o Resource Optimization: Develop algorithms to dynamically adjust cloud


computing resource allocation and workload scheduling based on
forecasted electricity prices. This optimization aims to minimize
operational costs while meeting service-level agreements (SLAs).

4. Evaluation and Validation:

o Metrics: Assess forecast accuracy using metrics such as Mean Absolute


Error (MAE), Mean Squared Error (MSE), and Root Mean Squared Error
(RMSE). Compare forecasted prices against actual market data to validate
model performance.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 57


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

o Sensitivity Analysis: Test model robustness by simulating different


scenarios or market conditions to understand potential impacts on forecast
accuracy.

o Backtesting: Validate the model using historical data to ensure reliability


and effectiveness in predicting future price movements.

5. Integration and Deployment:

o Integration with Cloud Infrastructure: Develop APIs and interfaces to


integrate forecasted electricity prices into cloud computing resource
management systems. Ensure scalability and real-time data processing
capabilities.

o Deployment: Deploy the forecasting model in a production environment,


ensuring compatibility with existing cloud infrastructure and adherence to
security protocols and regulatory requirements.

6. Monitoring and Maintenance:

o Performance Monitoring: Implement monitoring tools to track model


performance, forecast accuracy, and system reliability in real-time. Provide
alerts for potential issues or deviations from expected outcomes.

o Model Updates: Continuously update and retrain the model with new data
to adapt to evolving market conditions and maintain forecasting accuracy
over time.

o User Feedback and Improvement: Gather feedback from stakeholders


and users to refine methodologies and improve the forecasting system’s
effectiveness and usability.

7. Documentation and Reporting:

o Documentation: Document the entire methodology, including data


sources, preprocessing steps, model selection criteria, training
methodologies, and deployment procedures.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 58


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

o Reports: Generate comprehensive reports summarizing forecast accuracy,


validation results, and recommendations for decision-making based on
forecast outputs. Provide insights into potential cost savings and
operational efficiencies achieved through optimized forecasting strategies.

By systematically applying these methodologies, cloud computing providers can develop


and implement an effective electricity price forecasting system that optimizes resource
management, reduces operational costs, and enhances overall efficiency in cloud
computing environments.

ALGORITHMS USED:

In electricity price forecasting for cloud computing using an enhanced machine learning
model, several algorithms can be utilized to capture the complexities and dynamics of
electricity markets. Here are some key algorithms commonly used in this domain:

1. Long Short-Term Memory (LSTM) Networks:

o Description: LSTM is a type of recurrent neural network (RNN) designed


to model sequence data and capture temporal dependencies over time.

o Application: Effective for time-series forecasting tasks where past data


points are crucial for predicting future values. LSTM can learn long-term
dependencies and patterns in electricity price data, making it suitable for
capturing seasonality and irregular fluctuations.

2. Gradient Boosting Machines (GBM):

o Description: GBM is an ensemble learning technique that builds a


sequence of decision trees, each correcting errors from the previous one.

o Application: Useful for capturing non-linear relationships and interactions


between features influencing electricity prices. Algorithms like
XGBoostand LightGBM are popular choices due to their efficiency in
handling large datasets and feature importance analysis.

3. Random Forest:

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 59


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

o Description: Random Forest is another ensemble learning method based


on decision trees, where multiple trees are trained on random subsets of
data and their predictions are averaged.

o Application: Suitable for regression tasks in electricity price forecasting,


providing robust predictions by averaging multiple decision trees. Random
Forest can handle noisy data and non-linear relationships effectively.

4. Autoregressive Integrated Moving Average (ARIMA):

o Description: ARIMA is a traditional statistical method for time-series


forecasting, combining autoregressive (AR), differencing (I), and moving
average (MA) components.

o Application: Often used as a baseline model for electricity price


forecasting. ARIMA models capture linear relationships and stationary
patterns in time-series data, providing insights into short-term fluctuations
and trends.

5. Prophet:

o Description: Prophet is a forecasting procedure developed by Facebook,


designed for time-series data with daily observations and seasonal patterns.

o Application: Suitable for electricity price forecasting where data exhibit


strong seasonalities and irregular holidays. Prophet models capture
seasonality, holidays, and abrupt changes in trends, providing interpretable
forecasts with uncertainty estimates.

6. Ensemble Methods:

o Description: Ensemble methods combine predictions from multiple


algorithms to improve forecast accuracy and robustness.

o Application: Ensemble techniques such as stacking or blending combine


predictions from diverse models (e.g., LSTM, GBM, ARIMA) to leverage
their complementary strengths and mitigate individual model weaknesses.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 60


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

This approach often leads to more accurate forecasts by aggregating


diverse perspectives on the data.

7. Deep Neural Networks (DNN):

o Description: DNNs are multi-layered neural networks capable of learning


complex representations of data.

o Application: Applied in electricity price forecasting for their ability to


model intricate relationships and patterns in data. DNNs can handle large
volumes of data and non-linear interactions between predictors, making
them suitable for capturing the volatility and uncertainties in electricity
markets.

8. Reinforcement Learning (RL):

o Description: RL is a machine learning paradigm where an agent learns to


make decisions by interacting with an environment to maximize rewards.

o Application: In electricity price forecasting, RL can optimize resource


allocation and scheduling decisions based on predicted electricity costs.
RL algorithms like Deep Q-Networks (DQN) or Policy Gradient methods
can adapt to changing market conditions and dynamic environments.

These algorithms can be tailored and combined based on the specific characteristics of the
electricity price data and the forecasting objectives in cloud computing environments.
Implementing a mix of these algorithms allows for comprehensive modeling of electricity
price dynamics, leading to more accurate forecasts and improved decision-making in
resource management.

RUNTIME FORMS:

When considering runtime forms for electricity price forecasting in cloud computing
using an enhanced machine learning model, the focus is on providing a user-friendly

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 61


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

interface that allows stakeholders to interact with the forecasting system in real-time. Here
are essential runtime forms that should be incorporated into the system:

1. Input Form for Real-Time Data:

o Purpose: Collect real-time data inputs necessary for generating up-to-date


forecasts.

o Fields:

 Current date and time selection for forecasting.

 Weather conditions (temperature, humidity) at the forecasted time.

 Market indicators (e.g., economic factors, regulatory changes)


affecting electricity prices.

o Validation: Ensure completeness and accuracy of real-time inputs to


maintain forecast reliability.

2. Forecasting Execution Form:

o Purpose: Initiate the forecasting process based on real-time inputs.

o Actions:

 Trigger the model to generate forecasts using updated data inputs.

 Display progress indicators or notifications during the forecasting


execution.

 Provide estimated time to completion or progress updates to users.

3. Forecasted Results Display Form:

o Purpose: Present forecasted electricity prices and related information to


stakeholders.

o Content:

 Forecasted prices over the selected time horizon (e.g., hourly,


daily).

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 62


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

 Visualization of forecasted trends (line charts, bar charts) for easy


interpretation.

 Key metrics such as Mean Absolute Error (MAE), Mean Squared


Error (MSE), or confidence intervals for forecast accuracy
assessment.

4. Feedback and Adjustment Form:

o Purpose: Allow users to provide feedback on forecasted results and make


adjustments if necessary.

o Options:

 Enable users to adjust input parameters (e.g., refine weather


conditions, update market indicators).

 Collect user feedback on forecast accuracy or anomalies observed.

 Provide fields for comments or notes to capture qualitative insights


from stakeholders.

5. Integration Form with Cloud Computing Resources:

o Purpose: Integrate forecasted prices with cloud computing resource


management systems.

o Actions:

 Provide API endpoints or integration settings for transferring


forecasted prices to resource allocation algorithms.

 Options to adjust cloud resource allocation based on forecasted


electricity costs.

 Ensure compatibility and seamless integration with existing cloud


infrastructure.

6. Monitoring and Reporting Form:

o Purpose: Monitor real-time performance and generate reports based on


forecasted results.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 63


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

o Features:

 Real-time monitoring of forecast accuracy metrics (e.g., MAE,


MSE) and trends.

 Generate on-demand reports summarizing forecast outcomes,


insights, and recommendations.

 Schedule automated report generation for periodic review and


decision-making.

7. User Interface Considerations:

o Design and Layout: Ensure a clean, intuitive layout with clear navigation
between forms and sections.

o Accessibility: Consider accessibility features for users with disabilities,


such as screen readers and keyboard navigation.

o Responsiveness: Design forms to be responsive across different devices


(desktop, tablet, mobile) for flexibility in usage scenarios.

By implementing these runtime forms, the electricity price forecasting system can
facilitate seamless interaction, informed decision-making, and efficient resource
management in cloud computing environments. These forms ensure that stakeholders can
leverage real-time data and accurate forecasts to optimize operational costs and enhance
overall efficiency.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 64


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

8 . INTEGRATION

As a business continues to grow, executive teams may need to utilize multiple software solutions
to improve their management. For example, if a clothing company's consumer base is expanding,
owners may implement inventory management and order optimization software to effectively
meet demand.

When using more than one software subsystem for business functions, organizations need to
adopt an integration tool to synchronize their disparate data sources. This will allow top leaders
and managers to practice effective data management and will understand the full scope of their
business.

What is Software Integration?

Software integration is the practice of connecting and unifying different types of software parts
or sub-systems. Oftentimes, organizations may need to conduct software integration because
they are transitioning to a new cloud-based data app from a legacy system.

Companies that use multiple databases or have various applications will also integrate their
software to have uniform metrics. By having all data collected and processed in one system,
business teams can effectively use and analyze all their information.

Traditionally, businesses will need professional software integrators to connect their systems.
These specialists can design and implement integration applications that meet a company's
needs. However, with advancements in technology, many software providers offer integration
solutions that will streamline the connection process between different system platforms.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 65


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

This allows users to manage integrations, try new technologies, and gain valuable insights
without the cost of engineers, software developers, and specialized integrators.

Types of Software Integration

When performing software integration, management teams should consider the 4 main methods.

1. Star Integration

Star integration is the process of developing connections within all software subsystems. Its
name comes from the fact that when all the systems are interconnected, its diagram would look
like a star. Depending on the number of systems that are being integrated, its links may also look
like spaghetti. Therefore, this method is sometimes referred to as the spaghetti method.

This type of integration is considered efficient because teams can reuse software functionalities.
However, when businesses need to add new subsystems, they will need to spend a significant
amount of time and money to perform the integration.

2. Horizontal Integration

A horizontal integration, also known as the Enterprise Service Bus, is the method of establishing
a system for communication. Its main feature is message transmission and message monitoring.
It also provides services, such as data transformation and mapping. Additionally, horizontal
integrations will reduce the number of links for each subsystem. This approach will allow for
flexibility, in which teams can add, remove, or adjust a system without interrupting the rest of
the components.

This type of software integration works well for businesses that have many large, disparate
systems. It is also cost-efficient to utilize this method because the expense of integration will
become less expensive as the system expands. Therefore, horizontal integration can help
businesses in the long run.

3. Vertical Integration

In contrast to horizontal integration, vertical integration is a short-term solution and is considered


a fast and inexpensive option for software unification. For this method, the company must
develop functional entities for their software systems and vertically sync them.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 66


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

Vertical integrations can provide many benefits, such as better control over business processes
and maximized competitiveness. For retailers, it can also help streamline supply chain
management, improve vendor communication, and reduce operating costs. However, vertical
integrations will create a silo to scale the software. This means that information will not be
properly shared and will be isolated in each system.

4. Common Data Format Integration

A common data format is an approach to software integration that allows businesses to avoid the
use of an adapter when converting or transporting data. For this method to be effective, the data
format from one system must be accepted by the other system. Common data format integration
can help businesses by providing data translation and promoting automation.

Steps of the Software Integration Process

Once a software data integration method is selected, management teams can follow these best
practices to effectively connect disjointed systems.

1. Collect Definitions, Requirements, and Specifications

To begin, teams need to determine and document the different requirements and specifications of
the software systems they plan to integrate. This also entails defining what the individual
application is used for and how it is used.

Managers should ask these questions so they can gain a better understanding of their software.

What is the purpose of the software subsystem?

How do they perform specific actions?

What do they need from users to function efficiently?

What types of data does the system collect?

2. Analyze the Information

Once all requirements and definitions are noted, the team must analyze them and determine if
application integration is possible. In the case that it is, personnel should assess their current
processes and identify what the company needs in regards to their software solutions. This will

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 67


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

allow for research to commence on how to improve the existing system and to effectively
connect them together.

3. Develop Architecture and Management Plans

At this stage, the team will create a blueprint for the integration. The architecture of the
integration plan should include details about the tools that will be used. For example, it can have
a diagram that shows how the systems will link to other applications. Having a visual
representation of the plan will make it easier for executives to view and share with stakeholders.

4. Create the Software Integration System

The software integration system can finally be created based on the blueprint. The business team
should be diligent when establishing the system and should run regular tests to ensure it is
operating as intended. This step often takes the longest amount of time because developers must
pay attention to details in the systems and fix them promptly before proceeding.

5. Begin Using the Integration System

If tests show that the integration system is working well and flawlessly, the organization can
begin utilizing it. The software should be downloaded and set up properly for the integration to
commence.

6. Evaluate System Performance Periodically

Developers should regularly evaluate the performance of the system once it is running and verify
that it is working correctly. This will ensure quick identification and remediation of
discrepancies and inefficiencies.

Software Integration - Key Takeaways

Software integration is the process of connecting various types of software sub-systems to unify
data collection.

The integration process can be streamlined with the use of modern integration tools.

Before initiating system integration, business teams must consider which of their systems need to
be integrated, what tool aligns with their needs, and which data sources could benefit from
integration.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 68


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

Organizations will conduct software integration for a variety of reasons. For example, businesses
may need to merge different systems together or they may want to transition from legacy
solutions to modern applications. Companies will also integrate software solutions to boost their
overall functionalities.

The 4 main types of application integration are star, horizontal, vertical, and common data
format. An organization should assess its needs and structure to determine the best method that
works for them.

9. TESTING

10.1 UNIT TESTING :

The first level of testing is called unit testing. Here different modules are tested against the
specification produced running the design of the modules. Unit testing is done to test the working
of individual modules with test oracles. Unit testing comprises a set of tests performed by an
individual programmer prior to integration of the units into a large system. A program unit is
usually small enough that the programmer who developed it can test it in a great detail. Unit
testing focuses first on the modules to locate errors. These errors are verified and corrected so
that the unit perfectly fits to the project.

10.2 INTEGRATION TESTING

The next level of testing is called the Integration testing. In this many tested modules are
combined into subsystems, which were then tested. Test case data is prepared to check the
control flow of all the modules and to exhaust all possible inputs to the program. Situations like
treating the modules when there is no data entered in the test box is also tested.

10.3 SYSTEM TESTING


System testing, also referred to as system-level tests or system-integration testing, is the process
in which a quality assurance (QA) team evaluates how the various components of an application
interact together in the full, integrated system or application.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 69


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

System testing verifies that an application performs tasks as designed. This step, a kind of black
box testing, focuses on the functionality of an application. System testing, for example, might
check that every kind of user input produces the intended output across the application.

10. RESULTS & DISCUSSION


SCREENS

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 70


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 71


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

CODE

from flask import Flask, render_template, request

import joblib

app = Flask(__name__)

# First route - the home page

@app.route('/')

def home():

return render_template('home.html')

# Second route - the prediction page

@app.route('/prediction', methods=['GET', 'POST'])

def prediction():

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 72


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

reviewer = request.form.get("reviewer name")

product = request.form.get('product name')

if request.method == 'POST':

review = request.form.get("review")

if not review:

message = 'Enter review.'

return render_template('home.html', message=message)

else:

model = joblib.load('model/naive_bayes.pkl')

prediction = model.predict([review])[0]

return render_template('output.html', prediction=prediction)

else:

return render_template('home.html')

if __name__ == "__main__":

app.run(debug=True, host='0.0.0.0', port=5000)

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 73


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

11. ADVANTAGES & DISADVANTAGES


Advantages:

 Automated, accurate sentiment analysis and theme extraction.

 Efficient processing of large datasets and real-time insights.

 Data-driven decision-making and cost-effective operations.

Disadvantages:

 Dependency on data quality and potential for model bias.

 Complexity in model development, maintenance, and integration.

 Ethical concerns and data privacy issues.

Understanding these advantages and disadvantages allows businesses to leverage machine


learning for product review analysis effectively while addressing potential challenges and
limitations.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 74


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

12. APPLICATIONS

Applications of Machine Learning in Product Review Analysis and Rating

1. Customer Sentiment Analysis

Application:

 Purpose: Automatically classify and analyze the sentiment of customer reviews


(positive, negative, neutral).

 Use Cases:

o Brand Monitoring: Track and analyze customer sentiment towards a brand or


product over time.

o Customer Service: Identify negative sentiments to prioritize and address


customer complaints promptly.

Example:

 An e-commerce platform uses sentiment analysis to detect dissatisfaction and provide


automated alerts to customer service teams for quick resolution.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 75


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

2. Theme and Topic Extraction

Application:

 Purpose: Extract key themes and topics from product reviews to understand common
issues and customer preferences.

 Use Cases:

o Product Improvement: Identify frequent complaints or suggestions to inform


product development.

o Marketing Strategies: Understand popular features or selling points to tailor


marketing messages.

Example:

 A smartphone manufacturer analyzes reviews to extract themes like battery life, camera
quality, and user interface, helping to prioritize features for future models.

3. Rating Prediction

Application:

 Purpose: Predict future product ratings based on historical review data and current
trends.

 Use Cases:

o Market Forecasting: Forecast product performance and customer satisfaction


trends.

o Inventory Management: Adjust inventory levels and marketing strategies based


on predicted demand.

Example:

 A retailer uses rating prediction to anticipate future product ratings and adjust stock
levels and promotional activities accordingly.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 76


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

4. Personalized Recommendations

Application:

 Purpose: Recommend products to customers based on their review history and


preferences.

 Use Cases:

o E-Commerce: Enhance user experience by suggesting products aligned with


individual tastes and past interactions.

o Content Platforms: Recommend similar items or content based on user reviews


and ratings.

Example:

 An online bookstore suggests books to users based on their previous reviews and ratings
of similar genres or authors.

5. Automated Review Summarization

Application:

 Purpose: Generate concise summaries of customer reviews to highlight key points and
overall sentiment.

 Use Cases:

o Product Listings: Provide potential buyers with quick, aggregated insights from
numerous reviews.

o Internal Reporting: Summarize review data for business stakeholders and


decision-makers.

Example:

 A travel website displays summarized reviews of hotels and attractions to help users
make informed decisions quickly.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 77


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

6. Competitive Analysis

Application:

 Purpose: Analyze and compare reviews and ratings of competing products or brands.

 Use Cases:

o Market Research: Identify strengths and weaknesses of competitors to gain a


competitive edge.

o Strategic Positioning: Adjust product features, pricing, or marketing strategies


based on competitive insights.

Example:

 A new tech startup monitors customer feedback on competitors’ products to identify gaps
and opportunities for their own product offerings.

7. Fraud Detection

Application:

 Purpose: Detect and prevent fraudulent reviews (e.g., fake reviews, biased feedback).

 Use Cases:

o Review Platform Integrity: Maintain the credibility of review platforms by


identifying and filtering out fake or biased reviews.

o Brand Protection: Prevent competitors or malicious actors from skewing product


ratings.

Example:

 An online review platform implements fraud detection algorithms to identify and remove
fake reviews, ensuring that only genuine feedback influences product ratings.

8. Customer Feedback Analysis

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 78


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

Application:

 Purpose: Analyze customer feedback to gain actionable insights into user experience and
satisfaction.

 Use Cases:

o Product Development: Use feedback to drive product enhancements and


innovation.

o Customer Experience Management: Improve service quality and address


specific customer needs or concerns.

Example:

 A software company analyzes feedback from user reviews to identify common issues and
areas for improvement in their application.

9. Social Media Monitoring

Application:

 Purpose: Track and analyze customer sentiments and reviews across social media
platforms.

 Use Cases:

o Brand Reputation Management: Monitor and respond to social media mentions


and reviews.

o Trend Analysis: Identify emerging trends and customer opinions on social


media.

Example:

 A fashion brand uses sentiment analysis tools to monitor social media posts about their
latest collection, gaining insights into customer reactions and trends.

10. Trend Analysis and Visualization

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 79


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

Application:

 Purpose: Analyze trends in product reviews and ratings over time to identify patterns
and changes.

 Use Cases:

o Product Lifecycle Management: Track how customer perception changes


throughout a product's lifecycle.

o Sales and Marketing Planning: Use trend data to adjust marketing campaigns
and sales strategies.

Example:

13. FUTURE SCOPE

Future Scope of Machine Learning in Product Review Analysis and Rating

1. Enhanced Natural Language Understanding (NLU)

 Contextual Analysis:

o Future Direction: Advanced models will better understand context and nuance in
customer reviews, such as sarcasm, irony, and complex sentiments.

o Impact: Improved accuracy in sentiment analysis and theme extraction, leading


to more actionable insights.

 Multilingual and Cross-Language Analysis:

o Future Direction: Enhanced capabilities for analyzing reviews in multiple


languages and dialects with high accuracy.

o Impact: Global businesses can gain insights from diverse markets and customer
bases.

2. Integration of Multi-Modal Data

 Text, Image, and Video Analysis:

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 80


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

o Future Direction: Combining text reviews with images and videos for a more
comprehensive analysis of product feedback.

o Impact: Better understanding of user experiences and issues, especially for


visually-oriented products like fashion or electronics.

 Unified Feedback Analysis:

o Future Direction: Systems that integrate text, images, and video reviews into a
single analysis framework.

o Impact: Enhanced insights and more holistic understanding of customer


feedback.

3. Real-Time Analytics and Feedback

 Real-Time Sentiment Analysis:

o Future Direction: Implementation of systems capable of analyzing and


responding to customer feedback in real-time.

o Impact: Immediate responses to customer issues, enhancing customer service and


engagement.

 Dynamic Recommendations:

o Future Direction: Systems that update recommendations and alerts based on


real-time review data and sentiment shifts.

o Impact: More relevant and timely product recommendations and marketing


strategies.

4. Advanced Predictive Analytics

 Customer Behavior Prediction:

o Future Direction: Improved predictive models for forecasting customer behavior


and trends based on review data.

o Impact: Enhanced ability to anticipate market trends, customer preferences, and


potential issues.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 81


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

 Enhanced Rating Forecasting:

o Future Direction: More accurate prediction models that incorporate a wider


range of factors, including social media trends and external events.

o Impact: Better preparation for market shifts and product performance.

5. Integration with Other AI Technologies

 Conversational AI and Chatbots:

o Future Direction: Integration of sentiment analysis and review insights with AI-
driven chatbots for improved customer interactions.

o Impact: Automated, contextually aware customer support and engagement based


on review data.

 Augmented Reality (AR) and Virtual Reality (VR):

o Future Direction: Use of AR and VR in conjunction with machine learning to


analyze user interactions and feedback in virtual environments.

o Impact: Enhanced product experiences and better understanding of user


interactions in immersive environments.

6. Personalized User Experiences

 Tailored Content and Recommendations:

o Future Direction: Highly personalized recommendations and content based on


detailed analysis of individual review histories and preferences.

o Impact: Increased customer satisfaction and loyalty through personalized


experiences.

 Dynamic Product Customization:

o Future Direction: Real-time customization of products based on feedback trends


and individual user preferences.

o Impact: More relevant and engaging products and services tailored to customer
needs.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 82


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

7. Improved Fraud Detection and Security

 Advanced Fraud Detection:

o Future Direction: More sophisticated algorithms for detecting and preventing


fraudulent reviews and manipulative practices.

o Impact: Increased trust and credibility of review platforms and more reliable
data.

 Enhanced Data Privacy:

o Future Direction: Implementation of advanced privacy-preserving techniques


and secure data handling practices.

o Impact: Better protection of user data and compliance with privacy regulations.

8. Ethical and Responsible AI

 Bias Detection and Mitigation:

o Future Direction: Development of methods for detecting and addressing biases


in machine learning models and review analysis.

o Impact: Fairer and more accurate analysis of customer feedback, reducing bias in
insights and recommendations.

 Transparency and Explainability:

o Future Direction: Increased focus on making machine learning models more


transparent and explainable to users and stakeholders.

o Impact: Greater trust in AI systems and their decisions.

9. Cross-Industry Applications

 Extended Use Cases:

o Future Direction: Application of review analysis and rating systems across


diverse industries, including healthcare, finance, and public services.

o Impact: Broader utility of machine learning insights for a wide range of


applications and sectors.

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 83


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

 Industry-Specific Models:

o Future Direction: Development of tailored machine learning models optimized


for specific industries and types of products.

o Impact: More accurate and relevant insights for industry-specific needs.

10. Continuous Learning and Adaptation

 Self-Learning Systems:

o Future Direction: Machine learning models that continuously learn and adapt
from new data and changing customer behaviors.

14. CONCLUSION

The integration of machine learning into product review analysis and rating represents a
significant advancement in understanding and leveraging customer feedback. This approach
provides businesses with a powerful tool for extracting actionable insights from vast amounts of
unstructured review data. As we've explored, the application of machine learning in this domain
offers numerous benefits but also comes with its own set of challenges.

Machine learning has transformed product review analysis and rating by offering advanced tools
for understanding customer feedback and predicting future trends. The technology provides
significant benefits, including enhanced accuracy, scalability, and personalization, which are
critical for modern businesses seeking to stay competitive and responsive to customer needs.

However, to fully harness the potential of machine learning in this field, businesses must address
challenges related to data quality, model complexity, and ethical considerations. By staying
vigilant about these challenges and continuously evolving with emerging technologies,
organizations can leverage machine learning to gain deeper insights, improve customer
experiences, and make informed strategic decisions.

The future of machine learning in product review analysis and rating is promising, with ongoing
advancements likely to bring even more sophisticated capabilities. Embracing these

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 84


PRODUCT REVIEW & ANALYSIS FOR RATING MACHINE LEARNING

developments will enable businesses to better understand and meet the needs of their customers,
driving success in an increasingly data-driven marketplace.

15. REFERENCES
SOFTWARE ENGINEERING: By Roger.S. Pressman

Python A COMPLETE REFERENCE :Navathe, Elmasri

https://docs.python.org/3/tutorial/

https://www.w3schools.com/python/

https://www.javatpoint.com/python-tutorial

www.google.com

www.wikipedia.com

www.csharpcorner.com

www.msdn.com

VIVEKANAND INSTITUTE OF MANAGEMENT, KALABURAGI Page 85

You might also like