aboutsummaryrefslogtreecommitdiff
path: root/lib/mining
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mining')
-rw-r--r--lib/mining/classifier/cart/cart.go2
-rw-r--r--lib/mining/classifier/cm.go11
-rw-r--r--lib/mining/classifier/stats_interface.go5
-rw-r--r--lib/mining/knn/knn.go5
4 files changed, 7 insertions, 16 deletions
diff --git a/lib/mining/classifier/cart/cart.go b/lib/mining/classifier/cart/cart.go
index d72fb929..6de005cf 100644
--- a/lib/mining/classifier/cart/cart.go
+++ b/lib/mining/classifier/cart/cart.go
@@ -357,7 +357,7 @@ func (runtime *Runtime) ClassifySet(data tabula.ClasetInterface) (e error) {
nrow := data.GetNRow()
targetAttr := data.GetClassColumn()
- for i := 0; i < nrow; i++ {
+ for i := range nrow {
class := runtime.Classify(data.GetRow(i))
_ = targetAttr.Records[i].SetValue(class, tabula.TString)
diff --git a/lib/mining/classifier/cm.go b/lib/mining/classifier/cm.go
index 48cf37b8..7358b92e 100644
--- a/lib/mining/classifier/cm.go
+++ b/lib/mining/classifier/cm.go
@@ -77,7 +77,7 @@ func (cm *CM) ComputeStrings(valueSpace, targets, predictions []string) {
cm.computeClassError()
}
-// ComputeNumeric will calculate confusion matrix using targets and predictions
+// ComputeNumeric calculates confusion matrix using targets and predictions
// values.
func (cm *CM) ComputeNumeric(vs, actuals, predictions []int64) {
cm.initByNumeric(vs)
@@ -141,16 +141,13 @@ func (cm *CM) countTargetPrediction(target, predict string,
return
}
-// countNumeric will count and return number of `pred` in predictions where
-// actuals value is `act`.
+// countNumeric returns count of `pred` in predictions where actuals value is
+// `act`.
func (cm *CM) countNumeric(act, pred int64, actuals, predictions []int64) (
cnt int64,
) {
// Find minimum length to mitigate out-of-range loop.
- minlen := len(actuals)
- if len(predictions) < minlen {
- minlen = len(predictions)
- }
+ minlen := min(len(predictions), len(actuals))
for x := range minlen {
if actuals[x] != act {
diff --git a/lib/mining/classifier/stats_interface.go b/lib/mining/classifier/stats_interface.go
index 38599d23..6d5c4baa 100644
--- a/lib/mining/classifier/stats_interface.go
+++ b/lib/mining/classifier/stats_interface.go
@@ -50,10 +50,7 @@ func ComputeAccuracies(tp, fp, tn, fn []int64) (accuracies []float64) {
// and `end` timestamps.
func ComputeElapsedTimes(start, end []int64) (elaps []int64) {
// Get minimum length.
- minlen := len(start)
- if len(end) < minlen {
- minlen = len(end)
- }
+ minlen := min(len(end), len(start))
for x := range minlen {
elaps = append(elaps, end[x]-start[x])
diff --git a/lib/mining/knn/knn.go b/lib/mining/knn/knn.go
index 977e6dc6..71c60cc9 100644
--- a/lib/mining/knn/knn.go
+++ b/lib/mining/knn/knn.go
@@ -80,10 +80,7 @@ func (in *Runtime) FindNeighbors(samples *tabula.Rows, instance *tabula.Row) (
}
// Make sure number of neighbors is greater than request.
- minK := in.AllNeighbors.Len()
- if minK > in.K {
- minK = in.K
- }
+ minK := min(in.AllNeighbors.Len(), in.K)
kneighbors = in.AllNeighbors.SelectRange(0, minK)