1
0
mirror of https://github.com/sjwhitworth/golearn.git synced 2025-04-28 13:48:56 +08:00

75 Commits

Author SHA1 Message Date
Ayush
452acbabb3 Adding Isolation + Fixing previous import issue 2020-08-24 14:26:45 +05:30
Ayush
27b86ce3ea Delete tmp 2020-08-06 21:43:47 +05:30
Ayush
b689fe0c58 Fixing Typo + tmp file 2020-08-03 09:41:35 +05:30
Ayush
cd2b86aa2e Changing var name 2020-08-01 11:43:14 +05:30
Ayush
6a42fcd4ae catching nInstances == 0 2020-08-01 11:36:53 +05:30
Ayush
9d1ac82a40 Optimizing Loss Calculation 2020-08-01 11:25:53 +05:30
Ayush
ae2338c2c1 Updating package level details 2020-07-31 12:38:34 +05:30
Ayush
7f8ce6d113 Removing Panics 2020-07-31 11:01:20 +05:30
Ayush
d587340e4a Renaming Impurity Functions 2020-07-30 11:21:06 +05:30
Ayush
1954aae7a6 Changing name of Use_not 2020-07-30 10:27:16 +05:30
Ayush
2d2af0a58f Removing Clutter
Partial Modularization of best split method. Shorten method by declaring variables in same line as well.

Also removing redundant functions, and adding into cart_utils.
2020-07-28 14:17:18 +05:30
Ayush
ef751e62c4 Adding cart_test.go 2020-07-27 17:08:44 +05:30
Ayush
91a27e3ca0 Fixing Comments 2020-07-27 15:03:12 +05:30
Ayush
abed408f9b Updating Dataset + Naming 2020-07-26 11:21:20 +05:30
Ayush
c0c3b2e1bf Fixing Sorting 2020-07-25 13:22:15 +05:30
Ayush
b16b60fcb5 Adding Example script for CART 2020-07-23 16:45:31 +05:30
Ayush
c083759523 Adding Changes 2020-07-22 14:34:59 +05:30
Ayush
08529c42cf Added Comments for Regressor 2020-07-18 14:21:50 +05:30
Ayush
16eac7d86d Adding Regression Trees 2020-07-18 12:26:50 +05:30
Ayush
d1228c5508 Adding Integration For Fixed Data Grid in Predict And Evaluate 2020-07-18 10:47:22 +05:30
Ayush
8848652943 Added Decision Tree Classifier
CART implementation of Decision Tree Classifier, based on Gini Impurity or Entropy, as selected by the user.
2020-07-16 13:37:34 +05:30
Richard Townsend
ac9fa85307 Fix for error that happens on Go 1.11 and above 2019-03-23 18:54:04 +00:00
Soypete
019f1015dd change gonum matrix definitions to match with current gonum version 2019-03-19 22:49:58 -06:00
ss8651twtw
1e1b5f11fb Format code 2018-06-16 22:14:18 +08:00
yenck
bf907556f5 testcase 2018-06-16 22:11:59 +08:00
yenck
80bc1ac6f8 some test for C0 2018-06-16 22:11:59 +08:00
yenck
30071eb8a4 some test for C9 2018-06-16 22:11:59 +08:00
Ilya Tocar
676f69a426 trees: speed-up training
Avoid quadratic loop in getNumericAttributeEntropy.
We don't need to recalculate whole distribution for each split,
just move changed values. Also use array of slices instead of
map of maps of strings to avoid map overhead.

For our case I see time reductions from 100+ hours to 50 minutes.
I've added benchmark with synthetic data (iris.csv repeated 100 times)
and it also shows a nice improvement:

name               old time/op  new time/op  delta
RandomForestFit-8    117s ± 4%      0s ± 1%  -99.61%  (p=0.001 n=5+10)

0 is a rounding quirk of benchstat, it should be closer to 0.5s:

name               time/op
RandomForestFit-8  460ms ± 1%
2018-05-08 14:59:41 -05:00
Richard Townsend
58ae6f4d1b trees: Try to fix premature write-after-Close issue 2018-01-28 16:35:55 +00:00
Richard Townsend
e2279995c1 Fixing all tests 2018-01-28 16:22:33 +00:00
Richard Townsend
ce78cd0406 Passes the tests 2018-01-27 18:56:01 +00:00
Richard Townsend
f722f2e59d trees: implement serialization 2018-01-27 18:00:52 +00:00
Richard Townsend
e7fee0a2d1 Reformat, fix tests 2017-09-10 21:10:54 +01:00
Richard Townsend
fc110aab48 Fix bad import, reformat 2017-09-10 20:35:34 +01:00
Richard Townsend
aee475ca14 Fix the trees tests 2017-09-10 20:13:41 +01:00
Richard Townsend
e27215052b ensemble: tests pass 2017-09-10 19:30:02 +01:00
Richard Townsend
768d2cd19f meta: tests are almost passing 2017-09-10 16:59:05 +01:00
Richard Townsend
57e6054404 base: fix unmarshalling attributes, add JSON 2017-08-26 14:56:31 +01:00
Richard Townsend
e68361c162 Genericize for ensemble use 2017-08-08 12:37:57 +01:00
Richard Townsend
a90ef09781 Remove excessive logging 2017-08-08 12:29:00 +01:00
Richard Townsend
d23619eac2 OK, but with a lot of extra printing 2017-08-07 17:26:11 +01:00
meirwahnon
674de9cae3 change Probability order 2017-07-17 16:01:49 +03:00
meirwahnon
518c0d84c4 extren fields of ClassProba 2017-07-17 15:35:35 +03:00
meirwahnon
2b478a0513 fix to float precise 2017-07-17 15:01:08 +03:00
meirwahnon
f56fce1a43 support PredictProba 2017-07-17 14:48:38 +03:00
Ryan Schmukler
cf6192c81c fix(id3): fix panic on SplitAttribute being nil 2016-06-28 14:36:48 -04:00
Richard Townsend
7ba57fe6df trees: Handling FloatAttributes.
This patch adds:

	* Gini index and information gain ratio as
           DecisionTree split options;
	* handling for numeric Attributes (split point
           chosen naïvely on the basis of maximum entropy);
	* A couple of additional utility functions in base/
	* A new dataset (see sources.txt) for testing.

Performance on Iris performs markedly without discretisation.
2014-10-26 17:40:38 +00:00
Amit Kumar Gupta
4d93b9de89 Convert remaining tests to goconvey 2014-08-23 05:22:16 +00:00
Amit Kumar Gupta
1809a8b358 RandomForest returns error when fitting data with fewer features than the RandomForest plans to use
- BaseClassifier Predict and Fit methods return errors
- go fmt ./...

Conflicts:
	ensemble/randomforest.go
	ensemble/randomforest_test.go
	trees/tree_test.go
2014-08-22 13:39:29 +00:00
Amit Kumar Gupta
529b3bcaa5 Avoid renaming packages on import 2014-08-22 13:39:29 +00:00