0 / 0
Go back to the English version of the documentation
Správa skupin funkcí pomocí assetframe-lib for Python (beta)
Last updated: 07. 7. 2023
Správa skupin funkcí pomocí assetframe-lib for Python (beta)

Můžete použít produkt assetframe-lib k vytvoření, zobrazení a úpravě informací o skupině funkcí pro datová aktiva v přenosných počítačích Watson Studio .

Skupiny funkcí definují dodatečná metadata na sloupcích vašeho datového aktiva, které lze použít v následných úlohách Machine Learning . Další informace o použití skupin funkcí v uživatelském rozhraní viz Správa skupin funkcí .

Nastavení knihoven assetframe-lib a ibm-watson-studio-lib

Knihovna assetframe-lib pro Python je předinstalovaná a lze ji importovat přímo do notebooku v produktu Watson Studio. Ale spoléhá se na knihovnu ibm-watson-studio-lib . Následující kroky popisují, jak nastavit obě knihovny.

Chcete-li vložit token projektu do notebooku, postupujte takto:

  1. Klepněte na ikonu Více na panelu nástrojů zápisníku a poté klepněte na volbu Vložit token projektu.

    Pokud token projektu existuje, přidá se do notebooku buňka s následujícími informacemi:

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

    <ProjectToken> je hodnota tokenu projektu.

    Je-li ve zprávě řečeno, že neexistuje žádný token projektu, klepněte na odkaz ve zprávě a přesměrovává se na stránku projektu Řízení přístupu , kde můžete vytvořit token projektu. Chcete-li vytvořit token projektu, musíte být způsobilí.

    Chcete-li vytvořit token projektu:

    1. Na kartě Spravovat vyberte stránku Řízení přístupu a klepněte na volbu Nový přístupový token pod Tokeny přístupu.
    2. Zadejte název, vyberte roli Editor pro projekt a vytvořte token.
    3. Přejděte zpět na svůj notebook, klepněte na ikonu Více na panelu nástrojů zápisníku a poté klepněte na volbu Vložit token projektu.
  2. Importujte assetframe-lib a inicializujte ji s vytvořenou instancí ibm-watson-studio-lib .

    from assetframe_lib import AssetFrame
    AssetFrame._wslib = wslib
    

Funkce a metody knihovny assetframe-lib

Knihovna assetframe-lib odkrývá sadu funkcí a metod, které jsou seskupeny následujícím způsobem:

Vytvoření rámce aktiva

Rámec aktiva se používá k definování metadat skupiny funkcí v existujícím datovém aktivu nebo v pandoru DataFrame. Pro každé aktivum můžete mít přesně jednu skupinu funkcí. Vytvoříte-li rámec aktiva na pandu DataFrame, můžete ukládat pandy DataFrame společně s metadaty skupiny funkcí jako datové aktivum ve vašem projektu.

K vytvoření vašeho rámce aktiv můžete použít jednu z následujících funkcí:

  • AssetFrame.from_data_asset(asset_name, create_default_features=False)

    Tato funkce vytvoří nový rámec aktiva obtékání existujícího datového aktiva ve vašem projektu. Pokud již existuje skupina funkcí pro toto aktivum, například vytvořená v uživatelském rozhraní, přečte se z metadat aktiva.

    Pokud již má aktivum definované popisy sloupců nebo značek sloupců, například v produktu Watson Knowledge Catalog, budou tyto informace automaticky dostupné pro vytvořené funkce.

    Parametry:

    • asset_name: (Povinné) Název datového aktiva ve vašem projektu.
    • create_default_features: (Volitelné) Vytvoří funkce pro všechny sloupce v datovém aktivu.
  • AssetFrame.from_pandas(name, dataframe, create_default_features=False)

    Tato funkce vytvoří nový rám aktiva obtékání pandby DataFrame.

    Parametry:

    • name: (Povinné) Název rámce aktiva. Tento název bude použit jako název datového aktiva, pokud ukládáte skupinu funkcí do projektu v pozdějším kroku.

    • dataframe: (požadováno) Pandas DataFrame , který chcete uložit spolu s informacemi o skupině funkcí.

    • create_default_features: (Volitelné) Vytvořte funkce pro všechny sloupce v datovém rámci.

      Příklad vytvoření rámce aktiva z pandy 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")
      

Vytvoření, načtení a odebrání funkcí

Funkce definuje metadata, která mohou být použita po následných úlohách Machine Learning . Ve své datové sadě můžete vytvořit jednu funkci pro každý sloupec.

K vytvoření, načtení nebo odebrání sloupců z rámce aktiv můžete použít jednu z následujících funkcí:

  • add_feature(column_name, role='Input')

    Tato funkce přidá novou funkci k vašemu rámci aktiva s danou rolí.

    Parametry:

    • column_name: (Required) Název sloupce, pro který má být vytvořena funkce.

    • role: (Volitelné) Role funkce. Výchozí hodnota je Vstup.

      Platné role jsou:

      • Vstup: Vstup pro výukový model počítače
      • Cíl: Cíl modelu předpovědí
      • Identifikátor: Identifikátor řádku ve vaší datové sadě.
  • create_default_features()

    Tato funkce vytváří funkce pro všechny sloupce v datové sadě. Role těchto funkcí budou standardně nastaveny na hodnotu Vstup.

  • get_features()

    Tato funkce načte všechny funkce rámce aktiva.

  • get_feature(column_name)

    Tato funkce načte funkci pro daný název sloupce.

    Parametry:

    • column_name: (Povinné) Řetězec názvu sloupce, pro který se má vytvořit funkce.
  • get_features_by_role(role)

    Tato funkce načte všechny funkce datového rámce s danou rolí.

    Parametry:

    • role: (Povinné) Role, kterou funkce musí mít. Může se jednat o Vstup, Cíl nebo Identifikátor.
  • remove_feature(feature_or_column_name)

    Tato funkce odebere funkci z rámce aktiva.

    Parametry:

    • feature_or_column_name: (Povinné) Funkce nebo název sloupce, pro který má být funkce odebrána.

Příklad zobrazující vytváření funkcí pro všechny sloupce v datové sadě a načítání jednoho z těchto sloupců pro další specifikace:

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

Uvedení atributů funkce

Funkce určují další metadata na sloupcích, které lze použít v následných úlohách Machine Learning .

Můžete použít následující funkci k načtení sloupce, pro který je funkce definována:

  • get_column_name()

    Tato funkce načte název sloupce, pro který je funkce definována.

Role

Tato role určuje zamýšlené použití funkce v úloze Machine Learning .

Platné role jsou:

  • Input: Funkci lze použít jako vstup pro model Machine Learning .
  • Identifier: Funkce jedinečně identifikuje řádek v datové sadě.
  • Target: Funkce může být použita jako cíl v algoritmu předpovědi.

V této chvíli musí mít funkce právě jednu roli.

Pro práci s rolí můžete použít následující metody:

  • set_roles(roles)

    Tato metoda nastavuje role funkce.

    Parametry:

    • roles : (Povinné) Role, které mají být použity. Buď jako jeden řetězec, nebo pole řetězců.
  • get_roles()

    Tato metoda vrací všechny role dané funkce.


Příklad, který zobrazuje získání funkce a nastavení role:
# 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')

Popis

Volitelný popis funkce. Výchozí hodnota je None.Pokud má aktivum již definované popisy sloupců, například v produktu Watson Knowledge Catalog, budou tyto informace automaticky k dispozici pro danou funkci.

K práci s popisem můžete použít následující metody.

  • set_description(description)

    Tato metoda nastavuje popis funkce.

    Parametry:

    • description: (Povinné) Buď řetězec, nebo None , abyste odebrali popis.
  • get_description()

    Tato metoda vrací popis funkce.

Fairness informace pro příznivé a nepříznivé výsledky

Pro funkci s rolí produktu Target můžete zadat příznivé a nevýhodné popisky.

Můžete použít následující metody k nastavení a načtení příznivých nebo nevýhodných popisků.

Příznivé výsledky

Pro nastavení a získání příznivých štítků můžete použít následující metody:

  • set_favorable_labels(labels)

    Tato metoda nastavuje příznivé popisky pro funkci.

    Parametry:

    • labels: (Povinné) Řetězec nebo seznam řetězců s příznivými popisky.
  • get_favorable_labels()

    Tato metoda vrací příznivé popisky funkce.

Nepříznivé výsledky

Pro nastavení a získání nepoškozných štítků můžete použít následující metody:

  • set_unfavorable_labels(labels)

    Tato metoda nastaví nevýhodné popisky pro funkci.

    Parametry:

    • labels: (Povinné) Řetězec nebo seznam řetězců s nepříznivými popisky.
  • get_unfavorable_labels()

    Tato metoda dostane nevýhodné popisky funkce.

Příklad, který ukazuje nastavení příznivých a nepoškozných štítků:

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

Informace o plavebních dráhách pro sledované a referenční skupiny

Některé sloupce ve vašich datech mohou být náchylné k nepřiměřenými předpojatosti. Monitorované a referenční skupiny můžete určit pro další použití v úlohách Machine Learning . Mohou být určeny pro funkce s rolí Input.

Můžete buď uvést jednotlivé hodnoty, nebo rozsahy číselných hodnot jako řetězec s hranatými závorkami a počáteční a koncovou hodnotou, například [0,15].

Pro nastavení a načtení monitorovaných a referenčních skupin můžete použít následující metody:

  • set_monitored_groups(groups)

    Tato metoda nastaví monitorované skupiny pro funkci.

    Parametry:

    • groups: (Povinné) Řetězec nebo seznam řetězců s monitorovanými skupinami.
  • get_monitored_groups()

    Tato metoda získá monitorované skupiny funkce.

  • set_reference_groups(groups)

    Tato metoda nastavuje referenční skupiny pro funkci.

    Parametry:

    • groups: (Povinné) Řetězec nebo seznam řetězců s referenčními skupinami.
  • get_reference_groups()

    Tato metoda získá referenční skupiny funkce.

Příklad, který ukazuje nastavení monitorovaných a referenčních skupin:

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

Popisy hodnot

Můžete použít popisy hodnot k uvedení popisů pro hodnoty sloupců ve vašich datech.

K nastavení a načítání popisů můžete použít následující metody:

  • set_value_descriptions(value_descriptions)

    Tato metoda nastavuje popisy hodnot pro funkci.

    Parametry:

    • value_descriptions: (požadováno) Slovník Pyton nebo seznam slovníků v následujícím formátu: {'value': '<value>', 'description': '<description>'}
  • get_value_descriptions()

    Tato metoda vrací všechny popisy hodnot funkce.

  • get_value_description(value)

    Tato metoda vrací popis hodnoty pro danou hodnotu.

    Parametry:

    • value: (Required) Hodnota, pro kterou se má načíst popis hodnoty.
  • add_value_description(value, description)

    Tato metoda přidá popis hodnoty se zadanou hodnotou a popisem do seznamu popisů hodnot pro danou funkci.

    Parametry:

    • value: (Povinné) Hodnota řetězce popisu hodnoty.
    • description: (Povinné) Popis řetězce popisu hodnoty.
  • remove_value_description(value)

    Tato metoda odstraní popis hodnoty se zadanou hodnotou ze seznamu popisů hodnot funkce.

    Parametry:

    • value: (Required) Hodnota popisu hodnoty, která má být odebrána.

Příklad, který ukazuje, jak nastavit popisy hodnot:

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)

Recipe

Recept můžete použít k popisu toho, jak byla funkce vytvořena, například se vzorcem nebo s úsekem kódu. Výchozí hodnota je None.

Při práci s receptem můžete pracovat pomocí následujících metod.

  • set_recipe(recipe)

    Tato metoda nastavuje recept na funkci.

    Parametry:

    • recipe: (Povinné) Buď řetězec, nebo Žádný, abyste odstranili recept.
  • get_recipe()

    Tato metoda vrací receptu na funkci.

Značky

Chcete-li připojit další štítky nebo informace k vaší funkci, můžete použít značky. Pokud již má aktivum definované popisy sloupců, například v produktu Watson Knowledge Catalog, budou tyto informace automaticky k dispozici pro danou funkci.

Pro práci se značkami můžete použít následující metody:

  • set_tags(tags)

    Tato metoda nastavuje značky této funkce.

    Parametry:

    • tags: (Povinné) Buď jako jednotlivý řetězec, nebo jako pole řetězců.
  • get_tags()

    Tato metoda vrací všechny značky funkce.

zobrazení náhledu dat

Můžete zobrazit náhled dat datového aktiva nebo pandu DataFrame s dalšími informacemi o vašich funkcích, jako jsou informace o spravedlnosti.

Data se zobrazí jako pandy DataFrame s nepovinnými informacemi o záhlaví o rolích funkcí, popisech nebo receptech. Informace o plavebních dráhách se zobrazují se zabarvením pro příznivé nebo nevýhodné popisky, sledované a referenční skupiny.

V tuto chvíli můžete načíst až 100 řádků dat vzorku pro datové aktivum.

Chcete-li zobrazit náhled dat, použijte následující funkci:

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

    Tato funkce vrací prvních num_rows řádků datové sady v pandám DataFrame.

    Parametry:

    • num_rows : (Volitelné) Počet řádků, které se mají načíst.

    • display_options: (Volitelné) Záhlaví sloupce může zobrazit další informace o sloupci v datové sadě.

      Použijte tyto volby k zobrazení atributů funkce:

      • role: Zobrazí roli funkce pro tento sloupec.
      • description: Zobrazí popis funkce pro tento sloupec.
      • recipe: Zobrazí receptu na funkci pro tento sloupec.

Získání informací o spravedlnosti

Informace o spravedlivosti pro všechny funkce ve vašem rámci aktiva můžete načíst jako slovník Python . To zahrnuje všechny funkce, které obsahují monitorované nebo referenční skupiny (nebo obojí) jako chráněné atributy a cílovou funkci s příznivými nebo nepříznivými popisky.

Je-li datový typ sloupce s údaji o spravedlivosti číselné, jsou hodnoty popisků a skupin transformovány na číselné hodnoty, je-li to možné.

Informace o plavebních dráhách mohou být použity přímo v AutoAI nebo Am Fairness 360.

Chcete-li získat informace o spravedlivosti vašeho rámce aktiva, můžete použít následující funkci:

  • get_fairness_info(target=None)

    Tato funkce vrací slovník Python s příznivými a nepříznivými popisky cílových sloupců a chráněných atributů s monitorovanými a referenčními skupinami.

    Parametry:

    • cíl: (Volitelné) Cílová funkce. Existuje-li pouze jedna funkce s rolí Target, bude použita automaticky.

      Příklad, který ukazuje, jak získat informace o spravedlnosti:

      af.get_fairness_info()
      

      Výstup s informacemi o spravedlnosti:

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

Uložení informací o skupině funkcí

Po úplném zadání nebo aktualizaci vašich funkcí můžete uložit celou definici skupiny funkcí jako metadata pro vaše datové aktivum.

Pokud jste vytvořili rámec aktiva z pandas DataFrame, v úložišti projektu se vytvoří nové datové aktivum s názvem rámce aktiva.

K uložení informací o skupině funkcí můžete použít následující metodu:

  • to_data_asset(overwrite_data=False)

    Tato metoda uloží informace o skupině funkcí do metadat aktiv. Vytvoří nové aktivum dat, pokud byl rámec aktiva vytvořen z pandas DataFrame.

    Parametry:

    • overwrite_data: (Volitelné) Také přepište obsah aktiva s daty z rámce aktiva. Výchozí hodnota je False.

Další informace

Viz ukázkový projekt Vytvoření a použití dat úložiště funkcí v Galerii.

Nadřízené téma: Načítání a přístup k datům v zápisníku

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