Skip to content

Commit f28147c

Browse files
committed
Finished off script
1 parent 3c3f0af commit f28147c

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

DigitClassifier.fsx

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,14 +52,23 @@ testSet.[..4]
5252
(digit.Pixels |> classifyByNearest 3))
5353

5454
(******* 8. EVALUATING THE MODEL AGAINST VALIDATION DATA *******)
55-
let calculateAccuracyWithNearest k =
56-
testSet
55+
let calculateAccuracyWithNearest k dataSet =
56+
dataSet
5757
|> Array.averageBy (fun digit ->
5858
if digit.Pixels |> classifyByNearest k = digit.Label then 1.0
5959
else 0.0)
6060

61+
(******* 9. GET AN IDEA ABOUT A GOOD RANGE OF K *******)
6162
let predictionAccuracy =
6263
[1;3;9;27]
63-
|> List.map (fun k -> (k, calculateAccuracyWithNearest k))
64+
|> List.map (fun k -> (k, crossValidationSet |> calculateAccuracyWithNearest k))
6465

6566
Chart.Line predictionAccuracy
67+
68+
(******* 10. FIND THE BEST K *******)
69+
let bestK =
70+
[1..20]
71+
|> List.maxBy (fun k -> crossValidationSet |> calculateAccuracyWithNearest k)
72+
73+
(******* 11. THE FINAL RESULT! *******)
74+
testSet |> calculateAccuracyWithNearest bestK

0 commit comments

Comments
 (0)