1 00:00:00,100 --> 00:00:00,900 Hello my friends. 2 00:00:00,900 --> 00:00:01,600 Welcome back. 3 00:00:01,600 --> 00:00:06,900 And mostly welcome to part four, making the predictions and evaluating the model. 4 00:00:07,233 --> 00:00:10,600 And at the end of the previous tutorial, I actually asked you to do a little 5 00:00:10,633 --> 00:00:12,600 homework, which is right here, 6 00:00:12,600 --> 00:00:16,666 and which consisted of using your Ein and model to predict 7 00:00:16,666 --> 00:00:21,300 if the customer with the following information will leave yes or no. 8 00:00:21,300 --> 00:00:22,200 The bank. 9 00:00:22,200 --> 00:00:23,633 So I hope you did well. 10 00:00:23,633 --> 00:00:26,033 You actually had all the tools to do it. 11 00:00:26,033 --> 00:00:29,033 And that's something we did before in part three classification. 12 00:00:29,166 --> 00:00:30,966 So I'm sure you smashed this. 13 00:00:30,966 --> 00:00:32,033 Let's see about that. 14 00:00:32,033 --> 00:00:35,033 Let's implement the solution together. 15 00:00:35,266 --> 00:00:35,600 All right. 16 00:00:35,600 --> 00:00:38,166 So I left this code cell here to enter the solution. 17 00:00:38,166 --> 00:00:39,300 But this is just a common. 18 00:00:39,300 --> 00:00:41,333 So let's just remove it. 19 00:00:41,333 --> 00:00:45,000 And now how do we complete successfully that homework. 20 00:00:45,000 --> 00:00:49,433 Well of course we need to get first or a and model from which 21 00:00:49,466 --> 00:00:51,200 we're going to call a new method. 22 00:00:51,200 --> 00:00:54,900 You know, different than the add method or the fit method. 23 00:00:55,300 --> 00:00:59,133 Right now of course, we need to call the predict method right. 24 00:00:59,133 --> 00:01:00,633 Absolutely no trap. 25 00:01:00,633 --> 00:01:03,666 We call this break method to predict if yes or no. 26 00:01:03,666 --> 00:01:06,866 The customer with the following informations will leave the bank. 27 00:01:07,366 --> 00:01:07,800 All right. 28 00:01:07,800 --> 00:01:11,966 And now since this is a method I'm going to add some parentheses here. 29 00:01:12,233 --> 00:01:13,500 Let me actually scroll down. 30 00:01:13,500 --> 00:01:17,433 You know in case you're uncomfortable with the border at the bottom. 31 00:01:17,566 --> 00:01:19,733 All right. So predict then okay. 32 00:01:19,733 --> 00:01:22,200 So you have all the information of the predict method. 33 00:01:22,200 --> 00:01:24,766 But we know exactly what to predict. 34 00:01:24,766 --> 00:01:27,900 This is given in the instructions of the homework. 35 00:01:28,166 --> 00:01:30,233 We have to enter these informations. 36 00:01:30,233 --> 00:01:32,800 But there are a few things to pay attention to. 37 00:01:32,800 --> 00:01:34,100 And there are actually three things. 38 00:01:34,100 --> 00:01:36,100 That's why I really wanted to give you this homework, 39 00:01:36,100 --> 00:01:39,366 because I wanted to see if you could pay attention 40 00:01:39,366 --> 00:01:42,933 to three important things to include inside that predict method. 41 00:01:43,400 --> 00:01:45,966 Let's start with the most essential one, 42 00:01:45,966 --> 00:01:49,666 which is the double pair of square brackets. 43 00:01:49,833 --> 00:01:50,300 Right. 44 00:01:50,300 --> 00:01:55,366 It's very important to remember that any input of the predict method 45 00:01:55,500 --> 00:01:58,666 must be a 2D array, whether it is the test set 46 00:01:59,133 --> 00:02:02,433 to predict an in symbol of outcomes for an in 47 00:02:02,433 --> 00:02:06,600 symbol of observations, or whether it is a single prediction. 48 00:02:06,600 --> 00:02:10,466 Well, anything has to be in a double pair of square brackets, 49 00:02:10,466 --> 00:02:12,866 which therefore makes a 2D array. 50 00:02:12,866 --> 00:02:17,566 Basically, the format expected by the break method is always a 2D array. 51 00:02:18,100 --> 00:02:19,700 Okay, so that was the first thing. 52 00:02:19,700 --> 00:02:21,633 Then inside this 2D array 53 00:02:21,633 --> 00:02:24,633 we're going to enter well the different informations here. 54 00:02:25,000 --> 00:02:28,433 And that leads me to mention the second important thing 55 00:02:28,433 --> 00:02:33,000 which you had to pay attention to which is about that variable here. 56 00:02:33,000 --> 00:02:35,633 Geography France. 57 00:02:35,633 --> 00:02:38,233 According to you, do we have to enter, 58 00:02:38,233 --> 00:02:41,400 as you know, this first information here for the geography variable, 59 00:02:41,600 --> 00:02:45,700 do we have to enter the string France or do we have to enter something else? 60 00:02:45,900 --> 00:02:49,133 Well, of course we have to enter something else and that's something else. 61 00:02:49,133 --> 00:02:52,233 Or the values of the dummy variables. 62 00:02:52,500 --> 00:02:55,200 Right. That's the second thing you had to do correctly. 63 00:02:55,200 --> 00:02:59,700 And therefore now we need to check what was the encoding for France. 64 00:02:59,700 --> 00:03:03,133 Well remember if we have a look at our matrix of features 65 00:03:03,133 --> 00:03:06,400 X right above, you know important data preprocessing. 66 00:03:06,400 --> 00:03:11,300 So this is the matrix of features X, the whole matrix containing all the customers. 67 00:03:11,300 --> 00:03:13,833 So in order to know what France corresponds to 68 00:03:13,833 --> 00:03:17,233 you know, in terms of encoding, we just have to have a look 69 00:03:17,233 --> 00:03:21,866 at the first observation before one hot encoding was applied. 70 00:03:22,166 --> 00:03:25,166 Because indeed that first observation corresponds to France. 71 00:03:25,500 --> 00:03:27,533 And so now we just need to compare friends here 72 00:03:27,533 --> 00:03:31,666 to the one hot encoding resulting from what we did here. 73 00:03:31,666 --> 00:03:35,000 And well, we can see that the first row here contains 74 00:03:35,000 --> 00:03:38,766 100 as the values of the dummy variables. 75 00:03:38,766 --> 00:03:42,700 And therefore France was encoded indeed into 100. 76 00:03:42,700 --> 00:03:45,866 So the dummy variable values for the France country 77 00:03:45,866 --> 00:03:49,433 and the geography variable is indeed 100. 78 00:03:49,433 --> 00:03:55,500 And that's exactly what we have to enter here as the first parameter. 79 00:03:55,500 --> 00:03:56,300 So let's do this. 80 00:03:56,300 --> 00:04:00,500 Let's enter 100 and there we go. 81 00:04:00,500 --> 00:04:05,200 Basically that enter is that first value of the first parameter geography. 82 00:04:06,033 --> 00:04:06,500 All right. 83 00:04:06,500 --> 00:04:08,966 And then all the rest is easy. 84 00:04:08,966 --> 00:04:11,966 For the credit score we will enter indeed 600. 85 00:04:12,566 --> 00:04:15,133 Then let's see the gender male. 86 00:04:15,133 --> 00:04:19,133 So remember male was encoded as one and female was encoded as zero. 87 00:04:19,133 --> 00:04:22,733 So here in order to enter the male gender we need to enter one. 88 00:04:23,200 --> 00:04:25,766 All right then 40 years old very simply 89 00:04:25,766 --> 00:04:29,666 we enter 40 then tenure three years. 90 00:04:29,666 --> 00:04:31,933 We enter three here. 91 00:04:31,933 --> 00:04:34,533 Then balance $60,000. 92 00:04:34,533 --> 00:04:37,533 So we enter 60,000. 93 00:04:37,700 --> 00:04:40,466 Then let's see number of products two. 94 00:04:40,466 --> 00:04:42,133 So two. 95 00:04:42,133 --> 00:04:45,366 Then does this customer have a credit card. Yes. 96 00:04:45,766 --> 00:04:49,666 So one because one corresponds to yes and zero corresponds to no. 97 00:04:50,033 --> 00:04:52,566 Is this customer an active member. Yes. 98 00:04:52,566 --> 00:04:57,866 So once again an estimated salary finally $50,000. 99 00:04:57,966 --> 00:05:03,700 So our last parameter value here is $50,000 okay. 100 00:05:04,200 --> 00:05:05,833 Yes. All good. 101 00:05:05,833 --> 00:05:06,700 Excellent. 102 00:05:06,700 --> 00:05:08,966 And now I have a question for you. 103 00:05:08,966 --> 00:05:11,766 Do you think we're done with this prediction. 104 00:05:11,766 --> 00:05:14,766 You know using the predict method with all these informations. 105 00:05:15,300 --> 00:05:18,166 And the answer to that is no. 106 00:05:18,166 --> 00:05:22,233 And that leads me to the third thing you had to pay attention to, which is 107 00:05:22,233 --> 00:05:25,433 the fact that remember to predict 108 00:05:25,433 --> 00:05:28,933 method should be called under observations 109 00:05:29,133 --> 00:05:34,233 onto which the same scaling was applied as in the training. 110 00:05:34,500 --> 00:05:40,033 And since we trained our artificial neural network with the scaled values, 111 00:05:40,033 --> 00:05:40,300 you know, 112 00:05:40,300 --> 00:05:45,000 the scaled values of the features as well, the predict method has to be called 113 00:05:45,000 --> 00:05:49,966 on to these observations to which the same scaling was applied. 114 00:05:50,233 --> 00:05:54,633 And that was the third thing you must have not forgotten, which is the fact 115 00:05:54,633 --> 00:06:00,500 that you have to apply your object here to scale that single observation, right? 116 00:06:00,500 --> 00:06:01,800 That's super important. 117 00:06:01,800 --> 00:06:06,200 Make sure to pay attention to this check if some scaling was applied 118 00:06:06,200 --> 00:06:08,400 during the training. And yes, it is the case here. 119 00:06:08,400 --> 00:06:11,400 And anyway, it is always the case for neural networks. 120 00:06:11,500 --> 00:06:13,166 And therefore in the predict method. 121 00:06:13,166 --> 00:06:16,166 Well we need to scale that single observation. 122 00:06:16,166 --> 00:06:19,800 And the way to do this is of course by calling our subject 123 00:06:20,333 --> 00:06:24,000 yes, this one from which we're going to call be careful 124 00:06:24,000 --> 00:06:27,066 not the fit transform, because the fit transform is used 125 00:06:27,066 --> 00:06:31,333 to remember, get the mean and the standard deviation of the values 126 00:06:31,333 --> 00:06:35,133 in the training set in order to fit your scaler to the training set. 127 00:06:35,133 --> 00:06:39,233 But then for the test set, we only need to call the transform method, 128 00:06:39,433 --> 00:06:41,766 because if we fit it again to scaler, 129 00:06:41,766 --> 00:06:44,400 well that would cause some information leakage. 130 00:06:44,400 --> 00:06:47,133 You know, I explained this in part one data preprocessing. 131 00:06:47,133 --> 00:06:50,100 Check it out again if you need, but remember that 132 00:06:50,100 --> 00:06:53,366 on the test set or on new observations on which you deploy 133 00:06:53,433 --> 00:06:57,600 your model in production, you can only apply the transform method. 134 00:06:57,900 --> 00:07:00,900 And that's what we're going to call here transform them. 135 00:07:01,333 --> 00:07:01,933 There we go. 136 00:07:01,933 --> 00:07:03,866 Which has to take as input 137 00:07:03,866 --> 00:07:07,800 the whole observation in these double pair of square brackets. 138 00:07:07,966 --> 00:07:08,766 All right. 139 00:07:08,766 --> 00:07:10,700 Perfect good good good. 140 00:07:10,700 --> 00:07:12,833 So basically that's it. 141 00:07:12,833 --> 00:07:14,200 Now we can run that cell. 142 00:07:14,200 --> 00:07:16,133 Now we can get our prediction. 143 00:07:16,133 --> 00:07:19,266 But remember that when compiling our. 144 00:07:19,266 --> 00:07:23,033 And to you know enough to miser a loss function and the metrics. 145 00:07:23,166 --> 00:07:26,966 Remember that in the output of our artificial neural network, 146 00:07:26,966 --> 00:07:32,233 we chose a sigmoid activation function, which therefore will return 147 00:07:32,233 --> 00:07:35,233 this prediction in the form of a probability, 148 00:07:35,233 --> 00:07:38,233 meaning that instead of getting the final outcome 149 00:07:38,366 --> 00:07:42,000 1 or 0, whether the customer left or stayed in the bank, 150 00:07:42,200 --> 00:07:47,466 well, we're going to get the probability that this customer leaves the bank. 151 00:07:47,700 --> 00:07:51,700 But you'll see it will be very easy to get the final prediction 1 or 0. 152 00:07:51,700 --> 00:07:54,433 But first let me show you what we get with this prediction. 153 00:07:54,433 --> 00:07:58,733 So we're going to put all this into a print right. 154 00:07:58,800 --> 00:08:01,800 All this into a third pair of parenthesis. 155 00:08:02,100 --> 00:08:04,533 Now let me play that cell. 156 00:08:04,533 --> 00:08:09,466 And we get that, that the predicted probability 157 00:08:09,466 --> 00:08:13,800 that discussed and released to bank is 0.04, 158 00:08:13,800 --> 00:08:16,800 you know, 0.0 38, 0.04. 159 00:08:17,000 --> 00:08:19,000 And therefore it is predicted 160 00:08:19,000 --> 00:08:22,800 that this customer has a very low chance to leave the bank. 161 00:08:23,266 --> 00:08:27,100 And if you don't want the outcome in the form of a probability, well, 162 00:08:27,100 --> 00:08:31,066 the trick to convert this into the final prediction is very easy. 163 00:08:31,500 --> 00:08:35,266 You just need to, as here, you know, just before the last parenthesis, 164 00:08:35,733 --> 00:08:39,166 the larger symbol and then 0.5. 165 00:08:39,333 --> 00:08:40,466 Why is that? 166 00:08:40,466 --> 00:08:42,466 That's because you know all this. 167 00:08:42,466 --> 00:08:44,666 You know and predict the next transform. 168 00:08:44,666 --> 00:08:47,766 Then all the informations of the customers up to here 169 00:08:47,966 --> 00:08:51,500 returns exactly the predicted probability. 170 00:08:51,900 --> 00:08:57,833 And here we choose a threshold of 0.5 to say that if that predicted probability 171 00:08:57,833 --> 00:09:02,766 is larger than 0.5, well, we will consider the final result to be one. 172 00:09:02,766 --> 00:09:03,133 Right. 173 00:09:03,133 --> 00:09:07,766 Because the predicted probability that the outcome is one is larger than 0.5, 174 00:09:07,766 --> 00:09:11,700 meaning that there is more than 50% chance that the predicted outcome is one. 175 00:09:11,700 --> 00:09:13,200 So we'll consider it to be one. 176 00:09:13,200 --> 00:09:16,800 And however, if the predicted probability that the customer leaves 177 00:09:16,800 --> 00:09:21,400 the bank is below 0.5, well, we will consider it to be zero. 178 00:09:21,500 --> 00:09:24,033 Of course, you can choose a different value of the threshold, 179 00:09:24,033 --> 00:09:27,733 especially when you have critical outcome, you know, for a critical decision. 180 00:09:27,933 --> 00:09:31,166 And in that case you can, for example, increase the threshold. 181 00:09:31,166 --> 00:09:34,133 But here let's just pick the default value 0.5. 182 00:09:34,133 --> 00:09:36,866 This totally makes sense for our case study. 183 00:09:36,866 --> 00:09:40,533 And therefore now if we re-execute this cell, we will 184 00:09:40,533 --> 00:09:44,433 of course get the final outcome which will be of course zero or false. 185 00:09:44,433 --> 00:09:45,633 You know, false. 186 00:09:45,633 --> 00:09:48,600 We should not say goodbye to that customer or false. 187 00:09:48,600 --> 00:09:51,066 You know, the customer won't leave the bank. 188 00:09:51,066 --> 00:09:53,066 In other words, it will stay in the bank. 189 00:09:53,066 --> 00:09:55,133 So good, good news for the bank. 190 00:09:55,133 --> 00:09:59,633 But anyway, I just wanted to show you how to use your artificial neural network 191 00:09:59,633 --> 00:10:03,700 to predict the outcome of a single observation, meaning a single customer. 192 00:10:03,900 --> 00:10:05,233 Remember the three things. 193 00:10:05,233 --> 00:10:07,133 First, you have to enter your informations 194 00:10:07,133 --> 00:10:10,366 in a 2D array with a double pair of square brackets. 195 00:10:10,600 --> 00:10:13,833 Then you need to be careful with the dummy variable values here, 196 00:10:13,833 --> 00:10:17,900 instead of entering the string input for that categorical variable. 197 00:10:18,033 --> 00:10:22,300 And then the third thing remember to apply the scaling from your subject 198 00:10:22,300 --> 00:10:27,466 because your artificial neural network was trained with scaled values okay. 199 00:10:27,466 --> 00:10:28,966 Great. All right. 200 00:10:28,966 --> 00:10:32,300 So now let's finish this implementation in a flashlight. 201 00:10:32,300 --> 00:10:34,400 You know the last two cells we have. 202 00:10:34,400 --> 00:10:37,466 By the way I gave you some important notes here so that you can remember. 203 00:10:37,466 --> 00:10:39,100 That's basically what I explained. 204 00:10:39,100 --> 00:10:42,200 But anyway now we have two cells to go. 205 00:10:42,200 --> 00:10:45,866 The first one is, you know, that cell which you know very well where we predict 206 00:10:46,000 --> 00:10:48,933 the test results by displaying next to each other 207 00:10:48,933 --> 00:10:52,800 the vector of predictions widespread and a vector of real results y test. 208 00:10:52,966 --> 00:10:56,000 So we're going to do this the most efficiently by juggling 209 00:10:56,000 --> 00:10:57,033 with our toolkit. 210 00:10:57,033 --> 00:10:59,000 And finally same will make the confusion 211 00:10:59,000 --> 00:11:02,700 matrix to get the final accuracy on the test set. 212 00:11:03,300 --> 00:11:04,833 All right let's do this efficiently. 213 00:11:04,833 --> 00:11:07,666 So we're going to go back into our machine learning. 214 00:11:07,666 --> 00:11:10,200 Is it for there you know to juggle with our toolkit. 215 00:11:10,200 --> 00:11:11,866 So I'm clicking this shortcut here 216 00:11:11,866 --> 00:11:15,566 to get the original base of the folder machine learning A to Z. 217 00:11:16,100 --> 00:11:19,966 Then I'm just going to go, you know in 2.3 classification to take any model. 218 00:11:19,966 --> 00:11:23,866 Let's take, you know, logistic regression for example then Python. 219 00:11:24,133 --> 00:11:29,133 Then I can open this implementation which contains indeed a lot of tools, you 220 00:11:29,133 --> 00:11:32,133 know, which we can do with classification 221 00:11:32,233 --> 00:11:35,166 as we are doing right now with R and N. 222 00:11:35,166 --> 00:11:38,533 And now I'm just going to scroll down and get, you know, the final cells, 223 00:11:38,866 --> 00:11:42,133 which will do exactly what we're about to do now with our an N 224 00:11:42,533 --> 00:11:45,900 first to display next to each other 225 00:11:46,333 --> 00:11:48,966 the vector of predictions and the vector of real results. 226 00:11:48,966 --> 00:11:50,600 So let's get that cell. 227 00:11:50,600 --> 00:11:55,100 Let's base that inside a new code cell right here. 228 00:11:55,500 --> 00:12:00,500 But remember that now since our classifier which is no longer called classifier 229 00:12:00,500 --> 00:12:05,566 but a and n, returns the predictions in the form of probabilities, 230 00:12:05,800 --> 00:12:08,733 well, we just have to do a little something here, which is to 231 00:12:08,733 --> 00:12:12,333 of course convert our predicted probabilities 232 00:12:12,333 --> 00:12:16,700 which are in white bread, into predicted binary outcomes 001. 233 00:12:16,800 --> 00:12:21,466 And the trick to do that is exactly the same as the trick we used here. 234 00:12:21,466 --> 00:12:25,800 It is, of course, to update y pred the following way 235 00:12:26,133 --> 00:12:32,000 by setting it equal to well, the boolean result of whether y pred. 236 00:12:32,000 --> 00:12:36,933 You know, the predicted probability is larger than 0.5, 237 00:12:36,933 --> 00:12:41,166 so that if y pred is between zero and 0.5, 238 00:12:41,400 --> 00:12:44,900 then this new y bread will become zero, because this won't be true. 239 00:12:45,166 --> 00:12:47,366 And if y print is larger than 0.5, 240 00:12:47,366 --> 00:12:50,866 then this will be true, and therefore y bread will be equal to one. 241 00:12:51,100 --> 00:12:51,500 All right. 242 00:12:51,500 --> 00:12:55,500 And we'll get therefore the final predicted binary outcomes 001. 243 00:12:56,033 --> 00:12:57,400 And then the rest is the same. 244 00:12:57,400 --> 00:12:58,700 All this is good. 245 00:12:58,700 --> 00:13:04,500 So let's play that cell and we'll get indeed displayed next to each other. 246 00:13:04,733 --> 00:13:07,733 First on the left a vector of predictions y pred, 247 00:13:07,866 --> 00:13:11,366 and on the right a vector of real results y test. 248 00:13:11,700 --> 00:13:14,166 And now we don't have all the results displayed. 249 00:13:14,166 --> 00:13:16,266 That's because we have a lot of observations. 250 00:13:16,266 --> 00:13:19,400 But you know, we can already see that the predictions look pretty good. 251 00:13:19,700 --> 00:13:22,366 That first customer of the test set. Be careful. 252 00:13:22,366 --> 00:13:24,466 That's all the customers of the test set. 253 00:13:24,466 --> 00:13:26,733 Well, that first customer in reality 254 00:13:26,733 --> 00:13:30,300 stayed in the bank and was predicted indeed to stay in the bank. 255 00:13:30,600 --> 00:13:33,266 However, that second customer actually left. 256 00:13:33,266 --> 00:13:38,300 In reality, the bank but was predicted not to was predicted to stay in the bank. 257 00:13:38,700 --> 00:13:41,700 Then the third customer stayed in reality 258 00:13:41,700 --> 00:13:44,700 in the bank and was predicted to stay in the bank as well. 259 00:13:44,833 --> 00:13:49,200 And then for these three last customers of the test set, well, they in reality 260 00:13:49,200 --> 00:13:52,600 stayed in the bank and were predicted to stay indeed in the bank. 261 00:13:52,600 --> 00:13:54,600 So the results look really good. 262 00:13:54,600 --> 00:13:59,200 But the real way to check this is with our confusion matrix. 263 00:13:59,200 --> 00:14:03,700 And therefore here in our logistic regression tool, you know, code template. 264 00:14:03,833 --> 00:14:07,933 Well, we just have to scroll down a little bit more to find the code 265 00:14:07,933 --> 00:14:12,300 for the confusion matrix and also the computation of the accuracy. 266 00:14:12,600 --> 00:14:17,366 So let's just get this then let's just copy that into a new code cell. 267 00:14:17,833 --> 00:14:18,900 Let's just paste it. 268 00:14:18,900 --> 00:14:22,200 And now are you ready to get the final accuracy 269 00:14:22,200 --> 00:14:26,133 of your very first artificial neural network on the test set right. 270 00:14:26,133 --> 00:14:29,600 Meaning a new customer on which the model wasn't trained? 271 00:14:29,833 --> 00:14:31,500 Well, let's check this out right now. 272 00:14:31,500 --> 00:14:34,833 Let's play that sale. And very good. 273 00:14:35,000 --> 00:14:38,966 We get an accuracy over 86%. 274 00:14:38,966 --> 00:14:42,866 That's really good because it means that out of 100 customers, 275 00:14:43,000 --> 00:14:48,333 well, 86 were predicted correctly to either stay in or leave the bank. 276 00:14:48,566 --> 00:14:51,600 And we can actually see here the details of these predictions. 277 00:14:51,933 --> 00:14:54,733 We had 1520 278 00:14:54,733 --> 00:14:57,733 correct predictions that the customer stays in the bank. 279 00:14:57,900 --> 00:15:02,333 Then we had 203 correct predictions that the customer leaves the bank. 280 00:15:02,633 --> 00:15:07,166 Then we have 75 incorrect predictions that the customer leaves the bank, 281 00:15:07,400 --> 00:15:12,000 and 202 incorrect predictions that the customer stays in the bank. 282 00:15:12,533 --> 00:15:13,966 So anyway, that looks pretty good. 283 00:15:13,966 --> 00:15:17,533 The accuracy of 86% is a very decent accuracy. 284 00:15:17,833 --> 00:15:20,133 Of course, I challenge you to beat that. 285 00:15:20,133 --> 00:15:22,000 You know, to at least get 1 or 2 286 00:15:22,000 --> 00:15:26,100 extra percent of accuracy, but I actually experimented in myself 287 00:15:26,100 --> 00:15:30,066 and it will be pretty hard to beat this, so don't waste too much time on this. 288 00:15:30,300 --> 00:15:34,733 Plus, I rather encourage you to, you know, check out this free course that we have 289 00:15:34,733 --> 00:15:37,200 on Artificial Neural Network for regression, 290 00:15:37,200 --> 00:15:40,466 because I'd really like you to do anything you want with 291 00:15:40,466 --> 00:15:43,733 artificial neural networks, whether it is to do classification 292 00:15:43,733 --> 00:15:49,033 for either a binary outcome or a non binary outcome or regression. 293 00:15:49,200 --> 00:15:49,666 Right. 294 00:15:49,666 --> 00:15:51,633 With this course plus the other free course, 295 00:15:51,633 --> 00:15:55,366 you'll know how to do anything with artificial neural networks. 296 00:15:55,366 --> 00:15:57,733 So that's rather my recommendation. 297 00:15:57,733 --> 00:16:01,100 And now of course I want to say a final congrats Lations. 298 00:16:01,266 --> 00:16:04,966 You completed a very advanced branch of machine learning, so 299 00:16:04,966 --> 00:16:07,333 you can really be proud of your progress. 300 00:16:07,333 --> 00:16:11,200 And if you're not too overwhelmed, well, it's time to reach an even higher level 301 00:16:11,200 --> 00:16:14,200 with convolutional Neural networks. 302 00:16:14,200 --> 00:16:17,766 So as soon as you feel ready for it, well, join us, Kiril 303 00:16:17,766 --> 00:16:22,500 and I, in the next section to tackle convolutional neural networks, 304 00:16:22,766 --> 00:16:24,966 and until then, enjoy machine learning.