SVMLight로 변환

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

범주: 데이터 형식 변환

참고

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

이 콘텐츠는 Studio (클래식)에만 해당 됩니다. Azure Machine Learning 디자이너에는 비슷한 끌어서 놓기 모듈이 추가 되었습니다. 이 문서에서는 두 가지 버전을 비교 하는방법에 대해 자세히 알아보세요.

모듈 개요

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

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

자세한 내용은 SVMLight Support Vector Machine항목을 참조 하세요.

SVMLight로의 변환을 구성 하는 방법

SVMLight 형식으로 변환 하는 경우 각 사례를 레이블로 시작 하는 데이터 행으로 변환한 다음, 콜론으로 구분 된 숫자로 표시 된 기능-값 쌍으로 변환 합니다. 변환 프로세스에서는 올바른 열을 자동으로 식별 하지 않으므로 변환을 시도 하기 전에 데이터 집합에서 열을 준비 하는 것이 중요 합니다. 자세한 내용은 변환을 위해 데이터 준비를 참조 하세요.

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

  2. 변환 하려는 데이터 집합 또는 출력을 SVMLight 형식으로 연결 합니다.

  3. 실험을 실행합니다.

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

변환을 위해 데이터 준비

변환 프로세스를 설명 하기 위해이 예제에서는 Studio (클래식)에서 블러드 기부자 데이터 집합을 사용 합니다.

이 샘플 데이터 집합은 다음과 같은 형식이 테이블 형식입니다.

기존 빈도 금융 시간 클래스
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로 변환 하는 경우 레이블이 포함 된 열을 먼저 표시 하지 않고 첫 번째 열인 [기존]를 레이블로 사용 하 고 [Class] 열을 기능으로 처리 합니다.

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. 메타 데이터 편집 의 두 번째 인스턴스에서 변환 된 파일에 필요한 모든 기능 열 ([기존], [Frequency], [금전적], [Time])을 선택 하 고 필드 에 대해 기능 을 선택 합니다.

열이 올바르게 식별 되 면 SVMLight로 변환 모듈을 실행할 수 있습니다. 변환 후에는 이제 블러드 기부자 데이터 집합의 처음 몇 개 행에 다음과 같은 형식이 있습니다.

  • 레이블 값이 각 항목 앞에 오고 그 다음에 [기존], [Frequency], [금전적] 및 [Time] 값이 각각 기능 1, 2, 3 및 4로 식별 됩니다.

  • 5 번째 행의 레이블 값 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 저장소에 업로드 하 고 Vowpal Wabbit 모듈 중 하나에서 직접 호출 합니다.

예제

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

기술 정보

이 섹션에는 구현 세부 정보, 팁 및 질문과 대답 (faq)이 포함 되어 있습니다.

사용 팁

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

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

  • 선택적 헤더

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

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

  • 학습 데이터

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

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

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

데이터 학습 예제

다음 표에서는 Two-Class Iri 데이터 집합의 열에 있는 값이 각 열이 인덱스에 의해 표시 되는 표현으로 변환 되 고 그 뒤에 콜론이 오고 해당 열에 값이 표시 되는 방식을 보여 줍니다.

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

예상 입력

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

출력

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

참고 항목

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