aboutsummaryrefslogtreecommitdiff
path: root/lib/mining/classifier
AgeCommit message (Collapse)Author
11 daysall: apply go fixShulhan
2026-01-15all: convert license and copyright to use SPDX identifiersShulhan
With help of spdxconv tool [1], we able to bulk update all files license and copyright format to comply with SPDX formats. [1] https://kilabit.info/project/spdxconv/
2025-01-23all: use for-range with numericShulhan
Go 1.22 now support for-range on numeric value.
2025-01-23all: replace "interface{}" with "any"Shulhan
2024-12-29all: merge package "lib/floats64" into "slices"Shulhan
Now that Go has type parameter, we can use it to use the same function that accept different types for working with slice of float64.
2024-12-29all: merge package "lib/ints" and "lib/ints64" into "slices"Shulhan
Now that Go has type parameter, we can use it to use the same function that accept different types for working with slice of int, int64.
2024-03-05all: comply with linter recommendations #2Shulhan
HTTP request now implicitly create request with context. Any false positive related to not closing HTTP response body has been annotated with "nolint:bodyclose". In the example code, use consistent "// Output:" comment format, by prefixing with single space. Any comment on code now also prefixing with single space. An error returned without variables now use [errors.New] instead of [fmt.Errorf]. Any error returned using [fmt.Errorf] now wrapped using "%w" instead of "%s". Also, replace error checking using [errors.Is] or [errors.As], instead of using equal/not-equal operator. Any statement like "x = x OP y" now replaced with "x OP= y". Also, swap statement is simplified using "x, y = y, x". Any switch statement with single case now replaced with if-condition. Any call to defer on function or program that call [os.Exit], now replaced by calling the deferred function directly. Any if-else condition now replaced with switch statement, if possible.
2024-03-02all: move the repository to "git.sr.ht/~shulhan/pakakeh.go"Shulhan
There are several reasons that why we move from github.com. First, related to the name of package. We accidentally name the package with "share" a common word in English that does not reflect the content of repository. By moving to other repository, we can rename it to better and unique name, in this "pakakeh.go". Pakakeh is Minang word for tools, and ".go" suffix indicate that the repository related to Go programming language. Second, supporting open source. The new repository is hosted under sourcehut.org, the founder is known to support open source, and all their services are licensed under AGPL, unlike GitHub that are closed sources. Third, regarding GitHub CoPilot. The GitHub Terms of Service [1], allow any public content that are hosted there granted them to parse the content. On one side, GitHub helps and flourish the open source, but on another side have an issues regarding scraping the copyleft license [2]. [1]: https://docs.github.com/en/site-policy/github-terms/github-terms-of-service#4-license-grant-to-us [2]: https://githubcopilotinvestigation.com
2024-01-24all: fix the warnings from linter reviveShulhan
This rename all variable "Ids" into "ListID".
2023-09-14all: fix variable shadowing as reported by shadow toolShulhan
The shadow tool [1] report a variable where its name is declared twice or more, in different scope. [1] https://pkg.go.dev/golang.org/x/tools@v0.13.0/go/analysis/passes/shadow
2023-09-11lib/mining: use _ for unused parameter t in testingShulhan
This package is written when I first learn Go, so some of test are not written as it should be.
2023-09-11classifier/crf: remove unused parameter "samples" in NewShulhan
2023-09-11lib/mining: add package comment for mining and classifierShulhan
2023-09-11lib/mining: realign struct for better size allocationShulhan
The realignment reduce the cost of the following struct, * classifier/cart.Runtime: from 40 to 16 bytes (-24) * classifier/cart.NodeValue: from 72 to 40 bytes (-32) * classifier.CM: from 184 to 152 bytes (-32) * classifier/crf.Runtime: from 376 to 312 bytes (-64) * classifier/rf.Runtime: from 336 to 304 bytes (-32) * classifier.Runtime: from 256 to 112 bytes (-144) * gain/gini.Gini: from 152 to 104 bytes (-48) * knn.Runtime: from 56 to 32 bytes (-24) * resampling/lnsmote.Runtime: from 232 to 224 bytes (-8) * resampling/smote.Runtime: from 144 to 128 bytes (-16)
2023-05-20all: remove any usage of debug.Value in all packagesShulhan
Using global debug value for all packages turns out is not a good idea.
2022-05-09all: reformat all codes using gofmt 1.19 (the Go tip)Shulhan
2021-03-14all: refactoring the test.Assert and test.AssertBench signatureShulhan
Previously, the test.Assert and test.AssertBench functions has the boolean parameter to print the stack trace of test in case its not equal. Since this parameter is not mandatory and its usually always set to "true", we remove them from function signature to simplify the call to Assert and AssertBench.
2020-06-06all: use default linter optionsShulhan
2020-05-16all: fix and suppress linter warningsShulhan
2019-09-25all: fix linter warningsShulhan
2019-06-14all: fix nolint formatShulhan
The valid syntax to suppress linter warnings is "//nolint:<name>" with no space between comment and "nolint" and between ":". Also, we move the placement of nolint directive to the top of statements for multiple nolint in the same scope. While at it, fix and supress some linter warnings.
2019-03-02all: changes affected by refactoring on package "numbers"Shulhan
2019-03-01all: fix warnings from linterShulhan
Most of the warnings caused by update to linter which cause global variables declared with grouping "( ... )" and that has been suppressed, are become false-positive again.
2019-01-29lib/mining: fix linter warnings on using capitalized parametersShulhan
2018-11-30all: minimize and suppress linter warnings for global variablesShulhan
2018-11-30all: fix linter warnings on naked returnShulhan
2018-11-29all: fix warnings from lintersShulhan
2018-11-29all: fix warning from lintersShulhan
2018-09-18Merge package "github.com/shuLhan/go-mining"Shulhan