0 / 0
Go back to the English version of the documentation
Zarządzanie grupami elementów za pomocą funkcji assetframe-lib dla Python (wersja beta)
Last updated: 06 lip 2023
Zarządzanie grupami elementów za pomocą funkcji assetframe-lib dla Python (wersja beta)

Za pomocą assetframe-lib można tworzyć, wyświetlać i edytować informacje o grupach składników dla zasobów danych w notebookach Watson Studio .

Grupy składników definiują dodatkowe metadane dla kolumn zasobu danych, które mogą być używane w dalszych zadaniach Machine Learning . Więcej informacji na temat korzystania z grup składników w interfejsie użytkownika zawiera sekcja Zarządzanie grupami składników .

Konfigurowanie bibliotek produktu assetframe-lib i ibm-watson-studio-lib

Biblioteka assetframe-lib dla Python jest wstępnie zainstalowana i może być importowana bezpośrednio w notatniku w programie Watson Studio. Jednak jest ona oparta na bibliotece ibm-watson-studio-lib . W poniższych krokach opisano, w jaki sposób skonfigurować obie biblioteki.

Aby wstawić znacznik projektu do notatnika:

  1. Kliknij ikonę Więcej na pasku narzędzi notatnika, a następnie kliknij opcję Wstaw znacznik projektu.

    Jeśli znacznik projektu istnieje, do notatnika zostanie dodana komórka z następującymi informacjami:

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

    <ProjectToken> jest wartością znacznika projektu.

    Jeśli w komunikacie powiedziano, że nie istnieje znacznik projektu, należy kliknąć odsyłacz w komunikacie, który ma zostać przekierowany do strony Kontrola dostępu projektu, w której można utworzyć znacznik projektu. Aby utworzyć znacznik projektu, należy kwalifikować się do niego.

    Aby utworzyć znacznik projektu:

    1. Na karcie Zarządzanie wybierz stronę Kontrola dostępu , a następnie kliknij opcję Nowy znacznik dostępu w obszarze Znaczniki dostępu.
    2. Wprowadź nazwę, wybierz rolę Edytujący dla projektu, a następnie utwórz znacznik.
    3. Wróć do notatnika, kliknij ikonę Więcej na pasku narzędzi notatnika, a następnie kliknij opcję Wstaw znacznik projektu.
  2. Zaimportuj produkt assetframe-lib i zainicjuj go przy użyciu utworzonej instancji produktu ibm-watson-studio-lib .

    from assetframe_lib import AssetFrame
    AssetFrame._wslib = wslib
    

Funkcje i metody biblioteki assetframe-lib

Biblioteka assetframe-lib prezentuje zestaw funkcji i metod, które są pogrupowane w następujący sposób:

Tworzenie ramki zasobu

Ramka zasobu służy do definiowania metadanych grupy składników dla istniejącego zasobu danych lub w przypadku pandas DataFrame. Dla każdego zasobu można utworzyć dokładnie jedną grupę składników. W przypadku utworzenia ramki zasobu na pandas DataFramemożna zapisać pandas DataFrame wraz z metadanymi grupy składników jako zasób danych w projekcie.

W celu utworzenia ramki zasobu można użyć jednej z następujących funkcji:

  • AssetFrame.from_data_asset(asset_name, create_default_features=False)

    Ta funkcja tworzy nową ramkę zasobu, która opakowuje istniejący zasób danych w projekcie. Jeśli istnieje już grupa składników dla tego zasobu aplikacyjnego, na przykład utworzona w interfejsie użytkownika, jest ona odczytywaana z metadanych zasobu aplikacyjnego.

    Parametry:

    • asset_name: (wymagane) Nazwa zasobu danych w projekcie.
    • create_default_features: (Opcjonalnie) Tworzy składniki dla wszystkich kolumn w zasobie danych.
  • AssetFrame.from_pandas(name, dataframe, create_default_features=False)

    Ta funkcja tworzy nową ramkę zasobu opakowują pandas DataFrame.

    Parametry:

    • name: (wymagane) Nazwa ramki zasobu. Ta nazwa będzie używana jako nazwa zasobu danych, jeśli w projekcie zostanie zapisana grupa składników w projekcie w późniejszym kroku.

    • dataframe: (wymagane) Pandas DataFrame , który ma być przechowywany razem z informacjami o grupach składników.

    • create_default_features: (Opcjonalnie) Utwórz składniki dla wszystkich kolumn w ramce danych.

      Przykład tworzenia ramki zasobu na podstawie pandas 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")
      

Tworzenie, pobieranie i usuwanie składników

Składnik definiuje metadane, które mogą być używane przez kolejne zadania Machine Learning . Dla każdej kolumny w zestawie danych można utworzyć jedną opcję.

Aby utworzyć, pobrać lub usunąć kolumny z szafy zasobu, można użyć jednej z następujących funkcji:

  • add_feature(column_name, role='Input')

    Ta funkcja dodaje nową funkcję do ramki zasobu z daną rolą.

    Parametry:

    • column_name: (wymagane) Nazwa kolumny, dla której ma zostać utworzona funkcja.

    • role: (opcjonalnie) Rola składnika. Wartością domyślną jest Dane wejściowe.

      Poprawne role to:

      • Dane wejściowe: dane wejściowe dla modelu uczenia maszynowego
      • Cel: cel modelu predykcji
      • Identyfikator: identyfikator wiersza w zestawie danych.
  • create_default_features()

    Ta funkcja tworzy składniki dla wszystkich kolumn w zestawie danych. Role składników zostaną domyślnie wprowadzone w polu Dane wejściowe.

  • get_features()

    Ta funkcja pobiera wszystkie funkcje ramki zasobu.

  • get_feature(column_name)

    Ta funkcja pobiera funkcję dla podanej nazwy kolumny.

    Parametry:

    • column_name: (wymagane) Nazwa łańcucha kolumny, dla której ma zostać utworzona funkcja.
  • get_features_by_role(role)

    Ta funkcja pobiera wszystkie funkcje ramki danych z daną rolą.

    Parametry:

    • role: (wymagane) Rola, jaką muszą mieć składniki. Może to być wartość Dane wejściowe, Cel lub Identyfikator.
  • remove_feature(feature_or_column_name)

    Ta funkcja usuwa składnik z ramki zasobu.

    Parametry:

    • feature_or_column_name: (wymagane) Funkcja lub nazwa kolumny, dla której ma zostać usunięta funkcja.

Przykład pokazujący tworzenie funkcji dla wszystkich kolumn w zestawie danych i pobieranie jednej z tych kolumn w celu uzyskania dalszych specyfikacji:

# 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')

Określanie atrybutów opcji

Składniki określają dodatkowe metadane w kolumnach, które mogą być używane w kolejnych zadaniach Machine Learning .

Aby pobrać kolumnę, dla której zdefiniowano składnik, można użyć następującej funkcji:

  • get_column_name()

    Ta funkcja pobiera nazwę kolumny, dla której została zdefiniowana funkcja.

Rola

Rola określa zamierzone użycie funkcji w zadaniu Machine Learning .

Poprawne role to:

  • Input: składnik może być używany jako dane wejściowe dla modelu Machine Learning .
  • Identifier: Funkcja jednoznacznie identyfikuje wiersz w zestawie danych.
  • Target: Funkcja może być używana jako zmienna przewidywana w algorytmie predykcji.

W tym momencie funkcja musi mieć dokładnie jedną rolę.

Aby pracować z rolą, można użyć następujących metod:

  • set_roles(roles)

    Ta metoda ustawia role funkcji.

    Parametry:

    • roles : (wymagane) Role, które mają być używane. Albo jako pojedynczy łańcuch, albo tablica łańcuchów.
  • get_roles()

    Ta metoda zwraca wszystkie role składnika.


Przykład pokazujący uzyskanie funkcji i ustawienie roli:
# 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')

Opis

Opcjonalny opis składnika. Wartością domyślną jest None.

Do pracy z opisem można użyć następujących metod.

  • set_description(description)

    Ta metoda służy do ustawiania opisu funkcji.

    Parametry:

    • description: (wymagane) Łańcuch lub None , aby usunąć opis.
  • get_description()

    Ta metoda zwraca opis składnika.

Informacje o uczciwości dla pozytywnych i niesprzyjających wyników

Dla funkcji z rolą Target można określić korzystne i niekorzystne etykiety dla opcji.

Można użyć następujących metod, aby ustawić i pobrać korzystne lub niesprzyjające etykiety.

Pozytywne wyniki

Aby ustawić i uzyskać korzystne etykiety, można użyć następujących metod:

  • set_favorable_labels(labels)

    Ta metoda służy do ustawiania korzystnych etykiet dla składnika.

    Parametry:

    • labels: (wymagany) Łańcuch lub lista łańcuchów z korzystnymi etykietami.
  • get_favorable_labels()

    Ta metoda zwraca korzystne etykiety składnika.

Niesprzyjające wyniki

W celu ustawienia i uzyskania nieprzyjaznych etykiet można użyć następujących metod:

  • set_unfavorable_labels(labels)

    Ta metoda ustawia niekorzystne etykiety dla składnika.

    Parametry:

    • labels: (wymagany) Łańcuch lub lista łańcuchów z niesprzyjającymi etykietami.
  • get_unfavorable_labels()

    Ta metoda pobiera niesprzyjające etykiety funkcji.

Przykład pokazujący ustawienie korzystnych i niesprzyjających etykiet:

# 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")

Informacje o uczciwości dla monitorowanych i grup referencyjnych

Niektóre kolumny w danych mogą być skłonne do nieuczciwych bias. W zadaniach Machine Learning można określić grupy monitorowane i odwołania do dalszego wykorzystania. Można je określić dla składników o roli Input.

Można podać pojedyncze wartości lub zakresy wartości liczbowych jako łańcuch zawierający nawiasy kwadratowe, a także wartość początkową i końcową, na przykład [0,15].

Aby ustawić i pobrać grupy monitorowane i odniesienia, można użyć następujących metod:

  • set_monitored_groups(groups)

    Ta metoda ustawia monitorowane grupy dla składnika.

    Parametry:

    • groups: (wymagany) Łańcuch lub lista łańcuchów z monitorowanymi grupami.
  • get_monitored_groups()

    Ta metoda pobiera monitorowane grupy funkcji.

  • set_reference_groups(groups)

    Ta metoda ustawia grupy odwołań dla składnika.

    Parametry:

    • groups: (wymagany) Łańcuch lub lista łańcuchów z grupami odwołań.
  • get_reference_groups()

    Ta metoda pobiera grupy odwołań składnika.

Przykład wyświetlający monitorowane grupy i grupy referencyjne:

# 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]")

Opisy wartości

Opisów wartości można używać do określania opisów wartości kolumn w danych.

Aby ustawić i pobrać opisy, można użyć następujących metod:

  • set_value_descriptions(value_descriptions)

    Ta metoda ustawia opisy wartości dla składnika.

    Parametry:

    • value_descriptions: (wymagany) słownik pytonowy lub lista słowników w następującym formacie: {'value': '<value>', 'description': '<description>'}
  • get_value_descriptions()

    Ta metoda zwraca wszystkie opisy wartości składnika.

  • get_value_description(value)

    Ta metoda zwraca opis wartości dla danej wartości.

    Parametry:

    • value: (wymagane) Wartość, dla której ma zostać pobrany opis wartości.
  • add_value_description(value, description)

    Ta metoda dodaje opis wartości wraz z podaną wartością i opisem do listy opisów wartości dla składnika.

    Parametry:

    • value: (wymagane) Wartość łańcuchowa opisu wartości.
    • description: (wymagany) Opis łańcucha opisu wartości.
  • remove_value_description(value)

    Ta metoda usuwa opis wartości z daną wartością z listy opisów wartości składnika.

    Parametry:

    • value: (wymagane) Wartość opisu wartości, która ma zostać usunięta.

Przykład pokazujący sposób ustawiania opisów wartości:

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)

Przepis

Istnieje możliwość użycia przepisu w celu opisania sposobu tworzenia składnika, na przykład za pomocą formuły lub fragmentu kodu. Wartością domyślną jest None.

Do pracy z receptą można używać następujących metod.

  • set_recipe(recipe)

    Ta metoda ustawia przepis opcji.

    Parametry:

    • recipe: (wymagane) Łańcuch lub Brak, aby usunąć przepis.
  • get_recipe()

    Ta metoda zwraca przepis funkcji.

Znaczniki

Za pomocą znaczników można dołączać dodatkowe etykiety lub informacje do składnika.

Aby pracować ze znacznikami, można użyć następujących metod:

  • set_tags(tags)

    Ta metoda ustawia znaczniki składnika.

    Parametry:

    • tags: (wymagane) albo jako pojedynczy łańcuch, albo tablica łańcuchów.
  • get_tags()

    Ta metoda zwraca wszystkie znaczniki składnika.

Wyświetlanie podglądu danych

Użytkownik może wyświetlić podgląd danych zasobu danych lub pandas DataFrame z dodatkowymi informacjami na temat funkcji, takich jak informacje o rzetelności.

Dane są wyświetlane w postaci pandas DataFrame z opcjonalnymi informacjami nagłówkami dotyczącymi ról funkcji, opisów lub przepisów. Informacje o rzetelności są wyświetlane z kolorowaniem dla etykiet pozytywnych lub niesprzyjających, monitorowanych i grup referencyjnych.

W tym momencie można pobrać do 100 wierszy przykładowych danych dla zasobu danych.

Aby wyświetlić podgląd danych, użyj następującej funkcji:

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

    Ta funkcja zwraca pierwsze wiersze num_rows zestawu danych w obszarze DataFrame.

    Parametry:

    • num_rows : (opcjonalnie) Liczba wierszy do pobrania.

    • display_options: (Opcjonalnie) Nagłówek kolumny może wyświetlić dodatkowe informacje dla kolumny w zestawie danych.

      Opcje te umożliwiają wyświetlanie atrybutów funkcji:

      • role: Służy do wyświetlania roli składnika dla tej kolumny.
      • description: służy do wyświetlania opisu funkcji dla tej kolumny.
      • recipe: służy do wyświetlania przepisu składnika dla tej kolumny.

Uzyskiwanie informacji o rzetelności

Użytkownik może pobrać informacje o rzetelności wszystkich funkcji w ramce zasobu aplikacyjnego jako słownik Python . Obejmuje to wszystkie funkcje zawierające grupy monitorowane lub grupy odwołań (lub obie) jako atrybuty chronione, a także opcję docelową z etykietami korzystnymi lub niesprzyjającymi.

Jeśli typ danych kolumny z informacjami o rzetelności jest liczbowy, wartości etykiet i grup są przekształcane w wartości liczbowe, jeśli to możliwe.

Informacje o uczciwości mogą być używane bezpośrednio w AutoAI lub AI Fairness 360.

W celu pobrania informacji o godziwości ramki zasobu można użyć następującej funkcji:

  • get_fairness_info(target=None)

    Ta funkcja zwraca słownik Python z przychylnymi i niesprzyjającymi etykietami kolumny docelowej i chronionych atrybutów z monitorowanymi i grupami referencyjnymi.

    Parametry:

    • cel: (opcjonalnie) Opcja docelowa. Jeśli istnieje tylko jedna funkcja z rolą Target, zostanie ona użyta automatycznie.

      Przykład pokazujący sposób pobierania informacji o rzetelności:

      af.get_fairness_info()
      

      Dane wyjściowe przedstawiające informacje o fairness:

      {
      '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]]
          }]
      }
      

Zapisywanie informacji o grupie składników

Po pełnym określeniu lub zaktualizowaniu składników można zapisać całą definicję grupy składników jako metadane dla zasobu danych.

Jeśli ramka zasobu została utworzona na podstawie pandas DataFrame, w pamięci masowej projektu zostanie utworzony nowy zasób danych wraz z nazwą ramki zasobu.

W celu zapisania informacji o grupie składników można użyć następującej metody:

  • to_data_asset(overwrite_data=False)

    Ta metoda umożliwia zapisanie informacji o grupie składników w metadanych zasobów aplikacyjnych. Tworzy on nowy zasób danych, jeśli ramka zasobu została utworzona z poziomu pandas DataFrame.

    Parametry:

    • overwrite_data: (opcjonalnie) nadpisuje również zawartość zasobu aplikacyjnego danymi z ramki zasobu. Wartością domyślną jest False.

Więcej inform.

Zapoznaj się z przykładowym projektem Tworzenie i używanie danych składnicy składników w przykładach.

Temat nadrzędny: Ładowanie i uzyskiwanie dostępu do danych w notatniku

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more