| 579 | } |
| 580 | |
| 581 | TTrainingDataProviders MakeFeatureSubsetTrainingData( |
| 582 | const TVector<ui32>& ignoredFeatures, |
| 583 | const NCB::TTrainingDataProviders& trainingData |
| 584 | ) { |
| 585 | TTrainingDataProviders newTrainingData; |
| 586 | newTrainingData.Learn = MakeFeatureSubsetDataProvider(ignoredFeatures, trainingData.Learn); |
| 587 | newTrainingData.Test.reserve(trainingData.Test.size()); |
| 588 | for (const auto& test : trainingData.Test) { |
| 589 | newTrainingData.Test.push_back(MakeFeatureSubsetDataProvider(ignoredFeatures, test)); |
| 590 | } |
| 591 | |
| 592 | newTrainingData.FeatureEstimators = trainingData.FeatureEstimators; |
| 593 | |
| 594 | // TODO(akhropov): correctly support ignoring indices based on source data |
| 595 | newTrainingData.EstimatedObjectsData = trainingData.EstimatedObjectsData; |
| 596 | |
| 597 | return newTrainingData; |
| 598 | } |
| 599 | |
| 600 | bool HaveFeaturesInMemory( |
| 601 | const NCatboostOptions::TCatBoostOptions& catBoostOptions, |
no test coverage detected