0 / 0
영어 버전 문서로 돌아가기
Python 용 assetframe-lib를 사용하여 기능 그룹 관리 (베타)
마지막 업데이트 날짜: 2024년 11월 28일
Python 용 assetframe-lib를 사용하여 기능 그룹 관리 (베타)

' assetframe-lib '을 사용하여 데이터 자산의 기능 그룹 정보를 생성하고, 보고, 편집할 수 있는 watsonx.ai Studio 노트북을 사용할 수 있습니다.

기능 그룹은 데이터 자산의 열에 대한 추가 메타데이터를 정의하여 다운스트림 watsonx.ai 런타임 작업에서 사용할 수 있습니다. UI에서 기능 그룹 사용에 대한 자세한 정보는 기능 그룹 관리 를 참조하십시오.

assetframe-libibm-watson-studio-lib 라이브러리 설정

Python ' assetframe-lib 라이브러리는 사전 설치되어 있으며 watsonx.ai Studio의 노트북에서 직접 가져올 수 있습니다. 그러나 ibm-watson-studio-lib 라이브러리에 의존합니다. 다음 단계에서는 두 라이브러리를 모두 설정하는 방법에 대해 설명합니다.

사용자의 노트북에 프로젝트 토큰을 삽입하려면 다음을 수행하십시오.

  1. 노트북 도구 모음에서 추가 아이콘을 클릭한 후 프로젝트 토큰 삽입을 클릭하십시오.

    프로젝트 토큰이 존재하면 다음 정보와 함께 셀이 노트북에 추가됩니다.

    from ibm_watson_studio_lib import access_project_or_space
    wslib = access_project_or_space({"token":"<ProjectToken>"})
    

    <ProjectToken> 는 프로젝트 토큰의 값입니다.

    프로젝트 토큰이 없다는 메시지가 표시되면 메시지의 링크를 클릭하여 프로젝트 토큰을 작성할 수 있는 프로젝트의 액세스 제어 페이지로 경로 재지정됩니다. 프로젝트 토큰을 작성할 수 있어야 합니다.

    프로젝트 토큰을 작성하려면 다음을 수행하십시오.

    1. 관리 탭에서 액세스 제어 페이지를 선택하고 액세스 토큰 아래에서 새 액세스 토큰을 클릭하십시오.
    2. 이름을 입력하고, 프로젝트의 편집기 역할을 선택한 후 토큰을 작성하십시오.
    3. 노트북으로 돌아가 노트북 도구 모음에서 추가 아이콘을 클릭한 후 프로젝트 토큰 삽입을 클릭하십시오.
  2. assetframe-lib 를 가져와서 작성된 ibm-watson-studio-lib 인스턴스로 초기화하십시오.

    from assetframe_lib import AssetFrame
    AssetFrame._wslib = wslib
    

assetframe-lib 함수 및 메소드

assetframe-lib 라이브러리는 다음과 같은 방법으로 그룹화된 함수 및 메소드 세트를 표시합니다.

자산 프레임 작성

자산 프레임은 기존 데이터 자산 또는 pandas DataFrame에서 기능 그룹 메타데이터를 정의하는 데 사용됩니다. 각 자산에 대해 정확히 하나의 기능 그룹을 가질 수 있습니다. 판다 DataFrame, 에셋 프레임을 만들면 프로젝트에 데이터 에셋으로 판다 DataFrame 기능 그룹 메타데이터와 함께 저장할 수 있습니다.

다음 기능 중 하나를 사용하여 자산 프레임을 작성할 수 있습니다.

  • AssetFrame.from_data_asset(asset_name, create_default_features=False)

    이 기능은 프로젝트에서 기존 데이터 자산을 랩핑하는 새 자산 프레임을 작성합니다. 이 자산에 대한 기능 그룹이 이미 있는 경우 (예: 사용자 인터페이스에서 작성됨) 자산 메타데이터에서 읽습니다.

    매개변수:

    • asset_name: (필수) 프로젝트에 있는 데이터 자산의 이름입니다.
    • create_default_features: (선택사항) 데이터 자산의 모든 열에 대한 기능을 작성합니다.
  • AssetFrame.from_pandas(name, dataframe, create_default_features=False)

    이 기능은 pandas DataFrame을 랩핑하는 새 자산 프레임을 작성합니다.

    매개변수:

    • name: (필수) 자산 프레임의 이름입니다. 이 이름은 이후 단계에서 프로젝트에 기능 그룹을 저장하는 경우 데이터 자산의 이름으로 사용됩니다.

    • dataframe: (필수) 기능 그룹 정보와 함께 저장할 pandas DataFrame 입니다.

    • create_default_features: (선택사항) 데이터 프레임의 모든 열에 대한 기능을 작성합니다.

      판다 DataFrame: 에셋 프레임을 만드는 예시입니다:

      # Create an asset frame from a pandas DataFrame and set
      # the name of the asset frame.
      af = AssetFrame.from_pandas(dataframe=credit_risk_df, name="Credit Risk Training Data")
      

기능 작성, 검색 및 제거

이 기능은 다운스트림 watsonx.ai 런타임 작업에서 사용할 수 있는 메타데이터를 정의합니다. 데이터 세트의 열마다 하나의 기능을 작성할 수 있습니다.

다음 함수 중 하나를 사용하여 자산 프레임에서 열을 작성, 검색 또는 제거할 수 있습니다.

  • add_feature(column_name, role='Input')

    이 기능은 지정된 역할의 자산 프레임에 새 기능을 추가합니다.

    매개변수:

    • column_name: (필수) 기능을 작성할 열의 이름입니다.

    • role: (선택사항) 기능의 역할입니다. 기본값은 입력입니다.

      유효한 역할은 다음과 같습니다.

      • 입력: 기계 학습 모델의 입력
      • 목표: 예측 모델의 목표
      • ID: 데이터 세트에 있는 행의 ID입니다.
  • create_default_features()

    이 함수는 데이터 세트의 모든 열에 대한 기능을 작성합니다. 기능의 역할은 입력으로 기본 설정됩니다.

  • get_features()

    이 함수는 자산 프레임의 모든 기능을 검색합니다.

  • get_feature(column_name)

    이 함수는 지정된 열 이름의 기능을 검색합니다.

    매개변수:

    • column_name: (필수) 기능을 작성할 열의 문자열 이름입니다.
  • get_features_by_role(role)

    이 함수는 지정된 역할을 가진 데이터 프레임의 모든 기능을 검색합니다.

    매개변수:

    • role: (필수) 기능이 보유해야 하는 역할입니다. 입력, 대상 또는 ID일 수 있습니다.
  • remove_feature(feature_or_column_name)

    이 기능은 자산 프레임에서 기능을 제거합니다.

    매개변수:

    • feature_or_column_name: (필수) 기능 또는 기능을 제거할 열의 이름입니다.

데이터 세트의 모든 열에 대한 기능을 작성하고 추가 스펙을 위해 해당 열 중 하나를 검색하는 방법을 표시하는 예제:

# Create features for all columns in the data set and retrieve a column
# for further specifications.
af.create_default_features()
risk_feat = af.get_feature('Risk')

기능 속성 지정

기능은 다운스트림 watsonx.ai 런타임 작업에서 사용할 수 있는 열에 대한 추가 메타데이터를 지정합니다.

다음 함수를 사용하여 기능이 정의된 열을 검색할 수 있습니다.

  • get_column_name()

    이 함수는 기능이 정의된 열 이름을 검색합니다.

역할

역할은 watsonx.ai 런타임 작업에서 의도된 기능의 용도를 지정합니다.

유효한 역할은 다음과 같습니다.

  • Input: 이 기능은 watsonx.ai 런타임 모델에 대한 입력으로 사용할 수 있습니다.
  • Identifier: 이 기능은 데이터 세트의 행을 고유하게 식별합니다.
  • Target: 이 기능은 예측 알고리즘에서 대상으로 사용할 수 있습니다.

현재 기능에는 정확히 하나의 역할만 있어야 합니다.

다음 방법을 사용하여 역할에 대해 작업할 수 있습니다.

  • set_roles(roles)

    이 메소드는 기능의 역할을 설정합니다.

    매개변수:

    • roles : (필수) 사용할 역할입니다. 단일 문자열 또는 문자열 배열로.
  • get_roles()

    이 메소드는 기능의 모든 역할을 리턴합니다.


기능 가져오기 및 역할 설정을 보여주는 예제:
# Set the role of the feature 'Risk' to 'Target' to use it as a target in a prediction model.
risk_feat = af.get_feature('Risk')
risk_feat.set_roles('Target')

설명

기능에 대한 선택적 설명입니다. 기본값은 None입니다.

다음 메소드를 사용하여 설명에 대해 작업할 수 있습니다.

  • set_description(description)

    이 메소드는 기능에 대한 설명을 설정합니다.

    매개변수:

    • description: (필수) 문자열 또는 None (설명을 제거하는 경우).
  • get_description()

    이 메소드는 기능에 대한 설명을 리턴합니다.

유리하고 불리한 결과에 대한 공정성 정보

Target 역할이 있는 기능에 대해 선호 및 비선호 레이블을 지정할 수 있습니다.

다음 방법을 사용하여 유리하거나 불리한 레이블을 설정하고 검색할 수 있습니다.

선호하는 결과

다음 방법을 사용하여 선호 레이블을 설정하고 가져올 수 있습니다.

  • set_favorable_labels(labels)

    이 방법은 지형에 적합한 레이블을 설정합니다.

    매개변수:

    • labels: (필수) 레이블이 있는 문자열 또는 문자열 목록입니다.
  • get_favorable_labels()

    이 메소드는 지형의 선호 레이블을 리턴합니다.

비선호 결과

다음 메소드를 사용하여 불리한 레이블을 설정하고 가져올 수 있습니다.

  • set_unfavorable_labels(labels)

    이 방법은 기능에 대해 적합하지 않은 레이블을 설정합니다.

    매개변수:

    • labels: (필수) 레이블이 적절하지 않은 문자열 또는 문자열 목록입니다.
  • get_unfavorable_labels()

    이 메소드는 기능의 비호의적 레이블을 가져옵니다.

선호 및 비선호 레이블 설정을 표시하는 예제:

# Set favorable and unfavorable labels for the target feature 'Risk'.
risk_feat = af.get_feature('Risk')
risk_feat.set_favorable_labels("No Risk")
risk_feat.set_unfavorable_labels("Risk")

모니터되는 그룹 및 참조 그룹에 대한 공정성 정보

데이터의 일부 열은 불공정하게 편향되는 경향이 있을 수 있습니다. 모니터링 그룹과 참조 그룹을 지정하여 watsonx.ai 런타임 작업에서 추가로 사용할 수 있습니다. 역할이 Input인 기능에 대해 지정할 수 있습니다.

대괄호와 시작 및 종료 값이 있는 문자열로 단일 값 또는 숫자 값 범위를 지정할 수 있습니다 (예: [0,15]).

다음 메소드를 사용하여 모니터되는 그룹 및 참조 그룹을 설정하고 검색할 수 있습니다.

  • set_monitored_groups(groups)

    이 메소드는 기능에 대해 모니터된 그룹을 설정합니다.

    매개변수:

    • groups: (필수) 모니터된 그룹이 있는 문자열 또는 문자열 목록입니다.
  • get_monitored_groups()

    이 메소드는 기능의 모니터된 그룹을 가져옵니다.

  • set_reference_groups(groups)

    이 메소드는 기능에 대한 참조 그룹을 설정합니다.

    매개변수:

    • groups: (필수) 참조 그룹이 있는 문자열 또는 문자열 목록입니다.
  • get_reference_groups()

    이 메소드는 기능의 참조 그룹을 가져옵니다.

모니터되는 그룹 및 참조 그룹 설정을 표시하는 예제:

# Set monitored and reference groups for the features 'Sex' and 'Age'.
sex_feat = af.get_feature("Sex")
sex_feat.set_reference_groups("male")
sex_feat.set_monitored_groups("female")

age_feat = af.get_feature("Age")
age_feat.set_monitored_groups("[0,25]")
age_feat.set_reference_groups("[26,80]")

값 설명

값 설명을 사용하여 데이터의 열 값에 대한 설명을 지정할 수 있습니다.

다음 메소드를 사용하여 설명을 설정하고 검색할 수 있습니다.

  • set_value_descriptions(value_descriptions)

    이 메소드는 기능에 대한 값 설명을 설정합니다.

    매개변수:

    • value_descriptions: (필수) 다음 형식의 Pyton 사전 또는 사전 목록: {'value': '<value>', 'description': '<description>'}
  • get_value_descriptions()

    이 메소드는 기능의 모든 값 설명을 리턴합니다.

  • get_value_description(value)

    이 메소드는 지정된 값에 대한 값 설명을 리턴합니다.

    매개변수:

    • value: (필수) 값 설명을 검색할 값입니다.
  • add_value_description(value, description)

    이 메소드는 기능에 대한 값 설명 목록에 제공된 값 및 설명이 있는 값 설명을 추가합니다.

    매개변수:

    • value: (필수) 값 설명의 문자열 값입니다.
    • description: (필수) 값 설명의 문자열 설명입니다.
  • remove_value_description(value)

    이 메소드는 기능의 값 설명 목록에서 지정된 값이 있는 값 설명을 제거합니다.

    매개변수:

    • value: (필수) 제거할 값 설명의 값입니다.

값 설명을 설정하는 방법을 보여주는 예제:

plan_feat = af.get_feature("InstallmentPlans")
val_descriptions = [
    {'value': 'stores',
     'description': 'customer has additional business installment plan'},
    {'value': 'bank',
     'description': 'customer has additional personal installment plan'},
    {'value': 'none',
     'description': 'customer has no additional installment plan'}
]
plan_feat.set_value_descriptions(val_descriptions)

레시피

레시피를 사용하여 기능이 작성된 방법을 설명할 수 있습니다 (예: 수식 또는 코드 스니펫 사용). 기본값은 None입니다.

다음 메소드를 사용하여 레시피에 대해 작업할 수 있습니다.

  • set_recipe(recipe)

    이 메소드는 기능의 레시피를 설정합니다.

    매개변수:

    • recipe: (필수) 레시피를 제거하는 문자열 또는 없음입니다.
  • get_recipe()

    이 메소드는 기능의 레시피를 리턴합니다.

태그

태그를 사용하여 기능에 추가 레이블 또는 정보를 첨부할 수 있습니다.

다음 메소드를 사용하여 태그에 대해 작업할 수 있습니다.

  • set_tags(tags)

    이 메소드는 기능의 태그를 설정합니다.

    매개변수:

    • tags: (필수) 단일 문자열 또는 문자열 배열로.
  • get_tags()

    이 메소드는 기능의 모든 태그를 리턴합니다.

데이터 미리 보기

공정성 정보와 같은 기능에 대한 추가 정보를 사용하여 데이터 자산 또는 pandas DataFrame 의 데이터를 미리 볼 수 있습니다.

데이터는 기능 역할, 설명 또는 레시피에 대한 선택적 헤더 정보와 함께 pandas DataFrame 과 같이 표시됩니다. 공정성 정보는 유리하거나 불리한 레이블, 모니터된 그룹 및 참조 그룹에 대한 색상으로 표시됩니다.

이 때 데이터 자산에 대해 최대 100행의 샘플 데이터를 검색할 수 있습니다.

데이터를 미리 보려면 다음 기능을 사용하십시오.

  • head(num_rows=5, display_options=['role'])

    이 함수는 pandas DataFrame에 있는 데이터 세트의 처음 num_rows 행을 리턴합니다.

    매개변수:

    • num_rows : (선택사항) 검색할 행 수입니다.

    • display_options: (선택사항) 열 헤더는 데이터 세트의 열에 대한 추가 정보를 표시할 수 있습니다.

      기능 속성을 표시하려면 다음 옵션을 사용하십시오.

      • role: 이 열의 기능 역할을 표시합니다.
      • description: 이 열의 기능에 대한 설명을 표시합니다.
      • recipe: 이 열에 대한 기능의 레시피를 표시합니다.

공정성 정보 가져오기

자산 프레임에 있는 모든 기능의 공정성 정보를 Python 사전으로 검색할 수 있습니다. 여기에는 보호된 속성으로 모니터되거나 참조 그룹 (또는 둘 다) 을 포함하는 모든 기능과 레이블이 좋거나 좋지 않은 대상 기능이 포함됩니다.

공정성 정보가 있는 열의 데이터 유형이 숫자인 경우 레이블 및 그룹의 값은 가능한 경우 숫자 값으로 변환됩니다.

공정성 정보는 AutoAI 또는 AI 공정성 360에서 바로 사용할 수 있습니다.

다음 함수를 사용하여 자산 프레임의 공정성 정보를 검색할 수 있습니다.

  • get_fairness_info(target=None)

    이 함수는 모니터되는 그룹 및 참조 그룹이 있는 보호된 속성과 대상 컬럼의 선호 레이블 및 비선호 레이블이 있는 Python 사전을 리턴합니다.

    매개변수:

    • target: (선택사항) 대상 기능입니다. 역할이 Target인 기능이 하나만 있는 경우 자동으로 사용됩니다.

      공정성 정보를 검색하는 방법을 보여주는 예제:

      af.get_fairness_info()
      

      공정성 정보를 표시하는 출력:

      {
      'favorable_labels': ['No Risk'],
      'unfavorable_labels': ['Risk'],
      'protected_attributes': [
          {'feature': 'Sex',
          'monitored_group': ['female'],
          'reference_group': ['male']},
          {'feature': 'Age',
          'monitored_group': [[0.0, 25]],
          'reference_group': [[26, 80]]
          }]
      }
      

기능 그룹 정보 저장

기능을 완전히 지정하거나 업데이트한 후 전체 기능 그룹 정의를 데이터 자산의 메타데이터로 저장할 수 있습니다.

판다 DataFrame, 에셋 프레임을 만든 경우, 프로젝트 저장소에 에셋 프레임의 이름으로 새 데이터 에셋이 만들어집니다.

다음 방법을 사용하여 기능 그룹 정보를 저장할 수 있습니다.

  • to_data_asset(overwrite_data=False)

    이 메소드는 기능 그룹 정보를 자산 메타데이터에 저장합니다. 자원 프레임이 pandas DataFrame에서 작성된 경우 새 데이터 자원을 작성합니다.

    매개변수:

    • overwrite_data: (선택사항) 또한 자산 프레임의 데이터로 자산 컨텐츠를 겹쳐씁니다. 기본값은 False로 설정됩니다.

자세히 알아보기

자원 허브에서 기능 저장소 데이터 작성 및 사용 샘플 프로젝트를 참조하십시오.

상위 주제: 노트북의 데이터 로드 및 액세스

일반적인 AI 검색 및 응답
이러한 응답은 제품 문서의 컨텐츠를 기반으로 하는 watsonx.ai 의 대형 언어 모델에 의해 생성됩니다. 자세히 알아보기