aboutsummaryrefslogtreecommitdiff
path: root/lib/mining/knn
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2023-09-13 22:08:26 +0700
committerShulhan <ms@kilabit.info>2023-09-13 23:17:40 +0700
commit362e0e301c55ae41d078fce8b862d080b4d5ef06 (patch)
tree43355d98c74198de056f91b3364bba4a3663b5bc /lib/mining/knn
parentf3962af03f273ea933696d0269245470ad63ef1d (diff)
downloadpakakeh.go-362e0e301c55ae41d078fce8b862d080b4d5ef06.tar.xz
mining/knn: replace package "math/rand" with "crypto/rand"
Diffstat (limited to 'lib/mining/knn')
-rw-r--r--lib/mining/knn/neighbor_test.go20
1 files changed, 15 insertions, 5 deletions
diff --git a/lib/mining/knn/neighbor_test.go b/lib/mining/knn/neighbor_test.go
index 7d5139db..521fe2e4 100644
--- a/lib/mining/knn/neighbor_test.go
+++ b/lib/mining/knn/neighbor_test.go
@@ -5,10 +5,10 @@
package knn
import (
- "math/rand"
+ "crypto/rand"
+ "math/big"
"sort"
"testing"
- "time"
"github.com/shuLhan/share/lib/tabula"
"github.com/shuLhan/share/lib/test"
@@ -55,12 +55,22 @@ func createNeigboursByIdx(indices []int) (neighbors Neighbors) {
}
func TestContain(t *testing.T) {
- rand.Seed(time.Now().UnixNano())
-
neighbors := createNeigbours()
// pick random sample from neighbors
- pickIdx := rand.Intn(neighbors.Len())
+ var (
+ randMax = big.NewInt(int64(neighbors.Len()))
+ randv *big.Int
+ err error
+ )
+
+ randv, err = rand.Int(rand.Reader, randMax)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ var pickIdx = int(randv.Int64())
+
randSample := neighbors.Row(pickIdx).Clone()
isin, idx := neighbors.Contain(randSample)