@@ -14,27 +14,39 @@ defmodule LearnKit.NaiveBayes.GaussianTest do
1414 end
1515
1616 test "add train data to classificator" do
17- % Gaussian { data_set: data_set } = Gaussian . new
18- |> Gaussian . add_train_data ( { :a1 , [ 1 , 2 ] } )
19- |> Gaussian . add_train_data ( { :a1 , [ 1 , 3 ] } )
20- |> Gaussian . add_train_data ( { :b1 , [ 2 , 3 ] } )
17+ % Gaussian { data_set: data_set } =
18+ Gaussian . new
19+ |> Gaussian . add_train_data ( { :a1 , [ 1 , 2 ] } )
20+ |> Gaussian . add_train_data ( { :a1 , [ 1 , 3 ] } )
21+ |> Gaussian . add_train_data ( { :b1 , [ 2 , 3 ] } )
2122
2223 assert data_set == [ b1: [ [ 2 , 3 ] ] , a1: [ [ 1 , 3 ] , [ 1 , 2 ] ] ]
2324 end
2425
26+ test "normalize data set" , state do
27+ % Gaussian { data_set: data_set } = state [ :classificator ] |> Gaussian . normalize_train_data ( "minimax" )
28+
29+ assert data_set ==
30+ [
31+ label1: [ [ 0.3333333333333333 , 0.25 ] , [ 0.16666666666666666 , 0.25 ] , [ 0.0 , 0.0 ] ] ,
32+ label2: [ [ 0.6666666666666666 , 0.75 ] , [ 0.8333333333333334 , 0.75 ] , [ 1.0 , 1.0 ] , [ 0.16666666666666666 , 0.0 ] ]
33+ ]
34+ end
35+
2536 test "fit data set" , state do
2637 % Gaussian { fit_data: fit_data } = state [ :classificator ] |> Gaussian . fit
2738
28- assert fit_data == [
29- label1: [
30- % { mean: - 2.0 , standard_deviation: 0.816496580927726 , variance: 0.6666666666666666 } ,
31- % { mean: - 1.3333333333333333 , standard_deviation: 0.4714045207910317 , variance: 0.2222222222222222 }
32- ] ,
33- label2: [
34- % { mean: 1.0 , standard_deviation: 1.8708286933869707 , variance: 3.5 } ,
35- % { mean: 0.5 , standard_deviation: 1.5 , variance: 2.25 }
36- ]
37- ]
39+ assert fit_data ==
40+ [
41+ label1: [
42+ % { mean: - 2.0 , standard_deviation: 0.816496580927726 , variance: 0.6666666666666666 } ,
43+ % { mean: - 1.3333333333333333 , standard_deviation: 0.4714045207910317 , variance: 0.2222222222222222 }
44+ ] ,
45+ label2: [
46+ % { mean: 1.0 , standard_deviation: 1.8708286933869707 , variance: 3.5 } ,
47+ % { mean: 0.5 , standard_deviation: 1.5 , variance: 2.25 }
48+ ]
49+ ]
3850 end
3951
4052 test "return probability estimates for the feature" , state do
0 commit comments