.. role:: raw-html-m2r(raw) :format: html splitter ==================================================================================================== 개요 ---------------------------------------------------------------------------------------------------- 레코드형 파일(들)을 train/test 로 분리 저장하는 명령어 타입 ---------------------------------------------------------------------------------------------------- 설명 ---------------------------------------------------------------------------------------------------- 객체 저장소에 저장되어 있는 레코드형 파일(들)을 train/test 로 분리 저장하는 명령어입니다. 파일에 학습 레이블 컬럼과 태그 컬럼이 있으면 사전 데이터를 추가로 생성할 수 있습니다. 출력 결과로 train으로 분리된 레코드 수와 test로 분리된 레코드 수를 출력합니다. .. list-table:: :header-rows: 1 * - train - test * - 800 - 200 Parameters ---------------------------------------------------------------------------------------------------- ``splitter src=OBJECTSTORAGE.{CONNECTOR_NAME}:{KEY} train=({KEY}, 0.8) test=({KEY}, 0.2)`` .. list-table:: :header-rows: 1 * - 이름 - 설명 - 기본값 - 예시값 - 타입 - 필수 * - src - 입력 파일 or 디렉토리 경로 - - OBJECTSTORAGE.MIN_AI:mnist/tsv - 문자열 - O * - train - 학습 데이터 저장 경로와 비율 :raw-html-m2r:`
` CONNECTOR 정보(``OBJECTSTORAGE.{CONNECTOR_NAME}``)는 ``src`` 파라미터를 참조합니다. - - (mnist/train.tsv, 0.8) - 문자열 - O * - test - 테스트 데이터 저장 경로와 비율 - - (mnist/test.tsv, 0.2) - 문자열 - O * - dictionary - 사전 데이터 저장 경로, 학습 레이블 컬럼명, 태그 컬럼명 - - (mnist/dict.tsv, label, tag) - 튜플 - * - mode - 학습, 테스트, 사전 데이터 저장 모드 (overwrite, append) - overwrite - append - 문자열 - * - delimiter - src 파라미터의 구분자 - \t - , - 문자열 - ``CONNECTOR_NAME`` : Conncetor Name입니다. IRIS UI에서 연결정보 생성 후, 연결정보의 ``이름`` 컬럼에서 확인할 수 있는 값입니다. ``KEY`` : OBJECTSTORAGE의 key입니다. bucket은 생략해야 합니다. Examples ---------------------------------------------------------------------------------------------------- 객체 저장소에 저장되어 있는 레코드형 파일들을 80:20으로 학습 파일과 테스트 파일로 분리 저장합니다. ``splitter src=OBJECTSTORAGE.MIN_AI:USERS/pjh0347/mnist/tsv train=(USERS/pjh0347/mnist/train.tsv, 0.8) test=(USERS/pjh0347/mnist/test.tsv, 0.2)`` 출력 결과 - train으로 분리된 레코드 수와 test로 분리된 레코드 수를 출력 .. list-table:: :header-rows: 1 * - total - test * - 54540 - 13420 학습 레이블 컬럼명이 label이고 태그 컬럼명이 tag인 레코드형 파일(0.tsv)을 train/test 로 분리하여 덮어씁니다. ``splitter src=OBJECTSTORAGE.MIN_AI:USERS/pjh0347/mnist/tsv/0.tsv train=(USERS/pjh0347/mnist_demo/train.tsv, 0.8) test=(USERS/pjh0347/mnist_demo/test.tsv, 0.2) dictionary=(USERS/pjh0347/mnist_demo/dict.tsv, label, tag) mode=overwrite`` .. list-table:: :header-rows: 1 * - total - test * - 5000 - 1000 학습 레이블 컬럼명이 label이고 태그 컬럼명이 tag인 레코드형 파일(1.tsv)을 train/test 로 분리하여 기존 파일에 추가합니다. ``splitter src=OBJECTSTORAGE.MIN_AI:USERS/pjh0347/mnist/tsv/1.tsv train=(USERS/pjh0347/mnist_demo/train.tsv, 0.8) test=(USERS/pjh0347/mnist_demo/test.tsv, 0.2) dictionary=(USERS/pjh0347/mnist_demo/dict.tsv, label, tag) mode=overwrite`` .. list-table:: :header-rows: 1 * - total - test * - 5000 - 1000 tsv 데이터 예시 - train.tsv or test.tsv .. list-table:: :header-rows: 1 * - label - tag - feature * - 0,1,0,0,0,0,0,0,0,0 - one - 0.0,0.0,...,0.14901960784313725,0.8941176470588236,0.11372549019607843,...,0.0,0.0,0.0,0.0,0.0,0.0 * - ... - ... - ... - dictionary .. list-table:: :header-rows: 1 * - label - tag * - 1,0,0,0,0,0,0,0,0,0 - zero * - 0,1,0,0,0,0,0,0,0,0 - one * - 0,0,1,0,0,0,0,0,0,0 - two * - ... - ... * - 0,0,0,0,0,0,0,0,0,1 - nine Parameters BNF ---------------------------------------------------------------------------------------------------- .. code-block:: none splitter_command : SRC EQ WORD TRAIN EQ WORD_WITH_BRACKET TEST EQ WORD_WITH_BRACKET options options : option | options option | option : WORD EQ WORD | WORD EQ WORD_WITH_BRACKET WORD : r'[^ |^\|^\'|\"|^\=]+' WORD_WITH_BRACKET : r'\([^\|^\'|\"|^\=]+\)' EQ : r'\=' SRC : r'(?i)src' TRAIN : r'(?i)train' TEST : r'(?i)test'