Trending December 2023 # A Quick Glance Of Rad Model # Suggested January 2024 # Top 17 Popular

You are reading the article A Quick Glance Of Rad Model updated in December 2023 on the website Katfastfood.com. We hope that the information we have shared is helpful to you. If you find the content interesting and meaningful, please share it with your friends and continue to follow and support us for the latest updates. Suggested January 2024 A Quick Glance Of Rad Model

Introduction to RAD Model

Web development, programming languages, Software testing & others

The RAD model, similar to other software development models, has its specific phases of development. They are as follows:

Planning and Requirement Analysis

Designing Project Architecture

Development and Programming

Testing

Deployment and Maintenance

How to Pick the Best SDLC Model for the Project?

Before proceeding further, there is a crucial question that requires consideration: How to determine which Software Development Life Cycle model (SDLC) is best?

It is crucial that the selected SDLC model fulfills all the given requirements. There is no single SDLC model that meets all the requirements, and every model has its own pros and cons. Before choosing a particular model, it should be analyzed, tested properly, and then only put into practice.

What is RAD Model?

The RAD model is a popular software development model. It is a type of incremental model where multiple small chunks of development are picked and developed simultaneously to achieve the larger goal. The incremental model involves breaking down major features into smaller, more manageable chunks, which are then developed individually.

1. Planning and Requirement Analysis:

This is one of the most crucial stages, where initial requirements are gathered and analyzed properly. The planning involves creating a roadmap and identifying risks and challenges. It is essential to have a proper understanding of requirements to ensure that the final product meets the expectations.

2. Designing Project Architecture:

The next task is project architecture development. The project architecture should be flexible enough to accommodate the addition of new files and folders easily. The design phase is crucial for laying the foundations for the developmental phase.

3. Development and Programming:

Now comes the task of developing the project. It involves writing piles of code so as to get the product into a feasible state. The coding process should be collaborative to ensure consistency betweem all team members.

4. Testing:

This phase involves testing of the developed product, where a designated team undertakes the task. The team reports and fixes any defects found before deployment.

5. Deployment and Maintenance: Advantages:

Rapid development of the product

Development of reusable small components

Repetitive review during development

Integration of reusable components at an early stage saves effort even without adding bigger modules

Constructive feedback

Requires significant effort for gathering all requirements at the initial stage

Modeling skills have many dependencies

Not suitable for low-budget projects

When to use the RAD Model?

The RAD model is ideal to use in the following situations:

When there is a need to develop a product within a short timeframe

When there is a large number of developers available, allowing for the simultaneous development of multiple components that can later be integrated into bigger modules

Sufficient resources are available to gather all requirements at the initial stage

Why use the Spiral Model?

For a holistic understanding, one should understand the usage of the Spiral model. This would help differentiate between the two models and assist in choosing between the two.

The Spiral model adopts a risk-driven approach and focuses on continuous refinement through multiple iterations. This model offers a flexible framework, allowing for the integration of various models or processes. While the RAD model is ideal for projects with a short timeframe and clear requirements, the Spiral model is appropriate for complex and large projects, where the requirements may sometimes be subject to change.

Conclusion Recommended Articles

You're reading A Quick Glance Of Rad Model

A Quick Glance Of Top 10 Illustrator Plugins

Introduction to Illustrator Plugins

Illustrator plugins are a helpful inclusion to Adobe’s vector tool. Adobe Illustrator tries to expand on its robust vector-editing abilities with every latest release. Additionally, a broad range of third-party Illustrator add-ons is out in the market that will save you time and add a little shine to your drawing.

Start Your Free Design Course

3D animation, modelling, simulation, game development & others

Top Plugins of Illustrator

Here are the top plugins of Illustrator, which are as follows:

1. Cineware

2. VectorScribe v3

You can control vectors with VectorScribe, defined by its inventors as a vector-based Swiss Army Knife. You can utilize this tool to control paths, handles, and points, making your work simple whenever you want to edit and reduce file sizes.

You can produce and edit whatever shapes you want and apply various styles of edges to your design. With the help of VectorScribe’s effective measurements, you can swiftly and precisely estimate everything from straightforward lengths to path areas and angles, eliminating any assumption when you require things with precise sizes.

3. Gold Rush

To provide your design with an elegant look, you can use Gold Rush, a plugin that offers all the foil, metallic, and glitter effects you will ever require. It contains 218 swatches in a raster format and 35 stroke elements.

The set comprises crumpled foil, hot foil effects, metallic paint, gold leaf, and many more. It is available in gold, rose gold, silver, copper, and black.

4. VectorFirstAid V2

The latest characteristics in VectorFirstAid V2 pay attention to the text grasp. With the reconstruction of the Combine Text Lines Engine, it now aids transformed and rotated kind and keeps possession of tracking, kerning, sub and superscripts, indents, etc. One of the functional tools is the alignment of point text, which has alternatives to snap the text aside and eliminate text conversions.

5. Assimilate

A plugin filter that bridges multiple paths into one constant path that finds similarity to the merge path command when utilizing the blob brush tool in Illustrator.

Concatenate has a few additional characteristics, including an assimilate function, which examines and merges a selected area or layer for unselected paths and merges them.

6. Everdrifter Watercolor Pro Effects

This plugin provides brushes with a watercolor style to provide a pragmatic painted effect to your design.

An enormous package of tools is present, and you can access 12 watercolor AI brushes and 49 watercolor background tiles. It has more than 42 instant watercolor-effect graphic styles and 50 practical paint splats.

7. Fontself Maker

This plugin is essential to a designer. It permits you to produce standard and color vector fonts from your engraving. It will make your design unique and provides a creative edge.

It is very easy to utilize this plugin by pulling and dropping your engraving into the Fontself Maker panel; the rest is done by it. Once you finish your font, you can export it in an otf format and utilize it in your design whenever needed.

8. Phantasm v3

This plugin is known for its simplicity. It productively acts as a mediator between Photoshop and Illustrator, which adds bitmap-editing functions and alternatives to a vector plan. It includes hue, saturation and curves, automation functions, levels, etc.

It provides halftone and duotone alternatives with non-destructive effects. It also provides a preview of overprint and a separations choice that appends some significant prepress weight to Illustrator’s armory.

9. Magic Exporter

Magic Exporter, developed by Jeremy Marchand, unravels the procedure of exporting object items from Ai documents to web-ready PNG files. With Magic Exporter, you have to mark the object you require and export it with the assistance of the dedicated menu. You do not have to hide or slice the layers to export the object manually.

10. YemZ Mesh Tormentor

Artists have different opinions regarding gradient meshes in Illustrator. Some think they provide pliability and pragmatism, but some think they merely try to imitate images. Still, mesh tormentor simplifies and swifters the procedure no matter which side of your argument.

Twenty new buttons are accessible, allowing you to turn knots into vertexes, reflect, rotate, shift colors, transform mesh into a segment of paths, and much more.

Conclusion

Plugins available for Adobe Illustrator can enhance artisanship about both standards and time. Illustrator plugins expand Adobe Illustrator’s definite purposes to permit consumers to improve particular features of their designs. They permit consumers to provide a superior-looking result with the help of high-end features that Illustrator would not give you. Plugins are cost-effective, save time, support clarity, include multiple versions within one document, and provide extra characteristics like CAD functionality and 3D preview.

Recommended Articles

This is a guide to Illustrator Plugins. Here we discussed the basic concept and the list of the top 10 Illustrator Plugins. You can also go through our other suggested articles to learn more –

A Quick Glance Of 3 Different Networking Ports

Introduction to Networking Ports

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

Port Number Categories

Port numbers are divided into three categories.

Well-known/System ports: Range 0–1,023

Registered ports: Range 1,024–49,151

Dynamic/Private ports: Range 49,152–65,535

1.Well-known/System Ports

Here is detailed information about some of the widely used ports.

Port Number Service Usage

7 Echo The echo server returns data is received on an originating source.

20 File Transfer Protocol (FTP) Data Transfer.

21 File Transfer Protocol (FTP) Command Control.

22 Secure Shell (SSH) It manages network devices at the command level securely.

23 Telnet Remote login service, unencrypted text messages.

25 Simple Mail Transfer Protocol (SMTP) E-mail Routing. It is used to transfer email from source to destination between mail servers.

53 Domain Name System (DNS) It converts domain names into IP addresses for network routing.

67-68 DHCP/BOOTP It provides a connectionless service model with the help of User Datagram Protocol (UDP).

69 Trivial File Transfer Protocol (TFTP)  It transfers files without the session establishment.

70 Gopher It provides gateways to other information systems such as the World-Wide Web, WHOIS WAIS, Archie, etc. It allows search and retrieve information from different locations easily.

80 Hypertext Transfer Protocol (HTTP) It is a protocol for distributed, hypermedia, collaborative information systems.

110 Post Office Protocol (POP3) Used by e-mail clients to retrieve e-mail from a server.

119 Network News Transfer Protocol (NNTP) It helps to connect to Usenet servers and transfer newsgroup articles between systems.

123 Network Time Protocol (NTP) It is used to synchronize the devices on the Internet.

137-139 NetBIOS It is not a protocol, but it is used in combination with IP with an over TCP/IP (NBT) protocol. It helps to interconnect Microsoft Windows machines.

143 Internet Message Access Protocol 4 (IMAP4) To Manage Digital Mail.

161-162 Simple Network Management Protocol (SNMP) It is used by network administrators for network management.

179 BGP It is used by ISP (Internet Service Provider) to maintain traffic processing and huge routing tables.

194 Internet Relay Chat (IRC) It provides communication in the form of text in an easier way which is based on a client/server networking model.

389 LDAP LDAP provides access and maintenance for distributed directory information. It is based on the ITU-T X.500 standard, but it has been altered and simplified to work over TCP/IP networks.

443 HTTP Secure (HTTPS) It provides the same functions as HTTP, but it uses a secure connection with the help of SSL or TLS.

636 Lightweight Directory Access Protocol over TLS/SSL (LDAPS) LDAPS provides the same functions as LDAP, but it uses a secure connection with the help of SSL or TLS.

520 RIP It uses hop count to find the best path between the source and the destination network.

2. Registered Ports

These ports range from 1024 to 49151 are not controlled or assigned. However, they can be registered to prevent redundancy.

3. Dynamic Ports

Here is a list of some Registered and Dynamic ports.

Port number Service

1025 Microsoft RPC

1026-1029 Windows Messenger

1080 SOCKS Proxy

1080 MyDoom

1194 OpenVP

1214 Kazaa

1241 Nessus

131 1 Dell OpenManage

1337 WASTE

1433-1434 Microsoft SQL

1512 WINS

1589 Cisco VQP

1701 L2TP

1723 MS PPTP

1725 Steam

1741 Cisco Works 2000

1755 MS Media Server

1812-1813 RADIUS

1863 MSN

1985 Cisco HSRP

2000 Cisco SCCP

2002 Cisco ACS

2049 NFS

2082-2083 cPanel

2100 Oracle XDB

2222 DirectAdmin

2302 Halo

2483-2484 Oracle DB

2745 Bagle.H

2967 Symantec AV

3050 Interbase DB

3074 XBOX Live

3124 HTTP Proxy

3127 MyDoom

3128 HTTP Proxy

3222 GLBP

3260 iSCSI Target

3306 MySQL

3389 Terminal Server

3689 iTunes

3690 Subversion

3724 World of Warcraft

3784-3785 Ventrilo

4333 mSQL

4444 Blaster

4664 Google Desktop

4672 eMule

4899 Radmin

5000 UPnP

5001 iperf

5004-5005 RTP

5050 Yahoo! Messenger

5060 SIP

5190 AIM/ICQ

5222-5223 XMPP/Jabber

5432 PostgreSQL

12345 NetBus

13720-13721 NetBackup

14567 Battlefield

15118 Dipnet/Oddbob

19226 AdminSecure

19638 Ensim

20000 Usermin

24800 Synergy

25999 Xfire

27015 Half-Life

27374 Sub7

28960 Call of Duty

31337 Back Orifice

33434+ traceroute

Conclusion – Networking Ports

Although it might seem obvious from this list that there are a large number of ports missing, the intention here was to cover only the most widely seen and used protocols. Hopefully, this article will enable you to pick the right port number for such services to implement.

Recommended Articles

This is a guide to Networking Ports. Here we discuss the introduction to Networking Ports along with the 3 different categories, respectively. You may also have a look at the following articles to learn more –

Quick Glance On Opencv Drawcontours

Introduction to OpenCV drawcontours

Web development, programming languages, Software testing & others

Syntax to define drawcontours() function in OpenCV:

drawcontours(source_image, contours, contours_ID, contour_color, contour_thickness)

Where,

source_image is the image on which the contours must be drawn.

contours are the contours extracted from a given image using findcontours() function.

contour_ID is the parameter that determines the contour to be drawn and a negative contour_ID value indicates that all the contours must be drawn.

contour_color represents the contours color.

contour_thickness represents the thickness of the lines forming the contours.

Working of drawcontours() Function in OpenCV

In order to perform analysis of images like analysis of shapes, detection of size, detection of object etc., we make use of contours in OpenCV.

Contours are the points around the boundary of a given image formed by joining them together into lines.

The contours in a given image can be extracted by using a function called findcontours() function in OpenCV.

The findcontours() function returns the number of contours in a given image.

To draw the contours in a given image, we make use of a function called drawcontours() function.

The drawcontours() function takes the contours extracted by using findcontours() function and draws the contours in the given image.

The drawcontours() function returns the image with contours drawn on it.

Examples of OpenCV drawcontours

Given below are the examples of OpenCV drawcontours:

Example #1

OpenCV program in python to demonstrate drawcontours() function to draw contours in the given image by finding the contours using findcontours() function and then display the image with contours drawn on it as the output on the screen.

Code:

#importing the module cv2 import cv2 #reading the image on which contours must be drawn imageread = cv2.imread('C:/Users/admin/Desktop/educba.jpg') #converting the image to gray image using cvtColor() function imagegray = cv2.cvtColor(imageread, cv2.COLOR_BGR2GRAY) #finding the edges in the image using canny() function imageedges = cv2.Canny(imagegray, 10, 100) #finding the contours in the image using findcontours() function contours, hierarchy = cv2.findContours(imageedges,cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE) #drawing the contours in the image using drawContours() function cv2.drawContours(imageread, contours, -1, (0, 0, 255), 6) cv2.drawContours(imageread, contours, -1, (0, 0, 255), 6) #displaying the image with contours as the output on the screen cv2.imshow('Image_With_Contours', imageread) cv2.waitKey(0)

Output:

Example #2

OpenCV program in python to demonstrate drawcontours() function to draw contours in the given image by finding the contours using findcontours() function and then display the image with contours drawn on it as the output on the screen.

Code:

#importing the module cv2 import cv2 #reading the image on which contours must be drawn imageread = cv2.imread('C:/Users/admin/Desktop/logo.png') #converting the image to gray image using cvtColor() function imagegray = cv2.cvtColor(imageread, cv2.COLOR_BGR2GRAY) #finding the edges in the image using canny() function imageedges = cv2.Canny(imagegray, 10, 100) #finding the contours in the image using findcontours() function contours, hierarchy = cv2.findContours(imageedges,cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE) #drawing the contours in the image using drawContours() function cv2.drawContours(imageread, contours, -1, (0, 255, 0), 6) cv2.drawContours(imageread, contours, -1, (0, 255, 0), 6) #displaying the image with contours as the output on the screen cv2.imshow('Image_With_Contours', imageread) cv2.waitKey(0)

Output:

Example #3

OpenCV program in python to demonstrate drawcontours() function to draw contours in the given image by finding the contours using findcontours() function and then display the image with contours drawn on it as the output on the screen.

Code:

#importing the module cv2 import cv2 #reading the image on which contours must be drawn imageread = cv2.imread('C:/Users/admin/Desktop/tree.jpg') #converting the image to gray image using cvtColor() function imagegray = cv2.cvtColor(imageread, cv2.COLOR_BGR2GRAY) #finding the edges in the image using canny() function imageedges = cv2.Canny(imagegray, 10, 100) #finding the contours in the image using findcontours() function contours, hierarchy = cv2.findContours(imageedges,cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE) #drawing the contours in the image using drawContours() function cv2.drawContours(imageread, contours, -1, (255, 0, 0), 6) cv2.drawContours(imageread, contours, -1, (255, 0, 0), 6) #displaying the image with contours as the output on the screen cv2.imshow('Image_With_Contours', imageread) cv2.waitKey(0)

Output:

In the above program, we are importing the module cv2. Then we are reading the image on which contours must be drawn, using imread() function. Then we are making use of cvtColor() function to covert the given image to gray image. Then we are making use of canny() function to determine the edges in the image. Then we are making use of findContours() function to extract the contours from the given image. Then we are making use of drawContours() function to draw the contours in the image and display it as the output on the screen.

Recommended Articles

We hope that this EDUCBA information on “OpenCV drawcontours” was beneficial to you. You can view EDUCBA’s recommended articles for more information.

A Quick Glance At Top Artificial Intelligence Funding In August 2023

Analytics Insight glances at some of the top Artificial Intelligence funding in August 2023

Multiple companies and start-ups have identified the core field of the major disruptive technology known as artificial intelligence to create new innovations to transform the world into a better place by boosting productivity and driving revenue. Organizations need sufficient AI funding to create these smart machines for the tech-driven world. Artificial intelligence funding can come through millions of dollars of investment from eminent companies in some popular funding events like Series A, Series B funding, etc. Let’s take a quick glance at some of the top Artificial Intelligence funding in August 2023.  

Top Artificial Intelligence funding in August 2023 chúng tôi

Nektar.ai has raised US$6 million and the total AI funding of US$8.1 million as a part of its seed round from investors like B Capital Group, 3One4 Capital as well as Nexus Venture Partners in August 2023. This one-year-old company is known as a B2B sales productivity start-up and recently became popular for one of the biggest rounds for a SaaS start-up. The AI-powered guided selling solutions capture real-time data from multiple sources such as emails, conferences, calendars, and many more.  

chúng tôi

Neuron7.ai has successfully raised artificial intelligence funding worth US$4.2 million in a seed funding round by Nexus Venture Partners and Battery Ventures to expand its engineering, product, and sales teams. This company helps to drive the transformation of customer services into a cloud-based AI-powered workflow, especially in the manufacturing, healthcare, and technology sectors.  

chúng tôi

ClosedLoop.ai has received one of the top AI funding of August 2023 as it raised US$3.4 million in Series B financing from Telstra Ventures. The Austin-based company has an aim to expand the healthcare data science platform with this funding. The Explainable AI reimagines the concept of patient risk profiling from personalized predictions delivered directly into the clinical workflow. It helps the clinical teams to prevent serious consequences, enhance results and reduce costs in different areas.  

Expertrons

Expertrons is a popular Mumbai-based EdTech start-up that has raised US$2.3 million in a Pre-Series A AI funding round for investing in patent-pending artificial intelligence video bot technology and recommendation engine to guide aspirants to seek the right experts for landing good opportunities in the future. The artificial intelligence funding was from Venture Catalysts, Auxano Capital, Venture Garage, and many more.  

chúng tôi

NimbleBox.ai is known as an MLOps company that has successfully raised US$1 million in a seed round by Venture Catalysts. The company will utilize this AI funding to develop and offer toolkits for developers focused on artificial intelligence, grow the team and evaluate the existing customer base. It is a Chennai-based start-up focused as a Platform-as-a-Service (PaaS) to offer data scientists and machine learning practitioners the to create and launch multi-cloud applications on an intuitive browser-based platform.  

chúng tôi

People.ai has received one of the top artificial intelligence funding in August worth US$100 million in a Series D funding by Akkadian Ventures and Mubadala Capital. The company’s aim is to develop capabilities of the SmartData platform to provide accurate go-to-market insights to the revenue teams and expand new segments in the future. The focus is to unlock human productivity with the help of real-time data.  

Imubit

Imubit is known as a leader of artificial intelligence process optimization for refiners and chemical operators with its closed-loop neural network platform. The company has raised US$50 million to invent a scientifically novel type of deep reinforcement learning to optimize high-value refinery and chemical plant processes.  

chúng tôi

Multiple companies and start-ups have identified the core field of the major disruptive technology known as artificial intelligence to create new innovations to transform the world into a better place by boosting productivity and driving revenue. Organizations need sufficient AI funding to create these smart machines for the tech-driven world. Artificial intelligence funding can come through millions of dollars of investment from eminent companies in some popular funding events like Series A, Series B funding, etc. Let’s take a quick glance at some of the top Artificial Intelligence funding in August chúng tôi has raised US$6 million and the total AI funding of US$8.1 million as a part of its seed round from investors like B Capital Group, 3One4 Capital as well as Nexus Venture Partners in August 2023. This one-year-old company is known as a B2B sales productivity start-up and recently became popular for one of the biggest rounds for a SaaS start-up. The AI-powered guided selling solutions capture real-time data from multiple sources such as emails, conferences, calendars, and many chúng tôi has successfully raised artificial intelligence funding worth US$4.2 million in a seed funding round by Nexus Venture Partners and Battery Ventures to expand its engineering, product, and sales teams. This company helps to drive the transformation of customer services into a cloud-based AI-powered workflow, especially in the manufacturing, healthcare, and technology chúng tôi has received one of the top AI funding of August 2023 as it raised US$3.4 million in Series B financing from Telstra Ventures. The Austin-based company has an aim to expand the healthcare data science platform with this funding. The Explainable AI reimagines the concept of patient risk profiling from personalized predictions delivered directly into the clinical workflow. It helps the clinical teams to prevent serious consequences, enhance results and reduce costs in different areas.Expertrons is a popular Mumbai-based EdTech start-up that has raised US$2.3 million in a Pre-Series A AI funding round for investing in patent-pending artificial intelligence video bot technology and recommendation engine to guide aspirants to seek the right experts for landing good opportunities in the future. The artificial intelligence funding was from Venture Catalysts, Auxano Capital, Venture Garage, and many chúng tôi is known as an MLOps company that has successfully raised US$1 million in a seed round by Venture Catalysts. The company will utilize this AI funding to develop and offer toolkits for developers focused on artificial intelligence, grow the team and evaluate the existing customer base. It is a Chennai-based start-up focused as a Platform-as-a-Service (PaaS) to offer data scientists and machine learning practitioners the to create and launch multi-cloud applications on an intuitive browser-based chúng tôi has received one of the top artificial intelligence funding in August worth US$100 million in a Series D funding by Akkadian Ventures and Mubadala Capital. The company’s aim is to develop capabilities of the SmartData platform to provide accurate go-to-market insights to the revenue teams and expand new segments in the future. The focus is to unlock human productivity with the help of real-time data.Imubit is known as a leader of artificial intelligence process optimization for refiners and chemical operators with its closed-loop neural network platform. The company has raised US$50 million to invent a scientifically novel type of deep reinforcement learning to optimize high-value refinery and chemical plant processes.A New York-based talent intelligence platform has recently raised US$7 million of Artificial Intelligence funding from Square Peg, Hetz Ventures, and many more. The aim is to use this AI funding for the US expansion, hiring of key talent as well as product development. It is popular for leveraging artificial intelligence and machine learning to enable governments and other companies to retrain and upskill talent for different purposes.

Evaluating A Classification Model For Data Science

This article was published as a part of the Data Science Blogathon.

Machine Learning tasks are mainly divided into three types

Supervised Learning — In Supervised learning, the model is first trained using a Training set(it contains input-expected output pairs). This trained model can be later used to predict output for any unknown input.

Unsupervised Learning — In unsupervised learning, the model by itself tries to identify patterns in the training set.

Reinforcement Learning —  This is an altogether different type. Better not to talk about it.

Supervised learning task mainly consists of Regression & Classification. In Regression, the model predicts continuous variables whereas the model predicts class labels in Classification.

For this entire article, let’s assume you’re a Machine Learning Engineer working at Google. You are ordered to evaluate a handwritten alphabet recognizer. Train classifier model, training & test set are provided to you.

The first evaluation metric anyone would use is the “Accuracy” metric. Accuracy is the ratio of correct prediction count by total predictions made. But wait a minute . . .

Is Accuracy enough to evaluate a model?

Short answer: No

So why is accuracy not enough? you may ask

So there are four distinct possibilities as shown below

The above table is self-explanatory. But just for the sake of some revision let’s briefly discuss it.

If the model predicts “A” as an “A”, then the case is called True Positive.

If the model predicts “A” a “Not A”, then the case is called False Negative.

If the model predicts “Not A” as an “A”, then the case is called False Positive.

If the model predicts “Not A” as a “Not A”, then the case is called True Negative

Another easy way of remembering this is by referring to the below diagram.

As some of you may have already noticed, the Accuracy metric does not represent any information about False Positive, False Negative, etc. So there is substantial information loss as these may help us evaluate & upgrade our model.

Okay, so what are other useful evaluation metrics? Confusion Matrix for Evaluation of Classification Model

A confusion matrix is a n x n matrix (where n is the number of labels) used to describe the performance of a classification model. Each row in the confusion matrix represents an actual class whereas each column represents a predicted class.

2) Predicted Target labels

## dummy example from sklearn.metrics import confusion_matrix y_true = ["cat", "ant", "cat", "cat", "ant", "bird"] y_pred = ["ant", "ant", "cat", "cat", "ant", "cat"] confusion_matrix(y_true, y_pred, labels=["ant", "bird", "cat"]) >>> array([[2, 0, 0], [0, 0, 1],

           [1, 0, 2]])

We will take a tiny section of the confusion matrix above for a better understanding.

Precision =  TP/(TP+FP)

2) Predicted Target labels

## dummy example from sklearn.metrics import precision_score y_true = [0, 1, 1, 0, 1, 0] y_pred = [0, 0, 1, 0, 0, 1] precision_score(y_true, y_pred) >>> 0.5

Precision in itself will not be enough as a model can make just one correct positive prediction & return the rest as negative. So the precision will be 1/(1+0)=1. We need to use precision along with another metric called “Recall”.

Recall

Recall is also called “True Positive Rate” or “sensitivity”.

2) Predicted Target labels

## dummy example from sklearn.metrics import recall_score y_true = [0, 1, 1, 0, 1, 0] y_pred = [0, 0, 1, 0, 0, 1] recall_score(y_true, y_pred) >>> 0.333333 Hybrid of both

There is another classification metric that is a combination of both Recall & Precision. It is called the F1 score. It is the harmonic mean of recall & precision. The harmonic mean is more sensitive to low values, so the F1 will be high only when both precision & recall are high.

2) Predicted Target labels

## dummy example from sklearn.metrics import f1_score y_true = [[0, 0, 0], [1, 1, 1], [0, 1, 1]] y_pred = [[0, 0, 0], [1, 1, 1], [1, 1, 0]] f1_score(y_true, y_pred, average=None) >>> array([0.66666667, 1. , 0.66666667]) Ideal Recall or Precision

We can play with the classification model threshold to adjust recall or precision. In reality, there is no ideal recall or precision. It all depends on what kind of classification task is it. For example, in the case of a cancer detection system, you’ll prefer having high recall & low precision. Whereas in the case of an abusive word detector, you’ll prefer having high precision but low recall.

Precision/Recall Trade-off

Sadly, increasing recall will decrease precision & vice versa. This is called Precision/Recall Trade-off.

Precision & Recall vs Threshold

We can plot precision & recall vs threshold to get information about how their value changes according to the threshold. Here below is a dummy graph example.

## dummy example from sklearn.metrics import precision_recall_curve precisions, recalls, thresholds = precision_recall_curve(y_true, y_predicted) plt.plot(thresholds, precisions[:-1], "b--", label="Precision") plt.plot(thresholds, recalls[:-1], "g-", label="Recall") plt.show()

As you can see as the threshold increases precision increases but at the cost of recall. From this graph, one can pick a suitable threshold as per their requirements.

Precision vs Recall

Another way to represent the Precision/Recall trade-off is to plot precision against recall directly. This can help you to pick a sweet spot for your model.

ROC Curve for Evaluation of Classification Model 

2. FPR is the ratio of Negative classes inaccurately being classified as positive.

FPR = FP/(FP+TN)

Below is a dummy code for ROC curve.

from sklearn.metrics import roc_curve fpr, tpr, thresholds = roc_curve(y_true, y_predicted) plt.plot(fpr, tpr, linewidth=2, label=label) plt.plot([0, 1], [0, 1], 'k--')  plt.show()

In the below example graph, we have compared ROC curves for SGD & Random Forest Classifiers.

ROC curve is mainly used to evaluate and compare multiple learning models. As in the graph above, SGD & random forest models are compared. A perfect classifier will transit through the top-left corner. Any good classifier should be as far as possible from the straight line passing through (0,0) & (1,1). In the above graph, you can observe that the Random Forest model is working better compared to SGD.  PR curve is preferred over ROC curve when either the positive class is rare or you prioritize more about False Positive.

Conclusion

Sources

The media shown in this article is not owned by Analytics Vidhya and are used at the Author’s discretion

Related

Update the detailed information about A Quick Glance Of Rad Model on the Katfastfood.com website. We hope the article's content will meet your needs, and we will regularly update the information to provide you with the fastest and most accurate information. Have a great day!