포옹 얼굴 학습 및 분할 데이터세트

Poong Eolgul Hagseub Mich Bunhal Deiteoseteu



Hugging Face 라이브러리에는 train_test_split이라는 특정 함수가 없습니다. 그러나 기계 학습 작업에서 훈련 및 테스트를 위해 데이터를 분할하는 경우 train_test_split 함수는 scikit-learn과 같은 다른 인기 라이브러리에서 일반적으로 사용됩니다. 여기에서는 scikit-learn의 train_test_split 함수에서 일반적으로 사용되는 매개변수에 대해 설명합니다.

Hugging Face의 데이터 세트 라이브러리에 있는 train_test_split 메소드는 데이터 세트를 훈련 하위 세트와 테스트 하위 세트라는 두 개의 하위 세트로 나누는 데 사용됩니다. 이 방법은 보이지 않는 데이터에 대한 모델의 성능을 평가하기 위해 기계 학습에 일반적으로 사용됩니다. 훈련 하위 집합은 모델을 훈련하는 데 사용되는 반면, 테스트 하위 집합은 성능 및 일반화 기능을 평가하는 데 사용됩니다.







다음은 Hugging Face의 train_test_split 메소드에 대한 개요입니다.



  1. test_size(numpy.random.Generator, 선택사항) : 테스트 분할의 크기는 이 옵션에 따라 결정됩니다. 유형은 부동 소수점 또는 정수일 수 있습니다.
  • 부동 소수점으로 제공되는 경우 테스트 분할에 포함할 데이터세트의 비율을 반영해야 하며 0.0에서 1.0 사이여야 합니다.
  • 테스트 샘플의 정확한 수는 정수로 제공되는 경우 값으로 표시됩니다.
  • None으로 설정하면 열차 크기의 보수가 값으로 사용됩니다.
  • train_size도 None이면 0.25(데이터세트의 25%)로 설정됩니다.
  • train_size(numpy.random.Generator, 선택 사항): 열차 분할 크기는 이 매개변수에 의해 결정됩니다. test_size와 동일한 지침을 따릅니다.
    • 부동 소수점으로 제공되는 경우 열차 분할에 포함할 데이터세트의 비율을 반영해야 하며 0.0에서 1.0 사이여야 합니다.
    • 열차 샘플의 정확한 수는 정수로 제공되는 경우 값으로 표시됩니다.
    • 없음으로 설정하면 값이 자동으로 테스트 크기의 보수로 변경됩니다.
  • 셔플(부울, 선택 사항, 기본값은 True)
    • 이 매개변수는 분할하기 전에 데이터를 섞을지 여부를 결정합니다.
    • True로 설정하면 분할 전에 데이터가 무작위로 섞입니다.
    • False로 설정하면 데이터를 섞지 않고 분할합니다.
  • stratify_by_column(str, 선택사항, 기본값은 없음)
    • 이 매개변수는 특정 열을 기준으로 데이터를 계층화하여 분할하는 데 사용됩니다.
    • 지정하는 경우 레이블 또는 클래스의 열 이름이어야 합니다.
    • 학습 및 테스트 분할에서 레이블 또는 클래스의 동일한 분포를 유지하는 방식으로 데이터가 분할됩니다.
  • 시드(정수, 선택 사항)
    • 이 매개변수를 사용하면 기본 BitGenerator를 초기화하기 위한 시드를 설정할 수 있습니다.
    • None으로 설정하면 예측할 수 없는 새로운 엔트로피가 운영 체제에서 추출됩니다.
    • 정수 또는 배열과 유사한 정수가 전달되면 초기 BitGenerator 상태를 파생하는 데 사용됩니다.
  • 생성기(numpy.random.Generator, 선택사항)
    • 이 매개변수를 사용하면 NumPy 무작위 생성기를 지정하여 데이터 세트 행의 순열을 계산할 수 있습니다.
    • None(기본값)으로 설정되면 NumPy의 기본 BitGenerator(PCG64)인 np.random.default_rng를 사용합니다.
  • keep_in_memory (bool, 기본값은 False)
    • 이 매개변수는 분할 인덱스를 캐시 파일에 쓰는 대신 메모리에 유지할지 여부를 결정합니다.
    • True로 설정하면 분할 프로세스 중에 분할 인덱스가 메모리에 저장됩니다.
    • False로 설정하면 나중에 사용할 수 있도록 분할 인덱스가 캐시 파일에 기록됩니다.
  • load_from_cache_file(선택 사항[bool], 캐싱이 활성화된 경우 기본값은 True)
    • 이 매개변수는 분할 인덱스를 다시 계산하는 대신 캐시 파일을 사용하여 분할 인덱스를 로드할지 여부를 결정합니다.
    • True로 설정되어 분할된 인덱스를 저장하는 캐시 파일을 식별할 수 있는 경우 사용됩니다.
    • False로 설정하면 캐시 파일이 존재하더라도 분할 인덱스를 다시 계산합니다.
    • 캐싱이 활성화된 경우 기본값은 True입니다.
  • train_cache_file_name(str, 선택사항)
    • 이 매개변수를 사용하면 열차 분할 인덱스를 저장하는 캐시 파일에 대한 특정 경로나 이름을 제공할 수 있습니다.
    • 지정되면 자동으로 생성된 캐시 파일 이름 대신 열차 분할 인덱스가 이 캐시 파일에 저장됩니다.
  • test_cache_file_name(str, 선택사항)
    • 이 매개변수를 사용하면 테스트 분할 색인을 저장하는 캐시 파일에 대한 특정 경로 또는 이름을 제공할 수 있습니다.
    • 지정되면 자동으로 생성된 캐시 파일 이름 대신 테스트 분할 인덱스가 이 캐시 파일에 저장됩니다.
  • writer_batch_size (int, 기본값은 1000)
    • 이 매개변수는 캐시 파일 기록기에 대한 쓰기 작업당 행 수를 결정합니다.
    • 이는 메모리 사용량과 처리 속도 간의 균형입니다.
    • 값이 높을수록 쓰기 작업 수가 줄어들지만 처리 중에 더 많은 메모리를 소비합니다.
    • 값이 낮을수록 임시 메모리를 덜 사용하지만 처리 속도에 약간 영향을 미칠 수 있습니다.
  • train_new_fingerprint(str, 선택 사항, 기본값은 없음)
    • 이 매개변수는 변환을 적용한 후 열차 세트의 새로운 지문을 나타냅니다.
    • 지정되면 열차 세트에 대한 새 지문을 제공합니다.
    • 없음으로 설정되면 이전 지문의 해시와 변환 인수를 사용하여 새 지문이 계산됩니다.
  • test_new_fingerprint(str, 선택 사항, 기본값은 없음)
    • 이 매개변수는 변환을 적용한 후 테스트 세트의 새로운 지문을 나타냅니다.
    • 지정된 경우 테스트 세트에 대한 새 지문을 제공합니다.
    • 없음으로 설정되면 이전 지문의 해시와 변환 인수를 사용하여 새 지문이 계산됩니다.

    통사론:

    sklearn.model_selection에서 train_test_split 가져오기

    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

    엑스 : 데이터 세트의 입력 특성 또는 독립 변수를 나타냅니다.



    • 그리고 : 예측하려는 출력 또는 종속 변수를 나타냅니다.
    • 테스트_크기 : 이 매개변수는 테스트에 할당될 데이터 세트의 비율을 결정합니다. 부동 소수점(예: 20%의 경우 0.2) 또는 정수(예: 200개 샘플의 경우 200)로 지정할 수 있습니다.
    • 무작위_상태 : 난수 생성기의 시드를 설정할 수 있는 선택적 매개변수입니다. 이는 분할이 재현 가능하다는 것을 보장합니다. 즉, 동일한 임의 상태 값을 사용하면 동일한 분할을 얻게 됩니다.

    train_test_split 함수는 네 가지 데이터 세트를 반환합니다.





    • X_트레인 : 입력 기능의 훈련 세트입니다.
    • X_테스트 : 입력 기능의 테스트 세트입니다.
    • y_train : 출력 레이블의 훈련 세트입니다.
    • y_test : 출력 라벨의 테스트 세트입니다.

    : 다음 예제 프로그램은 “ test.py '.

    sklearn.model_selection에서 train_test_split 가져오기

    데이터 세트에서 import load_dataset

    # 1단계: 데이터세트 로드

    데이터 세트 = load_dataset('imdb')

    X = 데이터 세트['기차']['텍스트']

    y = 데이터세트['기차']['레이블']

    # 2단계: 데이터세트 분할

    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2,

    shuffle=True, random_state=42)

    # 3단계: 데이터 세트 탐색

    print('원본 데이터세트의 예 수:', len(X))

    print('열차 데이터세트의 예 수:', len(X_train))

    print('테스트 데이터세트의 예제 수:', len(X_test))

    # 4단계: 예제 데이터 액세스 및 인쇄

    print('\n기차 데이터세트의 예:')

    인쇄(X_train[0], y_train[0])

    print('\n테스트 데이터세트의 예:')

    인쇄(X_test[0], y_test[0])

    이 import 문은 Hugging Face 데이터세트 라이브러리가 아닌 scikit-learn에서 가져온 것입니다. 귀하의 환경에 scikit-learn이 설치되어 있는지 확인하십시오. 다음 명령을 사용하여 설치할 수 있습니다.



    pip 설치 scikit-learn

    설명: 먼저 scikit-learn에서 필요한 모듈인 train_test_split을 가져옵니다.

    • load_dataset('imdb')를 사용하여 IMDb 데이터세트를 로드하고 이를 데이터세트 변수에 할당합니다.
    • train_test_split을 사용하려면 입력 특성(X)과 해당 라벨(y)을 분리해야 합니다. 이 경우 데이터 세트에 입력 기능으로 '텍스트'가 있고 해당 레이블로 '레이블'이 있는 '트레인'이라는 분할이 있다고 가정합니다. 데이터세트의 구조에 따라 키를 조정해야 할 수도 있습니다.
    • 그런 다음 입력 특성(X)과 레이블(y)을 다른 매개변수와 함께 train_test_split에 전달합니다. 이 예에서는 test_size를 0.2로 설정했는데, 이는 데이터의 20%가 테스트에 할당된다는 의미입니다. 데이터를 분할하기 전에 무작위로 섞기 위해 shuffle 매개변수를 “True”로 설정하고, 재현성을 위해 Random_state 매개변수를 42로 설정합니다.
    • train_test_split 함수는 X_train, X_test, y_train 및 y_test의 네 가지 데이터 세트를 반환합니다. 이는 각각 입력 기능 및 레이블의 훈련 및 테스트 하위 집합을 나타냅니다.
    • 원본 데이터세트(len(X)), 훈련 데이터세트(len(X_train)), 테스트 데이터세트(len(X_test))의 예시 수를 인쇄합니다. 이를 통해 분할 프로세스를 확인하고 하위 집합이 올바르게 생성되었는지 확인할 수 있습니다.
    • 마지막으로 훈련 데이터세트(X_train[0], y_train[0])의 예시와 테스트 데이터세트(X_test[0], y_test[0])의 예시에 액세스하여 인쇄합니다.

    산출 : Python “test.py”를 사용하여 이전에 저장한 프로그램을 실행합니다.

    결론

    Hugging Face의 데이터세트 라이브러리에서 제공하는 열차-테스트 분할 기능은 scikit-learn의 train_test_split 기능과 결합하여 데이터세트를 별도의 훈련 및 테스트 하위 집합으로 나누는 편리하고 효율적인 방법을 제공합니다.

    train_test_split 함수를 활용하면 테스트 세트의 크기, 데이터 섞기 여부, 재현성을 위한 무작위 시드 설정 등을 제어할 수 있습니다. 이러한 유연성을 통해 보이지 않는 데이터에 대한 기계 학습 모델을 효과적으로 평가할 수 있으며 과적합 또는 과소적합과 같은 문제를 감지하는 데 도움이 됩니다.

    train_test_split 함수의 매개변수를 사용하면 테스트 세트의 크기(test_size), 데이터 섞기(shuffle), 특정 열을 기반으로 계층화된 분할 수행(stratify_by_column) 등 분할의 다양한 측면을 제어할 수 있습니다. 또한 재현성을 위해 시드 값(seed)을 지정하고 분할 인덱스를 저장하기 위한 캐시 파일 이름(train_cache_file_name 및 test_cache_file_name)을 사용자 정의할 수 있습니다.

    Hugging Face가 제공하는 기능을 사용하면 모델 교육 및 평가를 위한 데이터를 더 쉽게 준비할 수 있습니다. 별도의 교육 및 테스트 하위 집합을 통해 보이지 않는 데이터에 대한 모델 성능을 정확하게 평가하고, 과적합과 같은 잠재적인 문제를 감지하고, 모델 개선을 위한 정보에 입각한 결정을 내릴 수 있습니다.

    전반적으로 Hugging Face 데이터 세트 라이브러리의 훈련-테스트 분할 기능은 scikit-learn의 train_test_split과 함께 효율적인 데이터 분할, 모델 평가 및 강력한 기계 학습 솔루션 개발을 위한 강력한 도구 세트를 제공합니다.