Alexander Alekhin
b09a4a98d4
opencv: Use cv::AutoBuffer<>::data()
2018-07-04 19:11:29 +03:00
Alexander Alekhin
68c92908d5
Merge remote-tracking branch 'upstream/3.4' into merge-3.4
2018-05-14 15:17:35 +03:00
berak
9b0ef7bb17
ml: fix caching of internal state when changing the impl in KNearest
2018-05-11 12:20:17 +02:00
berak
fc5bba66af
ml: refactor non-virtual methods
2018-04-24 13:23:27 +02:00
Alexander Alekhin
2385a5870e
next(ml): eliminate dummy interface class ANN_MLP_ANNEAL
2018-04-10 18:09:54 +03:00
lopespt
65d816c3b5
Adds efficient sort algorithm to KNearest
2018-04-04 09:35:58 -03:00
Alexander Alekhin
4d0dd3e509
ml: apply CV_OVERRIDE/CV_FINAL
2018-03-28 18:43:27 +03:00
Vadim Pisarevsky
284e5231c5
Merge pull request #11171 from codingforfun:fix_11143
2018-03-28 12:47:37 +00:00
codingforfun
24e2e0d3f9
#11143 [FIX] Normalize node risk with sample weight sum
...
In case of regression trees, node risk is computed as sum of squared
error. To get a meaningfull value to compare with it needs to be
normalized to the number of samples in the node (or more generally to
the sum of sample weights in this node). Otherwise the sum of squared
error is highly dependend on the number of samples in the node and
comparision with `regressionAccuracy` parameter is not very meaningful.
After normalization `node_risk` means in fact sample variance for all
samples in the node, which makes much more sence and seams to be what
was originaly intended by the code given that node risk is later used as
a split termination criteria by
```
sqrt(node.node_risk) < params.getRegressionAccuracy()
```
2018-03-27 15:39:36 +02:00
Maksim Shabunin
92e9d4ec3a
Fixed several issues detected by static analysis
2018-02-22 17:11:33 +03:00
luz.paz
e805a55a5b
Misc. modules/ typos (cont.)
...
Found via `codespell`
2018-02-12 10:15:36 -05:00
Alexander Alekhin
00e43a9022
ml(ANN_MLP): ensure that train() call is always successful
2017-12-22 18:50:04 +00:00
Alexander Alekhin
289a8da39e
ml: simplify interfaces of SimulatedAnnealingSolver
2017-12-22 16:35:48 +03:00
LaurentBerger
e43997dbb5
Calcerror uses now weighted samples ( #10346 )
...
* Calcerror uses now sample weights
* catree comment in #10319
2017-12-20 17:24:46 +03:00
Alexander Alekhin
aef3019152
ml: fix SimulatedAnnealingSolver interface
2017-12-15 21:44:32 +03:00
catree
0a439570a0
Move SimulatedAnnealingSolver::Impl in cpp file. Fix some typos.
2017-12-15 14:09:59 +01:00
LaurentBerger
7ad308ea47
Simulated Annealing for ANN_MLP training method ( #10213 )
...
* Simulated Annealing for ANN_MLP training method
* EXPECT_LT
* just to test new data
* manage RNG
* Try again
* Just run buildbot with new data
* try to understand
* Test layer
* New data- new test
* Force RNG in backprop
* Use Impl to avoid virtual method
* reset all weights
* try to solve ABI
* retry
* ABI solved?
* till problem with dynamic_cast
* Something is wrong
* Solved?
* disable backprop test
* remove ANN_MLP_ANNEALImpl
* Disable weight in varmap
* Add example for SimulatedAnnealing
2017-12-15 13:57:39 +03:00
Vadim Pisarevsky
614e254331
Merge pull request #10170 from LaurentBerger:Issue10166
2017-11-29 09:51:20 +00:00
LaurentBerger
a44573c43b
Add ReLU and LeakyReLU activation function in ml module
2017-11-28 11:02:05 +01:00
LaurentBerger
606a5fd537
Try to solve issue 10166
2017-11-27 13:13:05 +01:00
LaurentBerger
b9cf65e905
Parallel version of calcError in statmodel
2017-11-09 21:29:06 +01:00
Vadim Pisarevsky
70c5d69640
Merge pull request #9310 from r2d3:svm_parallel
2017-09-18 09:32:41 +00:00
Vadim Pisarevsky
42cd061af0
Merge pull request #9581 from sovrasov:rtree_disable_cv
2017-09-13 13:20:52 +00:00
Maksim Shabunin
248e2c7d47
Fixed some issues found by static analysis
2017-09-08 12:22:12 +03:00
Vladislav Sovrasov
3eb9a655c7
ml: disable not implemented k-fold validation in RTrees
2017-09-07 15:49:46 +03:00
David Geldreich
7c334f45c6
trainAuto: uses parallel_for_ to dispatch all parameters combination to test
2017-08-08 13:27:02 +02:00
Rink Springer
3ce1bca670
Prevent crash when attempting to create training data without responses.
...
This is at least useful when using an SVM one-class linear classifier, so there are valid use cases.
2017-06-30 15:36:47 +02:00
Maksim Shabunin
a769d69a9d
Fixed several issues found by static analysis
2017-06-28 18:06:18 +03:00
Maksim Shabunin
32d4af36e2
Fixing some static analysis issues
2017-06-27 14:30:26 +03:00
Alexander Alekhin
006966e629
trace: initial support for code trace
2017-06-26 17:07:13 +03:00
David Carlier
bacc210606
fixing segfaults occuring when launching those unit tests
2017-04-18 09:50:17 +01:00
Julian Tanke
f70cc29edb
export SVM::trainAuto to python #7224 ( #8373 )
...
* export SVM::trainAuto to python #7224
* workaround for ABI compatibility of SVM::trainAuto
* add parameter comments to new SVM::trainAuto function
* Export ParamGrid member variables
2017-03-23 16:00:19 +03:00
Vadim Pisarevsky
e0ee2f769a
Merge pull request #8116 from mrquorr:master
2017-03-02 11:07:23 +00:00
mrquorr
d8425d8881
finished for one sample
...
Finished with several samples support, need regression testing
Gave a more relevant name to function (getVotes)
Finished implicit implementation
Removed printf, finished regresion testing
Fixed conversion warning
Finished test for Rtrees
Fixed documentation
Initialized variable
Added doxygen documentation
Added parameter name
2017-02-28 11:14:33 -06:00
Alexander Alekhin
75533fcd06
Merge pull request #8098 from chrizandr:Tree_load_Wrapper
...
Add wrappers for load functions for DTrees and Boost classifiers
2017-01-30 17:25:23 +03:00
chrizandr
519fbdb8ab
Wrappers for load methods of EM, LR, SVMSGD and Normal Bayes Classifier
2017-01-29 18:51:55 +05:30
chrizandr
d22df8c41f
Add wrappers for load functions for DTrees and Boost classifiers
2017-01-29 15:55:38 +05:30
Vadim Pisarevsky
2bac66a181
Merge pull request #8004 from chrizandr:RTrees_load_wrapper
2017-01-24 11:55:42 +00:00
chrizandr
e3ec3566d9
RTrees: Add wrapper for RTrees_load method to enable loading trained RTrees
2017-01-19 17:16:45 +05:30
berak
89a740a62f
Merge pull request #8019 from berak:patch-2
...
ml: fix small typo in lr.cpp (#8019 )
2017-01-17 13:57:50 +03:00
Alexander Alekhin
23e53a32e5
Merge pull request #7950 from BadrinathS:firstbugfix-lr_opencv
2016-12-31 12:48:54 +00:00
BadrinathS
d1f727191f
Resolving issue #7924
2016-12-31 16:37:51 +05:30
Vadim Pisarevsky
ae9f80c1a9
Merge pull request #7855 from logic1988:master
2016-12-19 13:45:51 +00:00
logic1988
de059567d7
Update inner_functions.cpp
...
Fix #4958 cv::ml::StatModel::calcError not working for responses of type CV_32S
2016-12-16 20:01:07 +03:00
Vladislav Sovrasov
d2e5bea1fb
Disable training of RTrees when CVFolds > 0
2016-12-16 16:39:44 +03:00
Vadim Pisarevsky
40b870704e
add 2 extra methods to ml::TrainData ( #7169 )
...
* expose 2 extra methods from ml::TrainData: getNames() and getVarSymbolFlags(). The first one returns text labels from CSV (if the data has been loaded from CSV); the second one returns a matrix of boolean values; its n-th element is 1 iff the corresponding column in the CSV uses symbolic names, not numbers.
* check that the dynamic_cast succeeds
2016-08-26 16:25:46 +04:00
LaurentBerger
b75bac7975
Solve Issue 7063
...
consequences of changes
accuracy test
Solve issue 7063
2016-08-11 10:56:50 +02:00
Vadim Pisarevsky
d7ee62f03b
1. fix warning from Xcode 7.x
...
2. fixed parsing of "cat[range_spec]ord[range_spec]" type specification string when using ml::TrainData::loadFromCSV(). Thanks to A. Kaehler for reporting it
2016-08-04 12:52:10 +03:00
Vadim Pisarevsky
b28194addc
Merge pull request #6860 from IshankGulati:svm-error-message
2016-07-18 15:44:40 +00:00
Jose Luis Guardiola
2bb520e277
Fixed #6562 : Incorrect CV_64F management in ANN
2016-05-20 13:16:59 +02:00
Maksim Shabunin
49b4af1e5c
Merge pull request #6395 from Tauranis:master
2016-04-13 07:53:33 +00:00
Tauranis
edb6a0e889
Bug fix for MLP predict for small values to avoid nan responses.
2016-04-12 15:59:32 -03:00
Maksim Shabunin
8f6e102331
Merge pull request #6345 from eduardohenriquearnold:master
2016-04-12 15:22:32 +00:00
Maksim Shabunin
1307bb1d03
Merge pull request #6314 from mvukad:bugfix_dtreeswrite
2016-04-12 13:26:25 +00:00
mvukad
695e33b25b
Fix missing format when writing Algorithm-based objects
...
Added a writeFormat() method to Algorithm which must be called by the
write() method of derived classes.
2016-04-07 13:49:42 -07:00
Vadim Pisarevsky
46d218bcec
Merge pull request #6312 from KnockSoftware:split-float-epsilon
2016-04-03 23:10:10 +00:00
Eduardo Arnold
d046602ea4
Enforced DecisionFunction vector indexes to be saved on SVM save/load methods
2016-03-29 16:35:27 -03:00
Eugene Khvedchenya
ee92a36123
Added parallel implementation of compute_gradient method.
2016-03-29 11:09:54 +03:00
Evan Heidtmann
0712bccf52
Fix epsilon comparison when splitting
2016-03-28 14:16:32 -07:00
berak
4555f9ac25
svmsgd.cpp, fix #6248
...
add a cast to double, to make vs compilers happy
2016-03-14 08:02:09 +01:00
Vadim Pisarevsky
fbc221d334
Merge pull request #6096 from mnoskova:mn/SVMSGD_to_opencv3_0
2016-03-12 17:16:35 +00:00
Marina Noskova
53711ec29d
Deleted default value for parameters in docs.
...
Added some asserts.
2016-02-25 19:12:54 +03:00
Marina Noskova
d484893839
Deleted functions makeTrainData() and makeTestData() in test_svmsgd.cpp.
...
Added function makeData() in test_svmsgd.cpp.
2016-02-25 16:57:03 +03:00
Marina Noskova
74c87a26a5
Delete function areClassesEmpty().
2016-02-25 15:31:07 +03:00
Marina Noskova
f3c4a6aab8
Rename parameters lambda, gamma0 and c.
2016-02-24 13:22:07 +03:00
Marina Noskova
02cd8cf039
Deleted illegal type values.
2016-02-15 15:09:59 +03:00
Marina Noskova
ff54952769
Corrected spelling mistakes
2016-02-15 14:35:36 +03:00
Maksim Shabunin
54abb83c82
ml: moved getTestSamples implementation to src
2016-02-12 12:32:26 +03:00
Marina Noskova
5496dedd6a
Fixed warnings.
2016-02-10 19:46:24 +03:00
Marina Noskova
617dd5db5b
Fixed doc/opencv.bib
2016-02-10 17:57:36 +03:00
Marina Noskova
c522172367
Fixed small bug in SVMSGD::clear().
2016-02-10 16:59:12 +03:00
Marina Noskova
05353a1492
Removed trailing whitespaces
2016-02-10 16:59:12 +03:00
Marina Noskova
41c0a38344
Fixed test samples for tests with different borders
...
Added new test (separating two points)
2016-02-10 16:59:12 +03:00
Marina Noskova
bfdca05f25
Added margin type, added tests with different scales of features.
...
Also fixed documentation, refactored sample.
2016-02-10 16:59:12 +03:00
Marina Noskova
acd74037b3
Increasing the dimension of features space in the SVMSGD::train function.
2016-02-10 16:59:11 +03:00
Marina Noskova
40bf97c6d1
Refactored SVMSGD class
2016-02-10 16:56:14 +03:00
joao.faro
a2f0963d66
SVMSGD class added
2016-02-10 16:53:15 +03:00
Alexander Alekhin
df89e76fb1
Merge pull request #5922 from DarwinsBuddy:fix_no_py_load_svm_bug
2016-01-14 14:44:27 +00:00
Alexander Alekhin
cb0b2bd1af
Merge pull request #5965 from amroamroamro:fix_concentric_spheres
2016-01-14 12:09:25 +00:00
Amro
47cdb041f2
fix assignment of class labels
...
by using the indices from the sorted distance vector of pairs.
2016-01-14 02:56:34 +02:00
Amro
542f2b2e3c
clean up code for train and predict methods of LR
2016-01-13 20:47:07 +02:00
Amro
e67178c696
fix LR predict with raw output in 2-class case
...
In case of binary class, pred_m is initialized as zero vector and later
returned when raw outputs are requested, but it is never filled.
2016-01-13 19:48:21 +02:00
Christoph Spörk
3f172731b2
added wrapped load function for python as suggested by gat3way
2016-01-11 10:59:15 +01:00
Christoph Spörk
6c8bc6a25b
fixed ABI incompatibilities as proposed by alalek
...
related to issue 4969
fixes issue 5891
fixes issue 5922
2016-01-07 08:00:01 +01:00
Christoph Spörk
a7aa198b4c
fixing issue #4969 of Itseez/opencv.
...
Someone forgot to wrap the load function for SVMs in the
corresponding ml python module. Fixed that.
2016-01-04 15:47:26 +01:00
berak
5afd0e211e
ml: fix NormalBayesClassifier bulk prediction( #5911 )
2016-01-04 11:47:08 +01:00
Philip
1ba2286c6d
fix uninitialized matrix in EM::predict fixes #5443
...
fixes #5443
2015-12-23 11:19:48 +01:00
Ishank gulati
9636b5e821
reduce k_fold parameter
2015-12-22 15:47:11 +05:30
Dikay900
4f3b58d1e7
fix reshape call not being an inplace method
...
fixes #5853 #4740
2015-12-21 21:10:35 +01:00
Vadim Pisarevsky
e0395a79ec
Merge pull request #5616 from afriesen:lr_predict
2015-12-11 12:22:56 +00:00
Vadim Pisarevsky
7a7b0bcfcb
fixed the upper boundary when calling checkRange (thanks to alalek)
2015-12-10 20:17:17 +03:00
Deanna Hood
0d706f6796
Return uncompressed support vectors for getSupportVectors on linear SVM (Bug #4096 )
2015-12-10 18:31:02 +03:00
Vadim Pisarevsky
544990e377
couple of small fixes in rtrees variable importance calculation
2015-12-10 18:13:54 +03:00
Vadim Pisarevsky
fda17273de
applying patch by rxtsolar: https://github.com/Itseez/opencv/pull/5422 for the master branch (even though it's actually not that important here)
2015-12-10 18:10:27 +03:00
niederb
d8e3971e7f
Fixed variable importance in rtrees
2015-12-10 18:09:15 +03:00
Tian Zhi
f0434d60b0
fixed the type inconsistent with document.
...
Document say probs will have CV_64F type. But in effect, it has CV_32F type.
http://docs.opencv.org/3.0.0/d1/dfb/classcv_1_1ml_1_1EM.html#a2ea7da92a75bc7a7d665c241f547b9b9
2015-11-12 02:54:18 +08:00
Abe Friesen
9c6ff4d955
- LogisticRegressionImpl::predict() was changed to return the predicted value and to only write to the OutputArray results if specified (no longer segfaults).
...
- Refactored batch and mini_batch training to use a common gradient computation function (removed duplicate code).
- Altered the cost computation so that NAN is not computed unnecessarily.
- Greatly simplified (and sped up) the code that appends a column of 1s to the data.
- Minor code cleanup.
Removed unused variables.
Added cast to float to remove warning
2015-11-02 17:49:06 -08:00
Alexander Alekhin
dfec99691b
Merge pull request #5370 from berak:fix_svm_autoTrain
2015-10-26 10:47:29 +00:00
Alexander Alekhin
1648e9292c
Merge pull request #5431 from MiguelAlgaba:em_one_cluster
2015-10-19 15:27:35 +00:00
Amro
13a0a37e63
fix randMVNormal in ML ( #5469 )
...
Fix the failed assertion by replacing the GEMM call.
Also random numbers are generated from normal distribution ~N(0,1),
instead of uniform distribution ~U(0,1).
2015-10-11 01:54:11 +03:00