aboutsummaryrefslogtreecommitdiff
path: root/lib/mining
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2019-03-02 04:59:38 +0700
committerShulhan <ms@kilabit.info>2019-03-02 05:00:37 +0700
commit8a5dfcccd447a9e2693bace81525d6264abccc63 (patch)
treefa3d46ade2dd24cbd143343abfcb74ef83b0d3e0 /lib/mining
parent455e84bcebdf4731077b5949438b2f84fffa0e20 (diff)
downloadpakakeh.go-8a5dfcccd447a9e2693bace81525d6264abccc63.tar.xz
all: changes affected by refactoring on package "numbers"
Diffstat (limited to 'lib/mining')
-rw-r--r--lib/mining/classifier/crf/crf.go5
-rw-r--r--lib/mining/classifier/rf/rf.go7
-rw-r--r--lib/mining/classifier/runtime.go7
-rw-r--r--lib/mining/gain/gini/gini.go4
-rw-r--r--lib/mining/gain/gini/ginifloat.go8
5 files changed, 17 insertions, 14 deletions
diff --git a/lib/mining/classifier/crf/crf.go b/lib/mining/classifier/crf/crf.go
index 897a8825..3ddd70d2 100644
--- a/lib/mining/classifier/crf/crf.go
+++ b/lib/mining/classifier/crf/crf.go
@@ -19,6 +19,7 @@ import (
"sort"
"github.com/shuLhan/share/lib/debug"
+ "github.com/shuLhan/share/lib/floats64"
"github.com/shuLhan/share/lib/mining/classifier"
"github.com/shuLhan/share/lib/mining/classifier/rf"
"github.com/shuLhan/share/lib/numbers"
@@ -416,7 +417,7 @@ func (crf *Runtime) ClassifySetByWeight(samples tabula.ClasetInterface,
vs := samples.GetClassValueSpace()
stageProbs := make([]float64, len(vs))
stageSumProbs := make([]float64, len(vs))
- sumWeights := numbers.Floats64Sum(crf.weights)
+ sumWeights := floats64.Sum(crf.weights)
// (1)
rows := samples.GetDataAsRows()
@@ -448,7 +449,7 @@ func (crf *Runtime) ClassifySetByWeight(samples tabula.ClasetInterface,
}
// (1.3)
- _, maxi, ok := numbers.Floats64FindMax(stageProbs)
+ _, maxi, ok := floats64.Max(stageProbs)
if ok {
predicts = append(predicts, vs[maxi])
}
diff --git a/lib/mining/classifier/rf/rf.go b/lib/mining/classifier/rf/rf.go
index b6e08998..187612dd 100644
--- a/lib/mining/classifier/rf/rf.go
+++ b/lib/mining/classifier/rf/rf.go
@@ -18,9 +18,10 @@ import (
"math"
"github.com/shuLhan/share/lib/debug"
+ "github.com/shuLhan/share/lib/floats64"
+ "github.com/shuLhan/share/lib/ints"
"github.com/shuLhan/share/lib/mining/classifier"
"github.com/shuLhan/share/lib/mining/classifier/cart"
- "github.com/shuLhan/share/lib/numbers"
libstrings "github.com/shuLhan/share/lib/strings"
"github.com/shuLhan/share/lib/tabula"
)
@@ -305,7 +306,7 @@ func (forest *Runtime) ClassifySet(samples tabula.ClasetInterface,
// (1.2)
classProbs := libstrings.FrequencyOfTokens(votes, vs, false)
- _, idx, ok := numbers.Floats64FindMax(classProbs)
+ _, idx, ok := floats64.Max(classProbs)
if ok {
predicts = append(predicts, vs[idx])
@@ -346,7 +347,7 @@ func (forest *Runtime) Votes(sample *tabula.Row, sampleIdx int) (
for x, tree := range forest.trees {
// (1)
if sampleIdx >= 0 {
- exist := numbers.IntsIsExist(forest.bagIndices[x],
+ exist := ints.IsExist(forest.bagIndices[x],
sampleIdx)
if exist {
continue
diff --git a/lib/mining/classifier/runtime.go b/lib/mining/classifier/runtime.go
index 7c8ed028..5a912e0e 100644
--- a/lib/mining/classifier/runtime.go
+++ b/lib/mining/classifier/runtime.go
@@ -10,6 +10,8 @@ import (
"github.com/shuLhan/share/lib/debug"
"github.com/shuLhan/share/lib/dsv"
+ "github.com/shuLhan/share/lib/floats64"
+ "github.com/shuLhan/share/lib/ints"
"github.com/shuLhan/share/lib/numbers"
libstrings "github.com/shuLhan/share/lib/strings"
"github.com/shuLhan/share/lib/tabula"
@@ -353,8 +355,7 @@ func (rt *Runtime) Performance(samples tabula.ClasetInterface,
// (1)
actuals := samples.GetClassAsStrings()
sortedIds := numbers.IntCreateSeq(0, len(probs)-1)
- numbers.Floats64InplaceMergesort(probs, sortedIds, 0, len(probs),
- false)
+ floats64.InplaceMergesort(probs, sortedIds, 0, len(probs), false)
// (2)
libstrings.SortByIndex(&actuals, sortedIds)
@@ -382,7 +383,7 @@ func (rt *Runtime) computePerfByProbs(samples tabula.ClasetInterface,
actuals []string, probs []float64,
) {
vs := samples.GetClassValueSpace()
- nactuals := numbers.IntsTo64(samples.Counts())
+ nactuals := ints.To64(samples.Counts())
nclass := libstrings.CountTokens(actuals, vs, false)
pprev := math.Inf(-1)
diff --git a/lib/mining/gain/gini/gini.go b/lib/mining/gain/gini/gini.go
index e4f6c28f..98c2b0c3 100644
--- a/lib/mining/gain/gini/gini.go
+++ b/lib/mining/gain/gini/gini.go
@@ -14,7 +14,7 @@ import (
"fmt"
"github.com/shuLhan/share/lib/debug"
- "github.com/shuLhan/share/lib/numbers"
+ "github.com/shuLhan/share/lib/floats64"
libstrings "github.com/shuLhan/share/lib/strings"
)
@@ -192,7 +192,7 @@ func (gini *Gini) ComputeContinu(src *[]float64, target, classes *[]string) {
T2 := make([]string, len(*target))
copy(T2, *target)
- gini.SortedIndex = numbers.Floats64IndirectSort(A2, true)
+ gini.SortedIndex = floats64.IndirectSort(A2, true)
if debug.Value >= 1 {
fmt.Println("[gini] attr sorted :", A2)
diff --git a/lib/mining/gain/gini/ginifloat.go b/lib/mining/gain/gini/ginifloat.go
index c0e51824..26705239 100644
--- a/lib/mining/gain/gini/ginifloat.go
+++ b/lib/mining/gain/gini/ginifloat.go
@@ -8,7 +8,7 @@ import (
"fmt"
"github.com/shuLhan/share/lib/debug"
- "github.com/shuLhan/share/lib/numbers"
+ "github.com/shuLhan/share/lib/floats64"
)
//
@@ -28,14 +28,14 @@ import (
func (gini *Gini) ComputeContinuFloat(src, target, classes *[]float64) {
gini.IsContinu = true
- gini.SortedIndex = numbers.Floats64IndirectSort(*src, true)
+ gini.SortedIndex = floats64.IndirectSort(*src, true)
if debug.Value >= 1 {
fmt.Println("[gini] attr sorted :", src)
}
// (1)
- numbers.Floats64SortByIndex(target, gini.SortedIndex)
+ floats64.SortByIndex(target, gini.SortedIndex)
// (2)
gini.createContinuPartition(src)
@@ -64,7 +64,7 @@ func (gini *Gini) computeFloat(target, classes *[]float64) float64 {
return 0
}
- classCount := numbers.Floats64Counts(*target, *classes)
+ classCount := floats64.Counts(*target, *classes)
var sump2 float64