SVMLight로 변환

중요

Machine Learning Studio(클래식)에 대한 지원은 2024년 8월 31일에 종료됩니다. 해당 날짜까지 Azure Machine Learning으로 전환하는 것이 좋습니다.

2021년 12월 1일부터 새로운 Machine Learning Studio(클래식) 리소스를 만들 수 없습니다. 2024년 8월 31일까지는 기존 Machine Learning Studio(클래식) 리소스를 계속 사용할 수 있습니다.

ML Studio(클래식) 설명서는 사용 중지되며 나중에 업데이트되지 않을 수 있습니다.

SVM-Light 프레임워크에서 사용한 형식으로 데이터 입력 변환

범주: 데이터 형식 변환

참고

적용 대상: Machine Learning Studio(클래식) 전용

유사한 끌어서 놓기 모듈은 Azure Machine Learning 디자이너에서 사용할 수 있습니다.

모듈 개요

이 문서에서는 Machine Learning Studio(클래식)에서 SVMLight로 변환 모듈을 사용하여 데이터 세트를 SVMLight에서 사용하는 형식으로 변환하는 방법을 설명합니다.

SVMLight 프레임워크는 코넬 대학 연구진에 의해 개발되었습니다. SVM-Light 라이브러리는 Vapnik의 지원 벡터 머신을 구현하지만 형식은 다른 곳에서 채택되었으며 분류 및 회귀를 포함한 많은 기계 학습 작업에 사용할 수 있습니다.

자세한 내용은 SVMLight 지원 벡터 머신을 참조하세요.

SVMLight로 변환을 구성하는 방법

SVMLight 형식으로 변환하려면 각 대/소문자를 레이블로 시작하는 데이터 행으로 변환한 다음 콜론으로 구분된 숫자로 표현된 기능-값 쌍을 수행해야 합니다. 변환 프로세스는 올바른 열을 자동으로 식별 하지 않으므로 변환을 시도하기 전에 데이터 세트의 열을 준비하는 것이 중요합니다. 자세한 내용은 변환을 위한 데이터 준비를 참조하세요.

  1. SVMLight로 변환 모듈을 실험에 추가합니다. 이 모듈은 Machine Learning Studio(클래식)의 데이터 형식 변환 범주에서 찾을 수 있습니다.

  2. SVMLight 형식으로 변환하려는 데이터 세트 또는 출력을 커넥트.

  3. 실험을 실행합니다.

  4. 모듈의 출력을 마우스 오른쪽 단추로 클릭하고 다운로드를 선택하고 수정하거나 SVMLight를 지원하는 프로그램에서 다시 사용할 수 있도록 데이터를 로컬 파일에 저장합니다.

변환을 위한 데이터 준비

변환 프로세스를 설명하기 위해 이 예제에서는 Studio(클래식)의 Blood Donor 데이터 세트를 사용합니다.

이 샘플 데이터 세트의 형식은 테이블 형식입니다.

회신(Recency) 빈도 통화 시간 클래스
2 50 12500 98 1
0 13 3250 28 1
1 1 4000 35 1
2 20 5,000 45 1
1 24 6000 77 0

이 데이터 세트의 [Class]라는 레이블 열은 테이블의 마지막 열입니다. 그러나 레이블이 포함된 열을 먼저 나타내지 않고 데이터 세트를 SVMLight로 변환하면 첫 번째 열 [Recency]가 레이블로 사용되고 [클래스] 열이 기능으로 처리됩니다.

2 1:50 2:12500 3:98 4:1
0 1:13 2:3250 3:28 4:1
1 1:16 2:4000 3:35 4:1

각 사례에 대한 행의 시작 부분에서 레이블이 올바르게 생성되도록 하려면 메타데이터 편집 모듈의 두 인스턴스를 추가해야 합니다.

  1. 메타데이터 편집의 첫 번째 인스턴스에서 레이블 열([클래스])을 선택하고 필드에 대해 레이블을 선택합니다.

  2. 메타데이터 편집의 두 번째 인스턴스에서 변환된 파일([Recency], [Frequency], [Monetary], [Time])에 필요한 모든 기능 열을 선택하고 필드에 대해 기능을 선택합니다.

열이 올바르게 식별되면 SVMLight로 변환 모듈을 실행할 수 있습니다. 변환 후 혈액 기증자 데이터 세트의 처음 몇 행은 이제 다음과 같은 형식을 갖습니다.

  • 레이블 값은 각 항목 앞에 각각 기능 1, 2, 3 및 4로 식별되는 [Recency], [Frequency], [Monetary] 및 [Time]의 값 뒤에 잇습니다.

  • 다섯 번째 행의 레이블 값 0이 -1로 변환되었습니다. 이는 SVMLight가 이진 분류 레이블만 지원하기 때문입니다.

1 1:2 2:50 3:12500 4:98
1 1:0 2:13 3:3250 4:28
1 1:1 2:16 3:4000 4:35
1 1:2 2:20 3:5000 4:45
-1 1:1 2:24 3:6000 4:77

Azure ML 모델에는 이 텍스트 데이터를 직접 사용하거나 시각화할 수 없습니다. 그러나 로컬 공유에 다운로드할 수 있습니다.

파일이 열려 있는 동안 원본 또는 원래 기능 열 이름에 #대한 메모를 추가할 수 있도록 앞에 있는 메모 줄을 추가하는 것이 좋습니다.

Vowpal Wabbit에서 SVMLight 파일을 사용하고 여기에 설명된 대로 추가 수정하려면 Vowpal Wabbit 형식으로 변환합니다. 파일이 준비되면 Azure Blob Storage에 업로드하고 Vowpal Wabbit 모듈 중 하나에서 직접 호출합니다.

Azure AI 갤러리에는 이 형식과 관련된 예제가 없습니다.

기술 정보

이 섹션에는 구현 세부 정보, 팁, 자주 묻는 질문에 대한 답변이 포함되어 있습니다.

사용 팁

SVM-Light 프레임워크에 제공된 실행 파일에는 예제 파일모델 파일이 모두 필요합니다. 그러나 이 모듈에서는 예제 파일만 만듭니다. SVMLight 라이브러리를 사용하여 모델 파일을 별도로 만들어야 합니다.

예제 파일은 학습 예제를 포함하는 파일입니다.

  • 선택적 헤더

    첫 번째 줄에는 주석이 포함될 수 있습니다. 주석 앞에는 번호 기호(#)가 와야 합니다.

    SVMLight로 변환하여 출력되는 파일 형식에서는 헤더가 작성되지 않습니다. 파일을 편집하여 주석, 열 이름 목록 등을 추가할 수 있습니다.

  • 학습 데이터

    각 사례는 자체 행에 있습니다. 사례는 대상 값과 일련의 인덱스 및 관련 기능 값으로 구성됩니다.

    응답 값은 분류의 경우 1이나 -1이어야 하고 회귀의 경우에는 숫자여야 합니다.

    대상 값과 각 인덱스-값 쌍은 공백으로 구분됩니다.

학습 데이터 예제

다음 표에서는 Two-Class Iris 데이터 세트의 열에 있는 값이 각 열이 인덱스로 표현된 다음 콜론과 해당 열의 값을 나타내는 표현으로 변환되는 방법을 보여 줍니다.

Iris 데이터 집합 SVMLight로 변환된 Iris 데이터 집합
1 6.3 2.9 5.6 1.8 1 1:6.3 2:2.9 3:5.6 4:1.8
0 4.8 3.4 1.6 0.2 -1 1:4.8 2:3.4 3:1.6 4:0.2
1 7.2 3.2 6 1.8 1 1:7.2 2:3.2 3:6 4:1.8

변환 시 기능 열의 이름이 손실됩니다.

SVMLight를 사용하여 Vowpal Wabbit 파일 준비

SVMLight 형식은 Vowpal Wabbit에서 사용하는 형식과 유사합니다. SVMLight 출력 파일을 Vowpal Wabbit 모델을 학습하는 데 사용할 수 있는 형식으로 변경하려면 레이블과 기능 목록 사이에 파이프 기호를 추가하면 됩니다.

예를 들어 다음 입력 줄을 비교합니다.

선택적 주석을 포함한 Vowpal Wabbit 형식

# features are [Recency], [Frequency], [Monetary], [Time]
1 | 1:2 2:50 3:12500 4:98
1 | 1:0 2:13 3:3250 4:28

선택적 주석을 포함한 SVMLight 형식

# features are [Recency], [Frequency], [Monetary], [Time]
1 1:2 2:50 3:12500 4:98
1 1:0 2:13 3:3250 4:28

예상 입력

Name 유형 설명
데이터 세트 데이터 테이블 입력 데이터 세트

출력

Name 유형 설명
결과 데이터 집합 SvmLight 출력 데이터 세트

참고 항목

데이터 형식 변환
전체 모듈 목록