0

ML Course (Python)

Hey there, I wanted to ask, if anyone has the same problem like me with solving the Code Projects 28 and 37 of the above mentioned course. The problem is, that merely hidden test cases don’t work fine, so I can’t tell, what could be the problem. In both projects you just have to implement formulas, which I have implemented correctly (in my opinion, especially after checking the non-hidden test cases). https://code.sololearn.com/cM3JiMxQ86Rq/?ref=app https://code.sololearn.com/cvM5dy5lyv7f/?ref=app

1st Oct 2022, 11:59 AM
Marc Hüttermann
9 Réponses
+ 1
https://code.sololearn.com/csQkqNgHsS2y/?ref=app Sometimes, the way you put things in a code leads to slightly different results. I think your formula is fine. So I decided to test the positioning of the code (see my attachment). I did the rather slow (and stupid) thing of typing in random numbers and I managed to find that I received a different result in 1 case. Perhaps it's that. There are way smarter people here than I am. If my version doesn't help, I'll call on them for you 😄
2nd Oct 2022, 1:01 PM
Ausgrindtube
Ausgrindtube - avatar
+ 3
You could Ceil instead of round... Without the task, it's hard to say.
1st Oct 2022, 1:48 PM
Ausgrindtube
Ausgrindtube - avatar
+ 1
Ok, I see that round is needed. The hidden test cases is to stop people "hard coding" an answer that they can see and instead think of a code that works for all instances of the problem. An example (a poor one probably): Create a program that adds 2 numbers. Answer = 4. The programmer should take 2 inputs: x & y and then add them and output that result. However, if the answer is supplied as "4", a poor programmer can simply output 4 and pass. Sorry for the rant. I'll see if I get a chance to check your codes. 😉
2nd Oct 2022, 12:37 PM
Ausgrindtube
Ausgrindtube - avatar
+ 1
Zum Glück! Sehr gerne.
2nd Oct 2022, 1:54 PM
Ausgrindtube
Ausgrindtube - avatar
0
28 Calculating Evaluation Metrics using the Confusion Matrix. Task You will be given the values of the confusion matrix (true positives, false positives, false negatives, and true negatives). Your job is to compute the accuracy, precision, recall and f1 score and print the values rounded to 4 decimal places. To round, you can use round(x, 4). Input Format The values of tp, fp, fn, tn, in that order separated by spaces Output Format Each value on its own line, rounded to 4 decimal places, in this order: accuracy, precision, recall, f1 score Sample Input 233 65 109 480 Sample Output 0.8038 0.7819 0.6813 0.7281 Explanation Accuracy is (tp + tn) / total = (233+480)/(233+65+109+480)=0.8038 Precision is tp / (tp + fp) = 233/(233+65) = 0.7819 Recall is tp / (tp + fn) = 233/(233+109) = 0.6813 F1 score is 2 * precision * recall / (precision + recall) = 2*0.7819*0.6813/(0.7819+0.6813) = 0.7281
1st Oct 2022, 6:23 PM
Yaroslav Vernigora
Yaroslav Vernigora - avatar
0
37 Calculate Information Gain. Task Given a dataset and a split of the dataset, calculate the information gain using the gini impurity. The first line of the input is a list of the target values in the initial dataset. The second line is the target values of the left split and the third line is the target values of the right split. Round your result to 5 decimal places. You can use round(x, 5). Input Format Three lines of 1's and 0's separated by spaces Output Format Float (rounded to 5 decimal places) Sample Input 1 0 1 0 1 0 1 1 1 0 0 0 Sample Output 0.5 Explanation The initial set has 3 positive cases and 3 negative cases. Thus the gini impurity is 2*0.5*0.5=0.5. The left set has 3 positive cases and 0 negative cases. Thus the gini impurity is 2*1*0=0. The right set has 0 positive cases and 3 negative cases. Thus the gini impurity is 2*0*1=0. The information gain is 0.5-0-0=0.5
1st Oct 2022, 6:25 PM
Yaroslav Vernigora
Yaroslav Vernigora - avatar
0
Hey, thanks for your answers so far. Ausgrindtube as you can see in the task description posted by Yaroslav, you should use the round Method. Does a way exist to look up the hidden test cases?
2nd Oct 2022, 9:34 AM
Marc Hüttermann
0
Hey, no problem. I‘m just grateful that you are trying to help me.
2nd Oct 2022, 12:54 PM
Marc Hüttermann
0
It worked 🙈 thank you very much :D
2nd Oct 2022, 1:10 PM
Marc Hüttermann