SvmLightLoader 클래스

정의

이렇게 하면 SVM 라이트 형식에 가까운 형식으로 데이터를 읽는 것이 목표입니다. 목표는 대부분의 SVM 라이트 형식 데이터를 이 로더가 해석할 수 있어야 한다는 것입니다.

public sealed class SvmLightLoader : Microsoft.ML.IDataLoader<Microsoft.ML.Data.IMultiStreamSource>
type SvmLightLoader = class
    interface IDataLoader<IMultiStreamSource>
    interface ICanSaveModel
Public NotInheritable Class SvmLightLoader
Implements IDataLoader(Of IMultiStreamSource)
상속
SvmLightLoader
구현

설명

로더는 다음과 같은 일반적인 방법으로 SVM-light의 구문 분석 동작과 다를 수도 있습니다.

  1. 따라서 IDataView벡터는 논리적 길이를 포함해야 하며, 실제적인 이유로 이 로더의 출력에 고정 길이 벡터 형식이 있는 경우 몇 가지 추정기와 기본 트레이너 추정기가 가변 길이 벡터 형식의 기능을 수락하지 않으므로 유용합니다. SVM 조명에는 이러한 개념이 없었습니다.
  2. 관용구에는 IDataView 구문 분석 오류와 다른 동작이 있습니다.
  3. SVM 라이트에는 이 로더의 개념에서 제한하려고 시도하는 부자연스러운 형식의 몇 가지 제한 사항이 있습니다.
  4. 수년에 걸쳐 발생한 이 형식의 몇 가지 일반적인 "확장"은 몇 가지 옵션을 지정하여 지원되는 합리적인 위치에 수용됩니다.

SVM 라이트 형식은 여기에서 요약할 수 있습니다. SVM 라이트 파일은 '#'으로 시작하는 여러 줄로 이어질 수 있습니다. 이러한 항목은 삭제됩니다. {label} {key}:{value} {key}:{value} ... {key}:{value}[#{comment}]

줄 내에 공백이 있지만 # 주석 문자(있는 경우)가 무시되기 전에는 줄이 공백으로 잘려지지 않습니다. SVM-light 자체는 표준 C "isspace" 함수를 사용하지만 공백과 탭만 공백으로 사용합니다. 따라서 위의 줄에 있는 공백은 탭일 수 있으며 순서대로 여러 개의 탭이 있을 수도 있습니다. 예를 들어 텍스트 로더의 형식과 달리 상태가 있는 "공백" 필드의 개념은 없습니다.

기능 벡터는 일련의 키/값 쌍을 통해 지정됩니다. SVM 라이트를 사용하려면 비용(가중치로 해석), qid(GroupId로 해석) 및 sid(무시하지만 학습자 중 여유 ID와 유사한 항목을 구현하는 경우 나중에 열로 표시될 수 있음)의 세 가지 특수 키를 제외하고 키가 양의 정수로 증가해야 합니다. 'cost'의 값은 float이고, 'qid'는 길고, 'sid'는 양수여야 하는 긴 값입니다. 이러한 키를 여러 번 지정하면 마지막 키가 우선합니다.

값의 꼬리를 숫자로 해석할 수 없는 경우 SVM 라이트는 꼬리를 무시합니다. 예를 들어 "5:3.14hello"는 "5:3.14"와 동일하게 해석됩니다. 이 로더는 이 구문을 지원하지 않습니다.

기능 벡터를 작성하는 방식으로 인해 로더에서 값을 늘려야 하는 키에 대한 제한을 유지하지 않지만 이 정책을 계속 따르는 경우 가장 효율적입니다. 정렬이 수행되는 경우 정렬이 필요하지 않습니다.

이 로더에는 키의 원시 텍스트를 읽고 기능 인덱스로 변환하여 결과 기능 벡터의 기능 이름으로 텍스트 키 값을 유지하는 특별한 옵션이 있습니다. 이는 형식의 일반적인 변형인 문자열 키를 허용하지만 원래 형식에서는 단연 허용되지 않습니다.

메서드

GetOutputSchema()

이렇게 하면 SVM 라이트 형식에 가까운 형식으로 데이터를 읽는 것이 목표입니다. 목표는 대부분의 SVM 라이트 형식 데이터를 이 로더가 해석할 수 있어야 한다는 것입니다.

Load(IMultiStreamSource)

이렇게 하면 SVM 라이트 형식에 가까운 형식으로 데이터를 읽는 것이 목표입니다. 목표는 대부분의 SVM 라이트 형식 데이터를 이 로더가 해석할 수 있어야 한다는 것입니다.

명시적 인터페이스 구현

ICanSaveModel.Save(ModelSaveContext)

이렇게 하면 SVM 라이트 형식에 가까운 형식으로 데이터를 읽는 것이 목표입니다. 목표는 대부분의 SVM 라이트 형식 데이터를 이 로더가 해석할 수 있어야 한다는 것입니다.

확장 메서드

Preview<TSource>(IDataLoader<TSource>, TSource, Int32)

지정된 source에 대한 loader 효과를 미리 봅니다.

Append<TSource,TTrans>(IDataLoader<TSource>, TTrans)

이 데이터 로더에 변환기를 추가하여 새 복합 로더를 만듭니다.

Append<TSource,TTrans>(IDataLoader<TSource>, IEstimator<TTrans>)

이 데이터 로더에 추정기를 추가하여 새 복합 로더 추정기를 만듭니다.

적용 대상