| 112 | } |
| 113 | |
| 114 | THolder<IBinarizer> MakeBinarizer(const EBorderSelectionType type) { |
| 115 | switch (type) { |
| 116 | case EBorderSelectionType::UniformAndQuantiles: |
| 117 | return MakeHolder<TMedianPlusUniformBinarizer>(); |
| 118 | case EBorderSelectionType::GreedyLogSum: |
| 119 | return MakeHolder<TGreedyBinarizer<EPenaltyType::MaxSumLog>>(); |
| 120 | case EBorderSelectionType::GreedyMinEntropy: |
| 121 | return MakeHolder<TGreedyBinarizer<EPenaltyType::MinEntropy>>(); |
| 122 | case EBorderSelectionType::MaxLogSum: |
| 123 | return MakeHolder<TExactBinarizer<EPenaltyType::MaxSumLog>>(); |
| 124 | case EBorderSelectionType::MinEntropy: |
| 125 | return MakeHolder<TExactBinarizer<EPenaltyType::MinEntropy>>(); |
| 126 | case EBorderSelectionType::Median: |
| 127 | return MakeHolder<TMedianBinarizer>(); |
| 128 | case EBorderSelectionType::Uniform: |
| 129 | return MakeHolder<TUniformBinarizer>(); |
| 130 | } |
| 131 | |
| 132 | ythrow yexception() << "got invalid enum value: " << static_cast<int>(type); |
| 133 | } |
| 134 | } |
| 135 | |
| 136 | THashSet<float> BestSplit( |
no outgoing calls
no test coverage detected