# What is the difference between precision and recall?

74    Asked by ColemanGarvin in Data Science , Asked on Jul 1, 2024

I am currently engaged in a particular task related to working as a data scientist for a specific company of healthcare. My team Is developing an AI system to detect cancer from medical imaging scans. I have two models in between I have to choose one. Model A has high precision but lower recall. It can correctly identify cancer most of the time, however it also misses some cancer cases. Model B has high recall but lower precision. It can identify most cancerous scans however it can make noncancerous scans as cancerous. Which model should I use for my cancer detection project?

In the context of data science, here are the differences given between precision vs recall in terms of your given scenario:-

Model A (High precision, lower recall)

High precision denotes that there is a high chance that the scan things is cancer. In other words, when the model predicts cancer, it is usually correct. However, lower recall denotes that the model can miss some cases of real cancer scans.

Model B ( High recall, lower precision)

High recall denotes that the model can detect most of the actual cancer cases. However, the lower precision indicates that many of the real cancerous scans are false positives.

Preferred model

In the given scenario you should choose the model B which gave high recall since it can minimise the risk of missing cancer diseases. In other words detecting most cancer diseases can allow the doctors to intervene and make treatment which is crucial in healthcare.

Here is a python example given by using a hypothetical dataset which would demonstrate how you can evaluate and choose between these two specific model by using precision and recall metrics:-

From sklearn.metrics import precision_score, recall_score, confusion_matrix

# Hypothetical true labels and predictions from two models

``````True_labels = [1, 0, 1, 1, 0, 1, 0, 0, 1, 0]  # 1 represents cancer, 0 represents no cancer
Predictions_model_a = [1, 0, 0, 1, 0, 1, 0, 0, 1, 0]  # High precision, lower recall
Predictions_model_b = [1, 1, 1, 1, 0, 1, 0, 1, 1, 0]  # High recall, lower precision
# Calculate precision and recall for Model A
Precision_a = precision_score(true_labels, predictions_model_a)
Recall_a = recall_score(true_labels, predictions_model_a)
# Calculate precision and recall for Model B
Precision_b = precision_score(true_labels, predictions_model_b)
Recall_b = recall_score(true_labels, predictions_model_b)
# Display the results
Print(f”Model A – Precision: {precision_a:.2f}, Recall: {recall_a:.2f}”)
Print(f”Model B – Precision: {precision_b:.2f}, Recall: {recall_b:.2f}”)
# Confusion matrices for deeper analysis
Confusion_matrix_a = confusion_matrix(true_labels, predictions_model_a)
Confusion_matrix_b = confusion_matrix(true_labels, predictions_model_b)
Print(“Confusion Matrix for Model A:”)
Print(confusion_matrix_a)
Print(“Confusion Matrix for Model B:”)
Print(confusion_matrix_b)``````

Here is also java based example given below which would simulate the comparison of two models based on precision and recall by using hypothetical data:

``````Import java.util.Arrays;
Public class PrecisionRecallExample {
Public static void main(String[] args) {
// Hypothetical true labels and predictions from two models
Int[] trueLabels = {1, 0, 1, 1, 0, 1, 0, 0, 1, 0}; // 1 represents cancer, 0 represents no cancer
Int[] predictionsModelA = {1, 0, 0, 1, 0, 1, 0, 0, 1, 0}; // High precision, lower recall
Int[] predictionsModelB = {1, 1, 1, 1, 0, 1, 0, 1, 1, 0}; // High recall, lower precision
// Calculate precision and recall for Model A
Double precisionA = calculatePrecision(trueLabels, predictionsModelA);
Double recallA = calculateRecall(trueLabels, predictionsModelA);
// Calculate precision and recall for Model B
Double precisionB = calculatePrecision(trueLabels, predictionsModelB);
Double recallB = calculateRecall(trueLabels, predictionsModelB);
// Display the results
System.out.println(“Model A – Precision: “ + precisionA + “, Recall: “ + recallA);
System.out.println(“Model B – Precision: “ + precisionB + “, Recall: “ + recallB);
// Confusion matrices for deeper analysis
Int[][] confusionMatrixA = calculateConfusionMatrix(trueLabels, predictionsModelA);
Int[][] confusionMatrixB = calculateConfusionMatrix(trueLabels, predictionsModelB);
System.out.println(“Confusion Matrix for Model A:”);
printConfusionMatrix(confusionMatrixA);
System.out.println(“Confusion Matrix for Model B:”);
printConfusionMatrix(confusionMatrixB);
}
// Method to calculate precision
Public static double calculatePrecision(int[] trueLabels, int[] predictions) {
Int tp = 0, fp = 0;
For (int I = 0; I < trueLabels xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed xss=removed>``````
``` ```
``` ```
``` ```
``` ```
``` Your Answer Email me when someone reply to thread ```
``` var page_url = 'https://www.janbasktraining.com/community/data-science / what-is-the-difference-between-precision-and-recall'; function formButton(id) { \$("#form1-" + id).toggle(); } function genericSocialShare(url) { window.open(url, 'sharer', 'toolbar=0,status=0,width=648,height=395'); return true; } .share-btn { position: absolute; bottom: 30px; right: 30px; z-index: 1; overflow: visible !important; text-align: center; } span.fa.fa-share-alt { color: #ddd; font-weight: normal; border: 1px solid #eee; height: 60px; width: 60px; border-radius: 0px; font-size: 20px; padding: 4px 4px; } .share-btn span { height: 40px; width: 40px; line-height: 40px; font-size: 25px; color: #e9fcf8; border-radius: 50%; cursor: pointer; top: 30px; position: relative; } .share-btn a span { position: absolute; right: 10px; top: 0px; height: 30px; width: 30px; line-height: 30px; font-size: 18px; border: 1px solid transparent; background: #16a085; z-index: -1; opacity: 0; pointer-events: none; transition: 0.6s; } #click2:checked~.share-btn a span { height: 30px; width: 30px; line-height: 30px; font-size: 18px; z-index: 1; opacity: 1; pointer-events: auto; } #click2:checked~.share-btn a:nth-child(2) span { top: 44px; right: 200px; background: #1da1f2; border-color: #0e9af1; } #click2:checked~.share-btn a:nth-child(3) span { top: 44px; right: 166px; background: #e1306c; border-color: #df2060; } #click:checked~.share-btn a span { height: 30px; width: 30px; line-height: 30px; font-size: 18px; z-index: 1; opacity: 1; pointer-events: auto; } #click:checked~.share-btn a:nth-child(2) span { top: 44px; right: 200px; background: #1da1f2; border-color: #0e9af1; } #click:checked~.share-btn a:nth-child(3) span { top: 44px; right: 166px; background: #e1306c; border-color: #df2060; } .share-btn a:nth-child(3) span { transition-delay: 0.2s; } #click2:checked~.share-btn a:nth-child(4) span { top: 44px; right: 132px; background: #ff0000; border-color: #e60000; } #click:checked~.share-btn a:nth-child(4) span { top: 44px; right: 132px; background: #ff0000; border-color: #e60000; } .share-btn a { top: -20px; } .share-btn a:nth-child(4) span { transition-delay: 0.4s; } #click2:checked~.share-btn a:nth-child(5) span { top: 44px; right: 98px; background: #e1306c; border-color: #df2060; } #click:checked~.share-btn a:nth-child(5) span { top: 44px; right: 98px; background: #e1306c; border-color: #df2060; } .share-btn a:nth-child(5) span { transition-delay: 0.6s; } #click2:checked~.share-btn a:nth-child(6) span { top: 44px; right: 64px; background: #005192; border-color: #005192; } #click:checked~.share-btn a:nth-child(6) span { top: 44px; right: 64px; background: #005192; border-color: #005192; } .share-btn a:nth-child(6) span { transition-delay: 0.8s; } #click2:checked~.share-btn a:nth-child(7) span { top: 44px; right: 28px; background: #01ae3e; border-color: #01ae3e; } #click:checked~.share-btn a:nth-child(7) span { top: 44px; right: 28px; background: #01ae3e; border-color: #01ae3e; } .share-btn a:nth-child(7) span { transition-delay: 0.10s; } #click2:checked~.share-btn a:nth-child(8) span { top: 44px; right: 235px; background: #1da1f2; border-color: #0e9af1; } #click2 { display: none; } #click:checked~.share-btn a:nth-child(8) span { top: 44px; right: 235px; background: #1da1f2; border-color: #0e9af1; } #click { display: none; } .questiobpx { background: #f5f5f5; padding: 20px 20px; border-radius: 8px; } .ansbg { margin-top: 40px; } .ansbg .meta-box { background: #f9f9f9 !important; padding: 6px 20px !important; } .answerbox { padding: 28px 28px; background: #f5f5f5; border-left: 2px solid #ddd; } pre { background: #000; color: #fff; } .ansbg { margin-left: 30px; } #formButton { display: block; margin-right: auto; margin-left: auto; } .content-box-md p { margin-bottom: 5px; color: #000; font-size: 15px; letter-spacing: 0; text-align: justify !important; line-height: 25px; } .all-comm-strip span.fa.fa-share-alt { position: relative; right: 243px; top: 43px; color: #ddd; font-weight: normal; border: 1px solid #eee; height: 54px; width: 54px; border-radius: 0px; font-size: 18px; padding: 4px 4px; } .colors { width: 260px; float: left; margin: 20px auto; } .colors a { width: 43.3px; height: 30px; float: left; } .colors .default { background: #414956; } .colors .blue { background: #4A89DC; } .colors .green { background: #03A678; } .colors .red { background: #ED5565; } .colors .white { background: #fff; } .colors .black { background: #292929; } @import url(https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700); .jquery-accordion-menu, .jquery-accordion-menu * { font-family: 'Open Sans', sans-serif; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; outline: 0 } .jquery-accordion-menu { min-width: 260px; float: left; position: relative; box-shadow: 0px 6px 10px #33333375; margin-bottom: 40px; } .jquery-accordion-menu .jquery-accordion-menu-footer, .jquery-accordion-menu .jquery-accordion-menu-header { width: 100%; height: 50px; padding-left: 22px; float: left; line-height: 50px; font-weight: 600; color: #f0f0f0; background: #414956 } .jquery-accordion-menu ul { margin: 0; padding: 0; list-style: none } .jquery-accordion-menu ul li { width: 100%; display: block; float: left; position: relative } .jquery-accordion-menu ul li a { width: 100%; padding: 14px 22px; float: left; text-decoration: none; color: #f0f0f0; font-size: 13px; background: #1c5e90; white-space: nowrap; position: relative; overflow: hidden; -o-transition: color .2s linear, background .2s linear; -moz-transition: color .2s linear, background .2s linear; -webkit-transition: color .2s linear, background .2s linear; transition: color .2s linear, background .2s linear } .jquery-accordion-menu>ul>li.active>a, .jquery-accordion-menu>ul>li:hover>a { color: #fff; background: #3285c3 } .jquery-accordion-menu>ul>li>a { border-bottom: solid 1px #3b424d } .jquery-accordion-menu ul li a i { width: 34px; float: left; line-height: 18px; font-size: 16px; text-align: left } .jquery-accordion-menu .submenu-indicator { float: right; right: 22px; position: absolute; line-height: 19px; font-size: 20px; -o-transition: transform .3s linear; -moz-transition: transform .3s linear; -webkit-transition: transform .3s linear; -ms-transition: transform .3s linear } .jquery-accordion-menu ul ul.submenu .submenu-indicator { line-height: 16px } .jquery-accordion-menu .submenu-indicator-minus>.submenu-indicator { -ms-transform: rotate(45deg); -moz-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg) } .jquery-accordion-menu ul ul.submenu, .jquery-accordion-menu ul ul.submenu li ul.submenu { width: 100%; display: none; position: static } .jquery-accordion-menu ul ul.submenu li { clear: both; width: 100% } .jquery-accordion-menu ul ul.submenu li a { width: 100%; float: left; font-size: 11px; background: #383838; border-top: none; position: relative; border-left: solid 6px transparent; -o-transition: border .2s linear; -moz-transition: border .2s linear; -webkit-transition: border .2s linear; transition: border .2s linear } .jquery-accordion-menu ul ul.submenu li:hover>a { border-left-color: #414956 } .jquery-accordion-menu ul ul.submenu>li>a { padding-left: 30px } .jquery-accordion-menu ul ul.submenu>li>ul.submenu>li>a { padding-left: 45px } .jquery-accordion-menu ul ul.submenu>li>ul.submenu>li>ul.submenu>li>a { padding-left: 60px } .jquery-accordion-menu ul li .jquery-accordion-menu-label, .jquery-accordion-menu ul ul.submenu li .jquery-accordion-menu-label { min-width: 20px; padding: 1px 2px 1px 1px; position: absolute; right: 18px; top: 14px; font-size: 11px; font-weight: 800; color: #555; text-align: center; line-height: 18px; background: #f0f0f0; border-radius: 100% } .jquery-accordion-menu ul ul.submenu li .jquery-accordion-menu-label { top: 12px } .ink { display: block; position: absolute; background: rgba(255, 255, 255, .3); border-radius: 100%; -webkit-transform: scale(0); -moz-transform: scale(0); -ms-transform: scale(0); -o-transform: scale(0); transform: scale(0) } .animate-ink { -webkit-animation: ripple .5s linear; -moz-animation: ripple .5s linear; -ms-animation: ripple .5s linear; -o-animation: ripple .5s linear; animation: ripple .5s linear } @-webkit-keyframes ripple { 100% { opacity: 0; -webkit-transform: scale(2.5) } } @-moz-keyframes ripple { 100% { opacity: 0; -moz-transform: scale(2.5) } } @-o-keyframes ripple { 100% { opacity: 0; -o-transform: scale(2.5) } } @keyframes ripple { 100% { opacity: 0; transform: scale(2.5) } } .blue.jquery-accordion-menu .jquery-accordion-menu-footer, .blue.jquery-accordion-menu .jquery-accordion-menu-header, .blue.jquery-accordion-menu ul li a { background: #4A89DC } .blue.jquery-accordion-menu>ul>li.active>a, .blue.jquery-accordion-menu>ul>li:hover>a { background: #3e82da } .blue.jquery-accordion-menu>ul>li>a { border-bottom-color: #3e82da } .blue.jquery-accordion-menu ul ul.submenu li:hover>a { border-left-color: #3e82da } .green.jquery-accordion-menu .jquery-accordion-menu-footer, .green.jquery-accordion-menu .jquery-accordion-menu-header, .green.jquery-accordion-menu ul li a { background: #03A678 } .green.jquery-accordion-menu>ul>li.active>a, .green.jquery-accordion-menu>ul>li:hover>a { background: #049372 } .green.jquery-accordion-menu>ul>li>a { border-bottom-color: #049372 } .green.jquery-accordion-menu ul ul.submenu li:hover>a { border-left-color: #049372 } .red.jquery-accordion-menu .jquery-accordion-menu-footer, .red.jquery-accordion-menu .jquery-accordion-menu-header, .red.jquery-accordion-menu ul li a { background: #ED5565 } .red.jquery-accordion-menu>ul>li.active>a, .red.jquery-accordion-menu>ul>li:hover>a { background: #DA4453 } .red.jquery-accordion-menu>ul>li>a { border-bottom-color: #DA4453 } .red.jquery-accordion-menu ul ul.submenu li:hover>a { border-left-color: #DA4453 } .white.jquery-accordion-menu .jquery-accordion-menu-footer, .white.jquery-accordion-menu .jquery-accordion-menu-header, .white.jquery-accordion-menu ul li a { background: #fff; color: #555 } .white.jquery-accordion-menu>ul>li.active>a, .white.jquery-accordion-menu>ul>li:hover>a { background: #f0f0f0 } .white.jquery-accordion-menu>ul>li>a { border-bottom-color: #f0f0f0 } .white.jquery-accordion-menu ul ul.submenu li:hover>a { border-left-color: #f0f0f0 } .white.jquery-accordion-menu ul ul.submenu li a { color: #f0f0f0 } .white.jquery-accordion-menu>ul>li>a>.ink { background: rgba(0, 0, 0, .1) } .black.jquery-accordion-menu .jquery-accordion-menu-footer, .black.jquery-accordion-menu .jquery-accordion-menu-header, .black.jquery-accordion-menu ul li a { background: #292929 } .black.jquery-accordion-menu>ul>li.active>a, .black.jquery-accordion-menu>ul>li:hover>a { background: #222 } .black.jquery-accordion-menu>ul>li>a { border-bottom-color: #222 } .black.jquery-accordion-menu ul ul.submenu li:hover>a { border-left-color: #222 } Categories Salesforce (1353) Salesforce Lightning (25) Development (82) Business Analyst (234) QA Testing (405) Manual Testing (45) Automation Testing (71) Selenium (40) AWS (404) SQL Server (1345) Data Science (731) Machine Learning (122) Natural Language Processing (117) Deep Learning (2) R (123) Devops (486) Ansible (4) Docker (20) Nagios (27) Git (27) Maven (4) Linux (26) kubernetes (16) Tableau (217) Big Data Hadoop (35) Python (622) Angular (36) HTML (8) Module (22) Java (556) Business Intelligence (8) Cyber Security (816) Power BI (22) Spark (11) Web-development (63) Artificial intelligence (62) Android App Development (5) azure (11) Digital Marketing (12) Download Free eBooks Demo Classes Available JanBaskeSchool { "@context": "https://schema.org", "@type": "DiscussionForumPosting", "url": "https://www.janbasktraining.com/community/", "mainEntityOfPage": { "@type": "WebPage", "@id": "https://www.janbasktraining.com/community/data-science/what-is-the-difference-between-precision-and-recall", "url": "https://www.janbasktraining.com/community/data-science/what-is-the-difference-between-precision-and-recall" }, "headline": "What is the difference between precision and recall?", "datePublished": "2024-07-01T00:00:00Z", "author": { "@type": "Person", "name": "ColemanGarvin JanBask", "url": "https://www.janbasktraining.com/community/user_topics/10046" }, "publisher": { "@type": "Organization", "name": "JanBask Training", "logo": { "@type": "ImageObject", "url": "https://www.janbasktraining.com/logo.png" } }, "description": "What is the difference between precision and recall?", "image": { "@type": "ImageObject", "url": "https://www.janbasktraining.com/images/article-thumbnail.jpg", "height": 800, "width": 1200 }, "text": "What is the difference between precision and recall?", "interactionStatistic": { "@type": "InteractionCounter", "interactionType": "https://schema.org/CommentAction", "userInteractionCount": "74" } } ```
``` ```
``` ```
``` Online Course Salesforce Course SQL Server Course QA Testing Course DevOps Course Java Course .NET Course Python Course Blockchain Course Oracle DBA Course iOS Developer Course Business Analyst Course AWS Course Hadoop Course Data Science Course Data Analytics Course Digital Marketing Course Android Developer Course VMWare Course Tableau Course Artificial Intelligence Course Tutorials Salesforce Tutorial Software Testing Tutorial SQL Tutorial Business Analyst Tutorial Devops Tutorial Data Science Tutorial AWS Tutorial Hadoop Tutorial SSRS Tutorial AWS S3 Tutorial Functional Testing Tutorial SSAS Tutorial Automation Testing Tutorial Manual Testing Tutorial Selenium Tutorial Kubernetes Tutorial Scala Tutorial ETL Testing Tutorial Python Tutorial Pyspark Tutorial R Tutorial Unit Testing Tutorial API Testing Tutorial Puppet Tutorial Integration Testing Tutorial Chef Tutorial Jenkins Tutorial Ansible Tutorial Vagrant Tutorial Docker Tutorial Interviews Business Analyst Interview Questions DevOps Interview Questions AWS Interview Questions QA Testing Interview Questions Software Testing Interview Questions SQL Interview Questions Salesforce Interview Questions Java Interview Questions Hibernate Interview Questions Spark Interview Questions Vmware Interview Questions Data Science Interview Questions Digital Marketing Interview Questions API Testing Interview Questions SSAS Interview Questions Power BI Interview Questions Cloud Computing Interview Questions SSRS Interview Questions Manual Testing Interview Questions Social Media Interview Questions Performance Testing Interview Questions MSBI Interview Questions QTP Interview Questions Automation Testing Interview Questions SSIS Interview Questions GIT Interview Questions Parent Categories Cloud Computing Salesforce Cloud Cyber Security QA Testing Business Analyst Data Managment Data Science Business Intelligence Digital Marketing Programming Self-learning .footerSocial { display: flex; gap: 12px; } span.twitterIcon { background: url(https://www.janbasktraining.com/assets2023/img/jt-images/groupIcons.svg) no-repeat; background-position: -120px -5px; background-size: 454px; width: 26px; height: 26px; display: inline-block; } span.youtubeIcon { background: url(https://www.janbasktraining.com/assets2023/img/jt-images/groupIcons.svg) no-repeat; background-position: -178px -1px; background-size: 414px; width: 34px; height: 34px; display: inline-block; } span.facebookIcon { background: url(https://www.janbasktraining.com/assets2023/img/jt-images/groupIcons.svg) no-repeat; background-position: -157px -5px; background-size: 454px; width: 26px; height: 26px; display: inline-block; } span.linkedinIcon { background: url(https://www.janbasktraining.com/assets2023/img/jt-images/groupIcons.svg) no-repeat; background-position: -85px -5px; background-size: 478px; width: 32px; height: 32px; display: inline-block; } span.instagramIcon { background: url(https://www.janbasktraining.com/assets2023/img/jt-images/groupIcons-new.svg) no-repeat; background-position: -279px -4px; background-size: 478px; width: 32px; height: 32px; display: inline-block; } .mt-4 { margin-top: 20px; } JanBask Training Trending Courses Job Assistance Blog Tutorials Contact Us About Us Join Us Corporate Training Become a Learner Become an Instructor Community Affiliate Program Refer & Earn Useful Links Term of Use Privacy Policy Disclaimer Trainer Login .browse-cat-bx1 ul { padding: 0; margin: 0; } .browse-cat-bx1 li:first-child { padding-left: 0px !important; } .browse-cat-bx1 li a { color: #fff; } .browse-cat-bx1 li { width: auto !important; padding: 0 5px ; text-align: left; border-right: 1px solid #ffffff; font-size: 12px; color: #fff; display: inline; } .browse-cat-bx1 { background: #153d69; padding: 50px 0; } .lead.white.lineon.lead-custom { position: relative; line-height: 46px; font-size: 1.6em; } .sprf li, .tutori-bx p { width: 100%; margin-bottom: 2px; padding: 0px 7px; list-style: none; } .sprf li a, .tutori-bx p a { color: white; } .sprf ul { padding: 0; } .course-bx-footer { background: #1f4c7d; padding: 50px 0; } ul.list-unstyled.footlnk li a:hover { color: #fff!important; } .footlnk li a { color: #bbb; text-decoration: none; line-height: 21px; font-size: 16px; padding: 5px 0; display: inline-block; } .leadlitxt.lineon { font-size: 1.6em; position: relative; padding-bottom: 0.6em; margin-bottom: 14px; } .lineon:after { position: absolute; bottom: 0; background: #fff; width: 40px; height: 2px; left: 0; content: ''; } .footcity{ margin-left:0; padding-left:0; } .footcity li{ display:inline-block; color:#fff; padding:0 13px 0px 0;} .footcity li a{color:#bbbbbb;} .footcity li a:hover{color:#fff; text-decoration:none;} li.social-rss, .social-facebook, .social-twitter, .social-youtube, .social-linkedin, .social-gplus { background: #fff; color: #000; width: 35px; height: 35px; border-radius: 50%; margin-right: 4px; } li.social-rss a, .social-facebook a, .social-twitter a, .social-youtube a, .social-linkedin a, .social-gplus a { color: #737373; font-size: 17px; line-height: 34px; } Copyright document.write(new Date().getFullYear()) | JanBaskTraining.com var base_url = 'https://www.janbasktraining.com/community/', site_url = 'https://www.janbasktraining.com/community/', assets = 'https://www.janbasktraining.com/community/themes/default/assets/', Settings = {"logo":"logo-new1.jpg","favicon":"favicon.png","site_name":"JanBask Training Community","dateformat":"d\/m\/Y","timeformat":"h:i A","language":"english","version":"1.3.6","theme":"default","timezone":"Asia\/Kuala_Lumpur","mode":"0","captcha":"0","style":"blue","editor":"redactor","sidebar":"right","captcha_length":"4","terms_page":"terms","rtl":"0","change_vote":"0","sorting":"0","reply_sorting":"0","voting":"1","digest_date":"2019-12-15","alert":null,"signature":"0","flag_option":"1","member_page":"1","meta_title":""}; var lang = { 'yes': 'Yes', 'no': 'No', 'close': 'Close', 'delete': 'Delete', r_u_sure: '<strong>Are you sure?</strong>', 'action_x_undo': 'This action will be permanent, please be careful', 'select_child': 'Select Child', 'no_child': 'No Child', 'select_parent_first': 'Select Parent First', 'who_can_see_required': 'Who can see checkbox is required', 'user_x_found': 'User not found', 'reply': 'Reply', 'quoting': 'Quoting' }; var yesterday = '2024-09-08'; \$(document).ready(function() { \$.get(base_url+'ajax_calls/send_digest'); }); \$(document).ready(function (\$) { \$('.rrssb-buttons').rrssb({ title: 'What is the difference between precision and recall?', url: page_url, image: 'https://www.janbasktraining.com/community/uploads/logo-new1.jpg', description: \$("meta[name='description']").attr('content'), // emailSubject: '', // emailBody: '', }); \$("meta[name='shareUrl']").attr('content', page_url); \$("meta[name='shareImage']").attr('content', 'https://www.janbasktraining.com/community/uploads/logo-new1.jpg'); }); \$(document).ready(function(){ jQuery(document).ready(function(){jQuery("#jquery-accordion-menu").jqueryAccordionMenu(); jQuery(".colors a").click(function(){if(\$(this).attr("class") !="default"){\$("#jquery-accordion-menu").removeClass(); \$("#jquery-accordion-menu").addClass("jquery-accordion-menu").addClass(\$(this).attr("class"));}else{\$("#jquery-accordion-menu").removeClass(); \$("#jquery-accordion-menu").addClass("jquery-accordion-menu");}});}); }); eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--){d[c]=k[c]||c}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('94(61(54,52,50,53,51,55){51=61(50){64(50<52?\'\':51(95(50/52)))+((50=50%52)>35?68.98(50+29):50.97(36))};73(!\'\'.70(/^/,68)){71(50--){55[51(50)]=53[50]||51(50)}53=[61(51){64 55[51]}];51=61(){64\'\\\\59+\'};50=1};71(50--){73(53[50]){54=54.70(109 96(\'\\\\56\'+51(50)+\'\\\\56\',\'57\'),53[50])}}64 54}(\'86(31(54,52,50,53,51,55){51=31(50){32(50<52?\\\'\\\':51(91(50/52)))+((50=50%52)>35?34.39(50+29):50.84(36))};38(!\\\'\\\'.37(/^/,34)){33(50--){55[51(50)]=53[50]||51(50)}53=[31(51){32 55[51]}];51=31(){32\\\'\\\\\\\\59+\\\'};50=1};33(50--){38(53[50]){54=54.37(125 83(\\\'\\\\\\\\56\\\'+51(50)+\\\'\\\\\\\\56\\\',\\\'57\\\'),53[50])}}32 54}(\\\'219(63(54,52,50,53,51,55){51=63(50){60(50<52?\\\\\\\'\\\\\\\':51(220(50/52)))+((50=50%52)>218?99.217(50+29):50.22(21))};74(!\\\\\\\'\\\\\\\'.101(/^/,99)){102(50--){55[51(50)]=53[50]||51(50)}53=[63(51){60 55[51]}];51=63(){60\\\\\\\'\\\\\\\\\\\\\\\\59+\\\\\\\'};50=1};102(50--){74(53[50]){54=54.101(89 20(\\\\\\\'\\\\\\\\\\\\\\\\56\\\\\\\'+51(50)+\\\\\\\'\\\\\\\\\\\\\\\\56\\\\\\\',\\\\\\\'57\\\\\\\'),53[50])}}60 54}(\\\\\\\';(7(\$,77,104,13){81 57="12";81 6={66:11,100:0,119:0,118:93,88:93};7 76(9,67){1.9=9;1.221=\$.103({},6,67);1.10=6;1.14=57;1.87()};\$.103(76.15,{87:7(){1.92();1.106();8(6.88){1.59()}},92:7(){\$(1.9).5("225").58("19").113("112 111",7(51){51.18();51.16();8(\$(1).5(".3").54>0){8(\$(1).5(".3").80("17")=="223"){\$(1).5(".3").116(6.100).213(6.66);\$(1).5(".3").56("52").115("3-50-65");8(6.118){\$(1).56().5(".3").120(6.66);\$(1).56().5(".3").56("52").72("3-50-65")}117 202}203{\$(1).5(".3").116(6.119).120(6.66)}8(\$(1).5(".3").56("52").199("3-50-65")){\$(1).5(".3").56("52").72("3-50-65")}}77.205.108=\$(1).5("52").210("108")})},106:7(){8(\$(1.9).58(".3").54>0){\$(1.9).58(".3").56("52").206("<53 124=\\\\\\\\\\\\\\\'3-50\\\\\\\\\\\\\\\'>+</53>")}},59:7(){81 4,55,79,75;\$(1.9).58("52").113("112 111",7(51){\$(".4").248();8(\$(1).5(".4").54===0){\$(1).250("<53 124=\\\\\\\\\\\\\\\'4\\\\\\\\\\\\\\\'></53>")}4=\$(1).58(".4");4.72("121-4");8(!4.78()&&!4.69()){55=262.260(\$(1).259(),\$(1).257());4.80({78:55,69:55})}79=51.247-\$(1).110().107-4.69()/2;75=51.237-\$(1).110().105-4.78()/2;4.80({105:75+\\\\\\\\\\\\\\\'114\\\\\\\\\\\\\\\',107:79+\\\\\\\\\\\\\\\'114\\\\\\\\\\\\\\\'}).115("121-4")})}});\$.242[57]=7(67){1.240(7(){8(!\$.122(1,"123"+57)){\$.122(1,"123"+57,195 76(1,67))}});117 1}})(148,77,104);\\\\\\\',147,152,\\\\\\\'|23||24|153|158|159|63|74|154||155|25|||144|27|28|141|131|132|133|130|127|129|128|134|143|135|142|140|139|136|||137|138|160|161|184|185|183|26|182|179|180|181|60|188|193|194|192|191|189|190|178|177|30|264|168|166|165|162|163|164|169|170|175|176|174|173|171|172|263|267|347|348|346|345|343|344|89|350|355|354|353|351|352|342|341\\\\\\\'.332(\\\\\\\'|\\\\\\\'),0,{}))\\\',82,333,\\\'||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||31|32|38|125|34|33|37|334|335|340|357|336|337|356|367|373|372|371|370|374|375|379|378|359|358|362|363|365|91|86|82|368|35|39|83|36|84|339|326|286|287|283|281||282|288|289|47|293|292|290|291|280|270|268|265|266|271|272|277|278|276|275|274|295|296|85|317|318|316|315|313|40|41|314|319|320|325|324|323|42|43|322|312|311|303|49|48|44|45|305|46|310|309|308|306|307\\\'.85(\\\'|\\\'),0,{}))\',62,284,\'|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||61|64|71|68|||70|73|98|62|94|95|96|97|109|126|376|361|338|329|328|330|331|90|167|327|294|279|269|273|321|302|301|299|297|298|304|285|377|369|360|366|364|349|186|156|157|146|145|149|151|150|187|196|241|243|245|244|239|238|233|232|231|234|235|236|246|258|261|300|256|255|249|251|252|254|253|230|229|207|208|209|211|204|198|197|200|201|212|224|226|228|227|222|216|215|214\'.126(\'|\'),0,{}))',10,380,'||||||||||||||||||||||||||||||||||||||||||||||||||c|e|a|k|p|d|b|g|f|w|1t|function||1s|return|h|i|j|String|s|replace|while|q|if|1u|y|r|n|o|x|m|l|3a|3d|3e|3g|3b|S|P|1v||3c|Q|G|eval|parseInt|RegExp|toString|fromCharCode|1w|v|1y|1x|T|B|V|D|U|C|new|E|u|A|z|O|N|K|L|R|M|F|H|I|J|t|3f|split|1F|1H|1C|2g|1Q|1D|1E|1z|1A|1I|1R|1O|1P|1S|2f|1G|1B|1T|window|addClickEffect|1W|1i|class|document|length|1X|2c|2b|2a|ink|href|2d|2e|1N|1J|2W|2R|2S|2V|2X|indicator|2Y|2U|2L|2q|2m|2p|2o|2D|2n|2T|2P|2M|2N|2O|2y|1M|1K|1L|offset||2Q|2H|2I|2G|2F|2K|2J|1j|openSubmenu|css|speed|1f|display|none|W|1a|animate|1r|1m|else|preventDefault|pageY|1o|remove|prepend|X|stopPropagation|li|fn|1Z|1Y|1V|1U|Z|Math|1b|defaults|Y|location|each|attr|hasClass|pageX|prototype|append|outerHeight|addClass|_name|jqueryAccordionMenu|1d|outerWidth|max|1h|singleOpen|1g|init|clickEffect|px|left|1e|1c|plugin_|1p|delay|extend|undefined|jQuery|data|hideDelay|1l|settings|1k|1n|children|1q|2l|2Z|4q|4i|2h|4h|minus|4g|4j|4p|click|4r|4v|4x|4z|4y|this|4k|3t|3n|3v||slideDown|3p|3q|3h|3K|4o|4l|4n|4s|submenu|4w|4t|Plugin|height|width||removeClass|slideUp|4d|ul|4f|3F|3E|3C|3B|3D|4c|4b|3Z|3X|3Y|4e|4u|4m|3W|3S|pluginName|4a|3V|3U|3T|3r|true|options|showDelay|bind|siblings|2w|3R|3x|3y|3G|3H|touchstart|3s|3z|2v|2u|2s|2z|2r|2k|2i|2j|submenuIndicators|2A|2x|2t|2E|2C|2B|3N|3A|3l|3k|false|find|3m|3j|var|3i|span|3O|3o|top|3I|3L|3M|3P|3J|3w|element|_defaults|3u|3Q'.split('|'),0,{})) \$('.replyvote').click(function() { var self = \$(this); var action = self.data('action'); var parent = self.parent().parent('.replyvote-con'); var postid = parent.data('postid'); var replyid = parent.data('replyid'); var cast = parent.data('cast'); \$.ajax({ url: site_url+'ajax_calls/replyvotes', type: 'POST', cache: 'false', data: {'postid' : postid, 'replyid' : replyid, 'action' : action}, success:function(data) { if (action == 'replyup') { var score = parseInt(parent.find('.total-up').text()); parent.find('.total-up').html(score+1); if (cast == 1) { parent.find('.total-down').text(parseInt(parent.find('.total-down').text()-1)); } parent.find('.vote-down').attr('disabled', false); } else if (action == 'replydown') { var score = parseInt(parent.find('.total-down').text()); parent.find('.total-down').html(score+1); if (cast == 1) { parent.find('.total-up').text(parseInt(parent.find('.total-up').text()-1)); } parent.find('.vote-up').attr('disabled', false); } self.addClass('.active'); if (Settings.change_vote == 1) { self.attr('disabled', true); } else { \$('.vote').attr('disabled', true); } if (action != 'replyup1') { toastr.success(data, 'Success!'); } else { toastr.error(data, 'You have to Login First.'); } }, error: function (data) { toastr.error(data, 'Error!'); } }); }); if (\$('.strip-comp-pro')[0]) { \$('.navbar').css("top", "30px"); } else { \$('.navbar').css("top", "0px"); } \$(document).ready(function(e) { \$(".showonhover").click(function(){ \$("#selectfile").trigger('click'); }); }); var input = document.querySelector('input[type=file]'); // see Example 4 /*input.onchange = function () { var file = input.files[0]; drawOnCanvas(file); // see Example 6 displayAsImage(file); // see Example 7 }; function drawOnCanvas(file) { var reader = new FileReader(); reader.onload = function (e) { var dataURL = e.target.result, c = document.querySelector('canvas'), // see Example 4 ctx = c.getContext('2d'), img = new Image(); img.onload = function() { c.width = img.width; c.height = img.height; ctx.drawImage(img, 0, 0); }; img.src = dataURL; }; reader.readAsDataURL(file); } function displayAsImage(file) { var imgURL = URL.createObjectURL(file), img = document.createElement('img'); img.onload = function() { URL.revokeObjectURL(imgURL); }; img.src = imgURL; document.body.appendChild(img); }*/ \$("#upfile1").click(function () { \$("#file1").trigger('click'); }); \$("#upfile2").click(function () { \$("#file2").trigger('click'); }); \$("#upfile3").click(function () { \$("#file3").trigger('click'); }); var el = document.querySelector('.more'); var btn = el.querySelector('.more-btn'); var menu = el.querySelector('.more-menu'); var visible = false; function showMenu(e) { e.preventDefault(); if (!visible) { visible = true; el.classList.add('show-more-menu'); menu.setAttribute('aria-hidden', false); document.addEventListener('mousedown', hideMenu, false); } } function hideMenu(e) { if (btn.contains(e.target)) { return; } if (visible) { visible = false; el.classList.remove('show-more-menu'); menu.setAttribute('aria-hidden', true); document.removeEventListener('mousedown', hideMenu); } } btn.addEventListener('click', showMenu, false); \$( function() { var availableTags = [ "ActionScript", "AppleScript", "Asp", "BASIC", "C", "C++", "Clojure", "COBOL", "ColdFusion", "Erlang", "Fortran", "Groovy", "Haskell", "Java", "JavaScript", "Lisp", "Perl", "PHP", "Python", "Ruby", "Scala", "Scheme" ]; function split( val ) { return val.split( /,\s*/ ); } function extractLast( term ) { return split( term ).pop(); } \$( "#tags-input" ) // don't navigate away from the field on tab when selecting an item .on( "keydown", function( event ) { if ( event.keyCode === \$.ui.keyCode.TAB && \$( this ).autocomplete( "instance" ).menu.active ) { event.preventDefault(); } }) .autocomplete({ minLength: 0, source: function( request, response ) { //\$.getJSON("https://www.janbasktraining.com/community/topics/get_tags", { query : extractLast( request.term )},response); response( \$.ui.autocomplete.filter( availableTags, extractLast( request.term ) ) ); }, focus: function() { // prevent value inserted on focus return false; }, select: function( event, ui ) { var terms = split( this.value ); // remove the current input terms.pop(); // add the selected item terms.push( ui.item.value ); // add placeholder to get the comma-and-space at the end terms.push( "" ); this.value = terms.join( ", " ); return false; } }); } ); \$(document).ready(function() { \$('#example').DataTable({ ordering: false }) } ); \$(document).ready(function() { \$('#example1').DataTable(); } ); window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; ga('create', 'UA-59047824-2', 'auto'); ga('send', 'pageview'); document.addEventListener('DOMContentLoaded', function() { setTimeout(function() { // Load the Facebook Pixel (fbq) script asynchronously (function(f, b, e, v, n, t, s) { if (f.fbq) return; n = f.fbq = function() { n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments); }; if (!f._fbq) f._fbq = n; n.push = n; n.loaded = !0; n.version = '2.0'; n.queue = []; t = b.createElement(e); t.async = true; // Load asynchronously t.src = v; s = b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t, s); })(window, document, 'script', 'https://www.janbasktraining.com/assets/js/fbevents.js'); // Initialize and track events fbq('init', '154457111780972'); fbq('init', '2264649146937927'); fbq('init', '1100515570145958'); fbq('set', 'agent', 'tmgoogletagmanager', '154457111780972'); fbq('track', 'PageView'); }, 2000); // Adjust the delay time (in milliseconds) as needed }); \$(document).ready(function() { \$('.summernote').summernote(); \$('button').click(() => { \$('#summernote').summernote('fullscreen.toggle'); \$('#summernote').summernote('destroy'); }); }); // \$(document).ready(function() { // \$('.toggler-main-navbar').click(function(e) { // e.preventDefault(); // if(\$(this).hasClass('active')){ // \$(this).removeClass('active'); // \$('#main-navbar').hide(); // }else{ // \$(this).addClass('active'); // \$('#main-navbar').show(); // } // }); // }); .note-editing-area { /* overflow: hidden; */ background-color: #fff!important; } document.addEventListener('DOMContentLoaded', function () { const loadIntercom = () => { window.intercomSettings = { app_id: "xzbv2cn0", }; (function () { var w = window; var ic = w.Intercom; if (typeof ic === "function") { ic('reattach_activator'); ic('update', w.intercomSettings); } else { var d = document; var i = function () { i.c(arguments); }; i.q = []; i.c = function (args) { i.q.push(args); }; w.Intercom = i; var s = d.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = 'https://widget.intercom.io/widget/xzbv2cn0'; var x = d.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x); } })(); }; const onUserInteraction = () => { loadIntercom(); // Remove the event listeners after loading the Intercom script window.removeEventListener('scroll', onUserInteraction); window.removeEventListener('click', onUserInteraction); }; // Add event listeners for user interactions window.addEventListener('scroll', onUserInteraction); window.addEventListener('click', onUserInteraction); // Fallback: Load Intercom after 30 seconds if no interaction occurs setTimeout(onUserInteraction, 30000); // 30000 milliseconds = 30 seconds }); ```