다음을 통해 공유


FastTreeRankingTrainer 클래스

정의

IEstimator<TTransformer> FastTree를 사용하여 의사 결정 트리 순위 모델을 학습하기 위한 것입니다.

public sealed class FastTreeRankingTrainer : Microsoft.ML.Trainers.FastTree.BoostingFastTreeTrainerBase<Microsoft.ML.Trainers.FastTree.FastTreeRankingTrainer.Options,Microsoft.ML.Data.RankingPredictionTransformer<Microsoft.ML.Trainers.FastTree.FastTreeRankingModelParameters>,Microsoft.ML.Trainers.FastTree.FastTreeRankingModelParameters>
type FastTreeRankingTrainer = class
    inherit BoostingFastTreeTrainerBase<FastTreeRankingTrainer.Options, RankingPredictionTransformer<FastTreeRankingModelParameters>, FastTreeRankingModelParameters>
Public NotInheritable Class FastTreeRankingTrainer
Inherits BoostingFastTreeTrainerBase(Of FastTreeRankingTrainer.Options, RankingPredictionTransformer(Of FastTreeRankingModelParameters), FastTreeRankingModelParameters)
상속

설명

이 트레이너를 만들려면 FastTree 또는 FastTree(옵션)를 사용합니다.

입력 및 출력 열

입력 레이블 데이터 형식은 형식 또는 Single이어야 합니다. 레이블의 값은 관련성을 결정하며 값이 클수록 관련성이 높습니다. 레이블인 형식이면 키 인덱스가 관련성 값이며 가장 작은 인덱스가 가장 관련도가 적습니다. 레이블이 Single이면 값이 클수록 관련도가 높습니다. 기능 열은 알려진 크기의 벡터 Single 여야 하며 입력 행 그룹 열은 형식이어야 합니다.

이 트레이너는 다음 열을 출력합니다.

출력 열 이름 열 유형 설명
Score Single 예측을 결정하기 위해 모델에서 계산한 바인딩되지 않은 점수입니다.

트레이너 특성

기계 학습 작업 순위
정규화가 필요한가요?
캐싱이 필요한가요? 아니요
Microsoft.ML 외에도 필요한 NuGet Microsoft.ML.FastTree
ONNX로 내보낼 수 있습니다.

학습 알고리즘 세부 정보

FastTree는 MART 그라데이션 부스팅 알고리즘의 효율적인 구현입니다. 그라데이션 승격은 회귀 문제에 대한 기계 학습 기술입니다. 미리 정의된 손실 함수를 사용해 각 단계의 오류를 측정하고 다음 단계에서 오류를 수정하는 방식으로 각 회귀 트리를 단계별로 작성합니다. 따라서 이 예측 모델은 실제로는 더 약한 예측 모델의 앙상블입니다. 회귀 문제에서 승격은 일련의 해당 트리를 단계별로 빌드한 다음, 임의의 미분 가능한 손실 함수를 사용하여 최적의 트리를 선택합니다.

MART는 리프에 스칼라 값이 있는 의사 결정 트리인 회귀 트리의 앙상블을 학습합니다. 의사 결정(또는 회귀) 트리는 각 내부 노드에서 입력의 기능 값 중 하나를 기반으로 계속할 두 자식 노드를 결정하는 이진 트리 형식의 순서도입니다. 각 리프 노드에서는 값이 반환됩니다. 내부 노드에서 결정은 x = v 테스트 <에 따라 결정됩니다. 여기서 x는 입력 샘플의 기능 값이고 v는 이 기능의 가능한 값 중 하나입니다. 회귀 트리를 통해 생성할 수 있는 함수는 모두 구간적 상수 함수입니다.

각 단계에서 손실 함수의 경사 근사치를 계산하는 회귀 트리를 계산한 후 새 트리의 손실을 최소화하는 계수를 사용해 이전 트리에 추가하는 방식으로 트리 앙상블을 생성합니다. 지정된 인스턴스에 대해 MART에서 생성하는 앙상블의 출력은 트리 출력의 합입니다.

  • 이진 분류 문제의 경우에는 일종의 보정을 통해 출력을 확률로 변환합니다.
  • 회귀 문제의 경우 출력은 함수의 예측 값입니다.
  • 순위 문제의 경우에는 앙상블의 출력 값을 기준으로 인스턴스 순서를 지정합니다.

자세한 내용은 다음을 참조하세요.

사용 예제에 대한 링크는 참고 섹션을 참조하세요.

필드

FeatureColumn

트레이너가 기대하는 기능 열입니다.

(다음에서 상속됨 TrainerEstimatorBase<TTransformer,TModel>)
GroupIdColumn

순위 트레이너가 기대하는 선택적 groupID 열입니다.

(다음에서 상속됨 TrainerEstimatorBaseWithGroupId<TTransformer,TModel>)
LabelColumn

트레이너가 기대하는 레이블 열입니다. Can be null, which indicates that label is not used for training.

(다음에서 상속됨 TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

트레이너가 기대하는 체중 열입니다. 가중치가 학습에 사용되지 않음을 나타내는 일 null수 있습니다.

(다음에서 상속됨 TrainerEstimatorBase<TTransformer,TModel>)

속성

Info

IEstimator<TTransformer> FastTree를 사용하여 의사 결정 트리 순위 모델을 학습하기 위한 것입니다.

(다음에서 상속됨 FastTreeTrainerBase<TOptions,TTransformer,TModel>)

메서드

Fit(IDataView, IDataView)

FastTreeRankingTrainer 학습 데이터와 유효성 검사 데이터를 모두 사용하여 학습하고 , 을 반환합니다RankingPredictionTransformer<TModel>.

Fit(IDataView)

를 학습하고 반환합니다 ITransformer.

(다음에서 상속됨 TrainerEstimatorBase<TTransformer,TModel>)
GetOutputSchema(SchemaShape)

IEstimator<TTransformer> FastTree를 사용하여 의사 결정 트리 순위 모델을 학습하기 위한 것입니다.

(다음에서 상속됨 TrainerEstimatorBase<TTransformer,TModel>)

확장 메서드

AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

추정기 체인에 '캐싱 검사점'을 추가합니다. 이렇게 하면 다운스트림 추정기가 캐시된 데이터에 대해 학습됩니다. 여러 데이터 전달을 수행하는 트레이너 앞에 캐싱 검사점을 두는 것이 유용합니다.

WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>)

추정기가 지정된 경우 대리자를 호출한 후 Fit(IDataView) 호출되는 래핑 개체를 반환합니다. 예측 도구가 적합한 항목에 대한 정보를 반환하는 것이 중요한 경우가 많습니다. 따라서 Fit(IDataView) 메서드는 일반 ITransformer개체가 아닌 특별히 형식화된 개체를 반환합니다. 그러나 동시에 IEstimator<TTransformer> 개체가 많은 파이프라인으로 형성되는 경우가 많으므로 변압기를 가져올 추정기가 이 체인의 어딘가에 묻혀 있는 위치를 통해 EstimatorChain<TLastTransformer> 추정기 체인을 빌드해야 할 수도 있습니다. 이 시나리오에서는 fit이 호출되면 호출되는 대리자를 이 메서드를 통해 연결할 수 있습니다.

적용 대상

추가 정보