Scarlett's Log
Scarlett's Log
  • 15
  • 262 592
Precision, Recall, & F1 Score Intuitively Explained
Classification performance metrics are an important part of any machine learning system. Here we discuss the most basic and common measures of model performance; accuracy, precision, recall, and F1 score.
Chapters:
0:00 Introduction
1:02 Basic Definitions
2:50 Accuracy
4:30 Precision
5:36 Recall
6:34 F1 Score
8:07 Conclusion
มุมมอง: 58 408

วีดีโอ

Transformer Networks - Paper Overview: Attention is All You Need
มุมมอง 7774 ปีที่แล้ว
Paper overview of "Attention is All You Need" papers.nips.cc/paper/7181-attention-is-all-you-need.pdf
Better Semantic Vectors - Retrofitting Word Vectors to Semantic Lexicons - Paper Overview
มุมมอง 6624 ปีที่แล้ว
Paper overview of 'Retrofitting Word Vectors to Semantic Lexicons' by Manaal Faruqui et al.
Guppies - Electric Moscow Blue (EMB) Guppies Showcase
มุมมอง 6K4 ปีที่แล้ว
A few guppies swimming around in a 86L tank. They're quite hard to film from moving around but the beautiful deep blue males are quite true to colour. The larger brown ones are the females, and you can also see a pleco lurking around behind.
GraphSAGE - Inductive Representation Learning on Large Graphs - Paper Overview
มุมมอง 10K4 ปีที่แล้ว
Paper overview of "Inductive Representation Learning on Large Graphs" by W. Hamilton et al., Department of C.S. @ Stanford, NIPS 2017
GloVe: Global Vectors for Word Representation - Paper Overview
มุมมอง 22K4 ปีที่แล้ว
A brief introduction to the GloVe word embedding method. Original paper details: nlp.stanford.edu/projects/glove/
Intro to Current Mirrors and Current Sources
มุมมอง 139K12 ปีที่แล้ว
A very basic explanation of what current mirrors are, and how they work. Intellectual property of Shane Scarlett and Karlos Ishac.
Snow Day in Seoul
มุมมอง 22812 ปีที่แล้ว
Snow's becoming somewhat of a rare commodity these days. It's always beautiful when it comes, though.
KTX at 300km/h - South Korean high speed rail
มุมมอง 2.4K12 ปีที่แล้ว
Cabin view of the Seoul-Busan KTX train at it's fastest of approximately 300 km/h (186mph).
View from Yong Pyeong ski resort
มุมมอง 10812 ปีที่แล้ว
This video was uploaded from an Android phone.
RGB LED PWM controller - Prototyping complete
มุมมอง 2.5K13 ปีที่แล้ว
Microcontroller: PIC18F452 Board: EasyPIC v7 Implemented sine-wave smoothing and gamma correction. The PWM signal from the PIC's ports goes into a little driver circuit that powers 30 individual LEDs with 3 channels (RGB) each on a separate 12V supply. Power consumption is about 0.7A at 12V (8W). Issues: the mess of interconnecting wires between the LEDs in parallel seem to be incurring a sligh...
How to exit a Seoul Metro train
มุมมอง 3.3K13 ปีที่แล้ว
How to get off a crowded metro train.
How to transfer from a Seoul Metro train
มุมมอง 10K13 ปีที่แล้ว
This is how you get from one subway line to another.
How to board a Seoul Metro train
มุมมอง 6K13 ปีที่แล้ว
How to get on a subway train in Seoul.
Timer compares working
มุมมอง 46213 ปีที่แล้ว
Microcontroller: PIC18F452 Board: EasyPIC v7 Timer compare interrupts working on a 8MHz base clock 2MHz instruction frequency, incrementing portB every 1 second. Will form the basis for my PWM project.

ความคิดเห็น

  • @kindaeasy9797
    @kindaeasy9797 4 หลายเดือนก่อน

    7:19 ? okay if Xij is =0 then your loss function is not defined dumb dumb

  • @aristotlesocrates8409
    @aristotlesocrates8409 8 หลายเดือนก่อน

    Excellent explanation

  • @RolandoLopezNieto
    @RolandoLopezNieto 9 หลายเดือนก่อน

    Great explanation, thank you very much

  • @nintendo873
    @nintendo873 9 หลายเดือนก่อน

    Awesome video!

  • @justsuyash
    @justsuyash ปีที่แล้ว

    Probably the best explanation on the net.

  • @Maddy6919
    @Maddy6919 ปีที่แล้ว

    These concepts "clicked" for me thanks to this video, really great work and thank you so much for sharing.

  • @felipe_marra
    @felipe_marra ปีที่แล้ว

    tnks

  • @hansoflaherty9864
    @hansoflaherty9864 ปีที่แล้ว

    Thank you

  • @stretch8390
    @stretch8390 ปีที่แล้ว

    Really clear explanation, well done.

  • @timguo6858
    @timguo6858 ปีที่แล้ว

    Love you!

  • @tsaoupod75
    @tsaoupod75 ปีที่แล้ว

    Great explanation thank you

  • @VOGTLANDOUTDOORS
    @VOGTLANDOUTDOORS ปีที่แล้ว

    ENJOYED THE VIDEO - keep up the great work ! I DO find myself with one question though... what about the "NULL" case did it actually get considered? In one example you describe a type B as the "positive" case amongst types A, B, C and D; this makes SENSE, BUT... ... you then describe the "negatives" as being ONLY A, C and D... but what about the case of "NOT A, B, C OR D" ? This is the "null" set, and it occurs quite regularly in Computer Vision OBJECT DETECTION models. IMAGINE THIS SCENARIO: An image of FRUIT on a TABLE - 3 red apples, 1 yellow apple, and 2 bananas. SAY you're looking to detect APPLES, but your MODEL only detects the 3 RED APPLES and UTTERLY MISSES the 1 YELLOW APPLE? THIS is a case of there BEING an APPLE, but you DIDN'T MIS-CLASSIFY it as the BANANA... YOU MISSED DETECTING IT COMPLETELY ! HOW would you describe THIS common scenario if you're only considering/assuming that your model WILL classify EVERYTHING in the image as EITHER an APPLE or a BANANA... but you DIDN'T expect it to UTTERLY IGNORE the yellow apple altogether? It's been 2 years since you posted, so I'm not expecting a reply; I AM hoping that other viewers will ponder the explanations presented - there's a bit more going on... Cheers, -Mark Vogt, Solution Architect/Data Scientist - AVANADE

    • @ScarlettsLog
      @ScarlettsLog ปีที่แล้ว

      I think you hit on a very important point, which also doubly highlights why the F1 score is rarely used for multi-class predictions. If only considering the binary case, the issues you highlight go away; over and including 0.5 in positive, and the rest are negative. This is a great reason to investigate metrics that are better suited for the multi-class case, even if accuracy and F1 give you "reasonable" results.

    • @sfadfhgj
      @sfadfhgj 8 หลายเดือนก่อน

      I'm not a data scientist but... Aren't we calculating the precision, recall, accuracy etc of the classifications that are *made* here? I think you could always create confusion matrix for each object on a binary bases, "detected" and "not detected", so that you can measure the accuracy/precision etc of the "detection" capability of the model, and not the classifications of the objects. Because these two feels like different things to measure.

  • @janithforex4075
    @janithforex4075 ปีที่แล้ว

    Nice explanations. When you say negative labels are left out of picture in the precision calculation, I don’t quite get it because precision formula contains the term FP which represents a quantity from negative labels. Am I out of the track?

    • @ScarlettsLog
      @ScarlettsLog ปีที่แล้ว

      Leaving it out of the picture refers only to the guesses that the model made. Yes, you need the negative labels to check if it was an FP guess, but it does not concern your own pool of negative guesses. Hope that makes sense, and sorry if the wording in the slides caused confusion.

  • @swedishguyonyoutube4684
    @swedishguyonyoutube4684 2 ปีที่แล้ว

    Many thanks for this intuitive yet detailed and well-reasoned explanation!

  • @CursiveStarVlogs
    @CursiveStarVlogs 2 ปีที่แล้ว

    Good work 👍🧡

  • @RNECmanojab
    @RNECmanojab 2 ปีที่แล้ว

    The explanation was very insightful but at 4:15 you have used a resistor to set the reference current but in the beginning of the video you had mentioned the fact that resistors are hard to implement in an ic Could you please elaborate on this

  • @IAMjulesATX
    @IAMjulesATX 2 ปีที่แล้ว

    this is sooooo helpful!! thank you!

  • @gauravjha2148
    @gauravjha2148 2 ปีที่แล้ว

    Excellent explanation

  • @karthikr5884
    @karthikr5884 2 ปีที่แล้ว

    Nice :)

  • @VedJoshi..
    @VedJoshi.. 2 ปีที่แล้ว

    that water analogy is solid

  • @mohammadkashif750
    @mohammadkashif750 2 ปีที่แล้ว

    very well explained

  • @elvenkim
    @elvenkim 2 ปีที่แล้ว

    Awesome! I love the cheating cases brought in!

  • @electronicsmadeeasy8385
    @electronicsmadeeasy8385 2 ปีที่แล้ว

    Detailed Electronics Lectures available in Urdu Language

  • @electronicsmadeeasy8385
    @electronicsmadeeasy8385 2 ปีที่แล้ว

    th-cam.com/channels/nDe3mwT6hslEXWh1f5lGPQ.html

  • @sarikaparihar7670
    @sarikaparihar7670 2 ปีที่แล้ว

    Want your email id.... I hav many doubts.... Want to know the pspice simulation of current mirror

  • @GauchoMwenyewe
    @GauchoMwenyewe 3 ปีที่แล้ว

    Good stuff

  • @samirkhan6195
    @samirkhan6195 3 ปีที่แล้ว

    I couldnt get one thing , putting here if you are able to answer please ---> ' in the Slide of 'Precision' , you mentioned that it solves problem with Accuracy cheating , where if 99% of people are healthy and 1% unhealthy , and if your model predict all as 'Healthy' then Precision would be 0 , but how ? lets say 100 people , 99 healthy(positive), 1 unhealthy (negative) , prediction made by model as All Positive (cheated) , thus 99 (True-Positive) , 1 ( False-Positive) , Precision = TP / ( TP +FP ) = 99 / ( 99 + 1 ) = 0.99 = 99% right ? how 0 ?

    • @ScarlettsLog
      @ScarlettsLog 2 ปีที่แล้ว

      Your confusion is defining what positive and negative is. If you are "looking for" the unhealthy case, then unhealthy = positive. Thus, TP = 0, in your example. Hope that helps.

    • @jeromeeusebius
      @jeromeeusebius 2 ปีที่แล้ว

      As Scarletts noted in their reply, you have the "unhealthy" and 'healthy' classes mixed up. If you see one of the early slides about terminologies, the class we are interested in is the the one we called positive, and the one we aren't interested in is the 'negative class'. In this case of infected and uninfected people, are interested in the infected people, hence this is the positive class. So we the accuracy metric, we could cheat by just predicting the negative class (all healthy people of which we have 99 of them) and still achieve an accuracy of 99 which is very high but will be misleading We Precision, defined as TP/(TP + FP), if we predict all negatives, then there are no true positives, as for TP (model and label matches) but here model predicts all negative. Consequently TP = 0, and hence precision is 0. Hopefully this comment adds more details and why the precision is 0.

    • @samirkhan6195
      @samirkhan6195 2 ปีที่แล้ว

      @@jeromeeusebius i get it , Thanks for spending your time in writting this all, i appreciate it !!!

    • @MenTaLLyMenTaL
      @MenTaLLyMenTaL 2 ปีที่แล้ว

      ​@@ScarlettsLog I have a further question on this if you can help. With Healthy=Negative & Unhealthy=Positive; if the model predicts all as Healthy (negative), then TP=0, FP=0. So Precision = TP / (TP + FP) = 0 / 0 = undefined. How can we call it 0% precise? Thanks. On the same lines, in the slide @6:35, you say "Cheating precision 100% => 0% recall". How can the model cheat to be 100% precise? For that, TP must be = (TP + FP) != 0. If the model makes all negative guesses, then Precision = TP/(TP+FP) = 0/0 = undefined again as above. If the model makes all positive guesses, then Precision = some fraction that is not necessarily 100%.

    • @zerocolours8470
      @zerocolours8470 ปีที่แล้ว

      ​@@MenTaLLyMenTaL You are correct, they would be considered undefined, it is a special case/edge case that defaults to 0. For anyone else confused, I will provide two case studies to showcase how we would normally assume precision/recall to operate and how they operate in edge cases. Say we have a dataset of 100 people, 1 person is unhealthy and 99 are healthy. If we consider unhealthy = Positive and Healthy = Negative, we can see that: True positive here means when we guess that someone is unhealthy, and they are actually indeed unhealthy. False positive here means when we guess that someone is unhealthy, but they are actually healthy. True negative here means when we guess that someone is healthy, and they are actually healthy. False negative here means when we guess that someone is healthy, but they are actually unhealthy. Now let's do some experiments. If we have a model that predicts everyone as unhealthy, what will the precision and recall scores be? Remember, Our dataset has 99 people healthy and 1 one unhealthy. Precision: (TP)/(TP + FP) For precision, since our model predicts everyone as unhealthy, we correctly guess one person who is unhealthy as unhealthy (TP value of 1) and guess 99 people who are actually healthy as unhealthy (FP value of 99). Thus precision is: 1/100 = 0.01% Recall: (TP)/(TP + FN) For recall, since our model predicts everyone as unhealthy, we correctly guess one person who is unhealthy as unhealthy (TP value of 1) and we then guess 99 people who are actually healthy as unhealthy. As we saw in recall, this incorrect guessing of 99 people are false positive (FP) cases. This means that we just don't make any FN guesses (defined as when we guess someone as healthy but they are actually unhealthy) and thus we get an FN of 0. This then turns into 1/(1+0) which is 1 or 100%. Now let's do another experiment. Let's have our model predict everyone as healthy. Precision: (TP)/(TP + FP) TP assumes we guess as unhealthy and they are actually unhealthy. Since we predict everyone as healthy, we get a True Positive score of 0. There is 1 person who is actually unhealthy, but we are always guessing "healthy", so we just never make any True Positive guesses. Now for FP, we also get a score of 0. FP assumes we guess someone as unhealthy but they are actually healthy, since we never even guess that someone is unhealthy, we again just make no False Positive guesses. Thus, we get precision = 0/0. This is a special case and has been noted in implementations to then default to 0 as the output. Since YT deletes links, search up sklearn.metrics.precision_recall_fscore_support and click on the first link and go to the notes section. However, in this specific scenario we've devised, we could consider precision to be 100% because we never false guess someone as unhealthy when they are actually healthy (FP = 0), as a response. Basically, when this situation happens, a library or framework will report precision to be 0, but as ML practicioners, you would need to see what this undefined precision output means in the context of your problem. Recall: (TP)/(TP + FN) By now, I will just state that TP is 0. It is the same reasoning as above. Remember False Negative (FN) happens when we guess someone as healthy but they are actually unhealthy. This happens 1 time, we guess the sick person as being healthy. Thus we get 0/(0 + 1) = 0 for recall.

  • @iceapprentice897
    @iceapprentice897 3 ปีที่แล้ว

    Very nice Illustration of the inductive process. Thanks for the video.

  • @sarvagyagupta1744
    @sarvagyagupta1744 3 ปีที่แล้ว

    Another good explanation of F1 score is that it considers FN and FP equally like: Tp/(TP + 1/2(FN+FP)). So this is another way how it's a goos mix of precision and recall.

  • @kinkysaru769
    @kinkysaru769 3 ปีที่แล้ว

    You have very clear articulation. Thank you

  • @BigHotCrispyFry
    @BigHotCrispyFry 3 ปีที่แล้ว

    the volume of your voice is quite low here.

  • @vinitrinh
    @vinitrinh 3 ปีที่แล้ว

    Great content but the audio is soft and not inspired.

  • @jhfoleiss
    @jhfoleiss 3 ปีที่แล้ว

    Awesome explanation, thank you very much. It shines because it gives the motivation for each metric. Thanks!

  • @neuron8186
    @neuron8186 3 ปีที่แล้ว

    great loved the way you explain

  • @stanislavhinov4225
    @stanislavhinov4225 3 ปีที่แล้ว

    Great video!

  • @charlieangkor8649
    @charlieangkor8649 3 ปีที่แล้ว

    Says cannot feed NN ASCII data directly, couldn’t handle… I feed my neural network 32 layers 1 million neurons the ascii (UTF-8) data directly and it handles them well. I built a Khmer-English machine translator based on my neural network called Sugar Palm Tree Translator. Learning takes 24 h on Raspberry Pi 4B on a 8 GB corpus of English and about 6 h on 2 GB corpus of Khmer… no preprocessing of UTF-8, just dump directly into it. When it’s learned the processing is very fast, on order of megabytes or even tens of megabytes per second (it’s limited by the output HTML generator, not by the NN) So I disagree with this claim.

  • @jairtorres289
    @jairtorres289 3 ปีที่แล้ว

    Loved it!, thanks a lot!

  • @vladimirblagojevic1950
    @vladimirblagojevic1950 3 ปีที่แล้ว

    Great explanation because it includes motivation for the metrics and how they relate to each other.

  • @vivian_who
    @vivian_who 3 ปีที่แล้ว

    Thank you so much for this explanation! On the point and comprehensible. Great work!

  • @imsleepy620
    @imsleepy620 3 ปีที่แล้ว

    this is a wonderful explanation of GraphSAGE. I'm surprised this doesn't have more views.

    • @ryanmckenna2047
      @ryanmckenna2047 11 หลายเดือนก่อน

      It is a really good explanation!

  • @RubenNuredini
    @RubenNuredini 4 ปีที่แล้ว

    You state the wrong reason for using log(X_i_j). The correct one is clearly stated on the GloVe project page: "Owing to the fact that the logarithm of a ratio equals the difference of logarithms, this objective associates (the logarithm of) ratios of co-occurrence probabilities with vector differences in the word vector space. Because these ratios can encode some form of meaning, this information gets encoded as vector differences as well."

  • @SuperKarlFriedrich
    @SuperKarlFriedrich 4 ปีที่แล้ว

    6:33 funny bug ^^

  • @SuperKarlFriedrich
    @SuperKarlFriedrich 4 ปีที่แล้ว

    2:24 what does HAL stand for, please?

    • @matix26
      @matix26 3 ปีที่แล้ว

      Hyperspace Analogue to Language - en.wikipedia.org/wiki/Semantic_memory#Hyperspace_Analogue_to_Language_(HAL)

  • @djilaliramdane9488
    @djilaliramdane9488 4 ปีที่แล้ว

    Lovely Video! Sorry for butting in, I am interested in your opinion. Have you heard the talk about - Riddleagan Crazy Sports Remedy (do a search on google)? It is a smashing one of a kind product for generating high betting wins and higher returns minus the normal expense. Ive heard some decent things about it and my m8 after a lifetime of fighting got astronomical success with it.

  • @BrenoCarvalhoComp
    @BrenoCarvalhoComp 4 ปีที่แล้ว

    Hi Scarlett, thanks for sharing this summary! It is clear, well structured and consise

  • @devendratapdia11
    @devendratapdia11 4 ปีที่แล้ว

    Voice volume is little low.

    • @normansabin8322
      @normansabin8322 4 ปีที่แล้ว

      Yeah I have everything turned up to the max and its quite faint.

    • @normansabin8322
      @normansabin8322 4 ปีที่แล้ว

      great material and method of expressing it though!

  • @jeffchen1386
    @jeffchen1386 4 ปีที่แล้ว

    00:01:43 The citation of GloVe is now 16480.....

  • @trailerstime3374
    @trailerstime3374 4 ปีที่แล้ว

    Start a basic electronics series covering all the topics with type of easy analogy

  • @kennedy67951
    @kennedy67951 4 ปีที่แล้ว

    You need to block this (David Evens) mate. He is pushing (PORN) on your (TH-cam Channel). This Is wrong and (EVIL). He or she should spend a long time In Jail for this, in my opinion. I hope that no Children get on this Site.

  • @kennedy67951
    @kennedy67951 4 ปีที่แล้ว

    I think they are making all this way over complicated. Just my opinion. Maybe they, who ever is doing this should look at the sound wave and it's electrical under lament and over lament as waves of electric sound. This would be a lot easier and not as complicated. (TRANSMUTATION of energy)..... Thanks for the review and upload.