Method: Rumale::Ensemble::AdaBoostClassifier#decision_function
- Defined in:
- lib/rumale/ensemble/ada_boost_classifier.rb
#decision_function(x) ⇒ Numo::DFloat
Calculate confidence scores for samples.
138 139 140 141 142 143 144 145 146 147 148 |
# File 'lib/rumale/ensemble/ada_boost_classifier.rb', line 138 def decision_function(x) check_sample_array(x) n_samples, = x.shape n_classes = @classes.size sum_probs = Numo::DFloat.zeros(n_samples, n_classes) @estimators.each do |tree| log_proba = Numo::NMath.log(tree.predict_proba(x).clip(1.0e-15, nil)) sum_probs += (n_classes - 1) * (log_proba - 1.fdiv(n_classes) * Numo::DFloat[log_proba.sum(1)].transpose) end sum_probs /= @estimators.size end |