PermutationFeatureImportance( this RankingCatalog catalog, ITransformer model, IDataView data, string labelColumnName = DefaultColumnNames.Label, string rowGroupColumnName = DefaultColumnNames.GroupId, bool useFeatureWeightFilter = false, int?numberOfExamplesToUse = null, int permutationCount = 1) { Contracts.CheckValue(catalog, nameof(catalog)); var env = catalog.GetEnvironment(); Contracts.CheckValue(env, nameof(env)); env.CheckValue(data, nameof(data)); env.CheckValue(model, nameof(model)); RankingMetricsStatistics resultInitializer() => new(); RankingMetrics evaluationFunc(IDataView idv) => catalog.Evaluate(idv, labelColumnName, rowGroupColumnName); return(PermutationFeatureImportance( env, model, data, resultInitializer, evaluationFunc, RankingDelta, permutationCount, useFeatureWeightFilter, numberOfExamplesToUse )); }
PermutationFeatureImportance <TModel>( this RankingCatalog catalog, IPredictionTransformer <TModel> model, IDataView data, string label = DefaultColumnNames.Label, string groupId = DefaultColumnNames.GroupId, string features = DefaultColumnNames.Features, bool useFeatureWeightFilter = false, int?topExamples = null, int permutationCount = 1) { return(PermutationFeatureImportance <TModel, RankingMetrics, RankingMetricsStatistics> .GetImportanceMetricsMatrix( catalog.GetEnvironment(), model, data, idv => catalog.Evaluate(idv, label, groupId), RankingDelta, features, permutationCount, useFeatureWeightFilter, topExamples)); }
PermutationFeatureImportance <TModel>( this RankingCatalog catalog, ISingleFeaturePredictionTransformer <TModel> predictionTransformer, IDataView data, string labelColumnName = DefaultColumnNames.Label, string rowGroupColumnName = DefaultColumnNames.GroupId, bool useFeatureWeightFilter = false, int?numberOfExamplesToUse = null, int permutationCount = 1) where TModel : class { return(PermutationFeatureImportance <TModel, RankingMetrics, RankingMetricsStatistics> .GetImportanceMetricsMatrix( catalog.GetEnvironment(), predictionTransformer, data, () => new RankingMetricsStatistics(), idv => catalog.Evaluate(idv, labelColumnName, rowGroupColumnName), RankingDelta, predictionTransformer.FeatureColumnName, permutationCount, useFeatureWeightFilter, numberOfExamplesToUse)); }