Sie können " assetframe-lib
verwenden, um Feature-Gruppen-Informationen für Daten-Assets in watsonx.ai Studio-Notebooks zu erstellen, anzuzeigen und zu bearbeiten.
Feature-Gruppen definieren zusätzliche Metadaten zu Spalten Ihres Datenbestands, die in nachgelagerten watsonx.ai Runtime-Aufgaben verwendet werden können. Weitere Informationen zur Verwendung von Featuregruppen in der Benutzerschnittstelle finden Sie unter Featuregruppen verwalten .
assetframe-lib
-und ibm-watson-studio-lib
-Bibliotheken einrichten
Die ' assetframe-lib
-Bibliothek für Python ist vorinstalliert und kann direkt in ein Notizbuch in watsonx.ai Studio importiert werden. Sie stützt sich jedoch auf die Bibliothek ibm-watson-studio-lib
. In den folgenden Schritten wird beschrieben, wie beide Bibliotheken eingerichtet werden.
Gehen Sie wie folgt vor, um das Projekttoken in Ihr Notebook einzufügen:
Klicken Sie auf das Symbol Mehr in der Symbolleiste Ihres Notebooks und anschließend auf Projekttoken einfügen.
Wenn ein Projekttoken vorhanden ist, wird Ihrem Notebook eine Zelle mit den folgenden Informationen hinzugefügt:
from ibm_watson_studio_lib import access_project_or_space wslib = access_project_or_space({"token":"<ProjectToken>"})
<ProjectToken>
ist der Wert des Projekttokens.Wenn eine Nachricht darauf hinweist, dass kein Projekttoken vorhanden ist, klicken Sie auf den Link in der Nachricht, um die Seite Zugriffssteuerung für das Projekt aufzurufen, auf der Sie ein Projekttoken erstellen können. Sie müssen die Berechtigung zum Erstellen eines Projekttokens haben.
Gehen Sie wie folgt vor, um ein Projekttoken zu erstellen:
- Wählen Sie auf der Registerkarte Verwalten die Seite Zugriffssteuerung aus und klicken Sie unter Zugriffstokens auf Neues Zugriffstoken.
- Geben Sie einen Namen ein, wählen Sie die Rolle Editor für das Projekt aus und erstellen Sie ein Token.
- Rufen Sie wieder Ihr Notebook auf, klicken Sie auf das Symbol Mehr in der Symbolleiste des Notebooks und klicken Sie anschließend auf Projekttoken einfügen.
Importieren Sie
assetframe-lib
und initialisieren Sie es mit der erstelltenibm-watson-studio-lib
-Instanz.from assetframe_lib import AssetFrame AssetFrame._wslib = wslib
Funktionen und Methoden "assetframe-lib"
Die Bibliothek "assetframe-lib" stellt eine Gruppe von Funktionen und Methoden bereit, die wie folgt gruppiert sind:
Assetrahmen erstellen
Ein Assetrahmen wird verwendet, um Metadaten für Featuregruppen in einem vorhandenen Datenasset oder in einem Pandas- DataFramezu definieren. Sie können für jede Anlage genau eine Featuregruppe haben. Wenn Sie einen Asset-Rahmen auf einem Pandas DataFrame, erstellen, können Sie den Pandas DataFrame zusammen mit den Metadaten der Featuregruppe als Daten-Asset in Ihrem Projekt speichern.
Sie können eine der folgenden Funktionen verwenden, um Ihren Assetrahmen zu erstellen:
AssetFrame.from_data_asset(asset_name, create_default_features=False)
Diese Funktion erstellt einen neuen Assetrahmen, der ein vorhandenes Datenasset in Ihrem Projekt einschließt. Wenn bereits eine Featuregruppe für dieses Asset vorhanden ist, die beispielsweise in der Benutzerschnittstelle erstellt wurde, wird sie aus den Assetmetadaten gelesen.
Wenn für das Asset bereits Spaltenbeschreibungen oder Spalten-Tags definiert sind, z. B. im IBM Knowledge Catalog, sind diese Informationen automatisch für die erstellten Features verfügbar.
Parameter:
asset_name
: (Erforderlich) Der Name eines Datenassets in Ihrem Projektcreate_default_features
: (Optional) Erstellt Features für alle Spalten im Datenasset.
AssetFrame.from_pandas(name, dataframe, create_default_features=False)
Diese Funktion erstellt einen neuen Asset-Frame, der einen Pandas- DataFrameeinschließt.
Parameter:
name
: (Erforderlich) Der Name des Assetrahmens. Dieser Name wird als Name des Datenassets verwendet, wenn Sie Ihre Featuregruppe in einem späteren Schritt in Ihrem Projekt speichern.dataframe
: (Erforderlich) Ein Pandas DataFrame , den Sie zusammen mit Featuregruppeninformationen speichern möchten.create_default_features
: (Optional) Erstellen Sie Features für alle Spalten im Datenrahmen.Beispiel für die Erstellung eines Asset-Frames aus einem 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")
Features erstellen, abrufen und entfernen
Ein Feature definiert Metadaten, die von nachgelagerten watsonx.ai Runtime-Tasks verwendet werden können. Sie können eine Funktion pro Spalte in Ihrem Dataset erstellen.
Sie können eine der folgenden Funktionen verwenden, um Spalten in Ihrem Assetrahmen zu erstellen, abzurufen oder zu entfernen:
add_feature(column_name, role='Input')
Diese Funktion fügt Ihrem Asset-Frame ein neues Feature mit der angegebenen Rolle hinzu.
Parameter:
column_name
: (Erforderlich) Der Name der Spalte, für die eine Funktion erstellt werden sollrole
: (Optional) Die Rolle des Features. Der Standardwert ist Eingabe.Die folgenden Rollen sind gültig:
- Eingabe: Die Eingabe für ein Modell für maschinelles Lernen
- Ziel: Das Ziel eines Vorhersagemodells
- Kennung: Die ID einer Zeile in Ihrem Dataset.
- Eingabe: Die Eingabe für ein Modell für maschinelles Lernen
create_default_features()
Diese Funktion erstellt Features für alle Spalten in Ihrem Dataset. Die Rollen der Features werden standardmäßig auf Eingabegesetzt.
get_features()
Diese Funktion ruft alle Features des Anlagenrahmens ab.
get_feature(column_name)
Diese Funktion ruft das Feature für den angegebenen Spaltennamen ab.
Parameter:
column_name
: (Erforderlich) Der Zeichenfolgename der Spalte, für die die Funktion erstellt wird
get_features_by_role(role)
Diese Funktion ruft alle Features des Datenbereichs mit der angegebenen Rolle ab.
Parameter:
role
: (Erforderlich) Die Rolle, die die Features haben müssen Dies kann Eingabe, Ziel oder Kennungsein.
remove_feature(feature_or_column_name)
Diese Funktion entfernt das Feature aus dem Anlagenrahmen.
Parameter:
feature_or_column_name
: (Erforderlich) Ein Feature oder der Name der Spalte, für die das Feature entfernt wird
Beispiel für das Erstellen von Features für alle Spalten im Dataset und das Abrufen einer dieser Spalten für weitere Spezifikationen:
# 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')
Featureattribute angeben
Features geben zusätzliche Metadaten zu Spalten an, die in nachgelagerten watsonx.ai Runtime-Aufgaben verwendet werden können.
Mit der folgenden Funktion können Sie die Spalte abrufen, für die das Feature definiert ist:
get_column_name()
Diese Funktion ruft den Spaltennamen ab, für den die Funktion definiert ist.
Rolle
Die Rolle spezifiziert die beabsichtigte Verwendung des Features in einer watsonx.ai Runtime Aufgabe.
Die folgenden Rollen sind gültig:
Input
: Das Merkmal kann als Eingabe für ein watsonx.ai Runtime-Modell verwendet werden.Identifier
: Das Feature identifiziert eine Zeile im Dataset eindeutig.Target
: Das Merkmal kann als Ziel in einem Vorhersagealgorithmus verwendet werden.
Zu diesem Zeitpunkt muss ein Feature genau eine Rolle haben.
Sie können die folgenden Methoden verwenden, um mit der Rolle zu arbeiten:
set_roles(roles)
Diese Methode legt die Rollen des Features fest.
Parameter:
roles
: (Erforderlich) Die zu verwendenden Rollen. Entweder als einzelne Zeichenfolge oder als Array von Zeichenfolgen.
get_roles()
Diese Methode gibt alle Rollen des Features zurück.
Beispiel zum Abrufen eines Features und Festlegen einer Rolle:
# 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')
Beschreibung
Eine optionale Beschreibung des Features. It defaults to None
.If the asset has already column descriptions defined, for example in IBM Knowledge Catalog, this information will be automatically available for the feature.
Sie können die folgenden Methoden verwenden, um mit der Beschreibung zu arbeiten.
set_description(description)
Diese Methode legt die Beschreibung des Features fest.
Parameter:
description
: (Erforderlich) Eine Zeichenfolge oderNone
zum Entfernen der Beschreibung.
get_description()
Diese Methode gibt die Beschreibung des Features zurück.
Fairnessinformationen für günstige und ungünstige Ergebnisse
Sie können günstige und ungünstige Bezeichnungen für ein Feature mit einer Target
-Rolle angeben.
Sie können die folgenden Methoden verwenden, um positive oder ungünstige Beschriftungen festzulegen und abzurufen.
Positive Ergebnisse
Sie können die folgenden Methoden zum Festlegen und Abrufen günstiger Bezeichnungen verwenden:
set_favorable_labels(labels)
Diese Methode legt günstige Beschriftungen für das Merkmal fest.
Parameter:
labels
: (Erforderlich) Eine Zeichenfolge oder eine Liste von Zeichenfolgen mit günstigen Bezeichnungen.
get_favorable_labels()
Diese Methode gibt die günstigen Beschriftungen des Merkmals zurück.
Ungünstige Ergebnisse
Sie können die folgenden Methoden verwenden, um ungünstige Bezeichnungen festzulegen und abzurufen:
set_unfavorable_labels(labels)
Diese Methode legt ungünstige Beschriftungen für das Feature fest.
Parameter:
labels
: (Erforderlich) Eine Zeichenfolge oder Liste von Zeichenfolgen mit ungünstigen Bezeichnungen.
get_unfavorable_labels()
Diese Methode ruft die ungünstigen Bezeichnungen des Features ab.
Beispiel, das das Festlegen günstiger und ungünstiger Beschriftungen zeigt:
# 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")
Fairnessinformationen für überwachte Gruppen und Referenzgruppen
Einige Spalten in Ihren Daten sind möglicherweise anfällig für unfaire Verzerrungen. Sie können überwachte und Referenzgruppen für die weitere Verwendung in watsonx.ai Runtime Tasks angeben. Sie können für Features mit der Rolle Input
angegeben werden.
Sie können einzelne Werte oder Bereiche numerischer Werte als Zeichenfolge mit eckigen Klammern und einem Anfangs-und Endwert angeben, z. B. [0,15]
.
Sie können die folgenden Methoden verwenden, um überwachte Gruppen und Referenzgruppen festzulegen und abzurufen:
set_monitored_groups(groups)
Diese Methode legt überwachte Gruppen für das Feature fest.
Parameter:
groups
: (Erforderlich) Eine Zeichenfolge oder Liste von Zeichenfolgen mit überwachten Gruppen.
get_monitored_groups()
Diese Methode ruft die überwachten Gruppen des Features ab.
set_reference_groups(groups)
Diese Methode legt Referenzgruppen für das Feature fest.
Parameter:
groups
: (Erforderlich) Zeichenfolge oder Liste von Zeichenfolgen mit Referenzgruppen.
get_reference_groups()
Diese Methode ruft die Referenzgruppen des Features ab.
Beispiel für das Festlegen von überwachten Gruppen und Referenzgruppen:
# 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]")
Wertbeschreibungen
Sie können Wertbeschreibungen verwenden, um Beschreibungen für Spaltenwerte in Ihren Daten anzugeben.
Mit den folgenden Methoden können Sie Beschreibungen festlegen und abrufen:
set_value_descriptions(value_descriptions)
Diese Methode legt Wertbeschreibungen für das Feature fest.
Parameter:
value_descriptions
: (Erforderlich) Ein Pyton-Wörterverzeichnis oder eine Liste von Wörterverzeichnissen im folgenden Format:{'value': '<value>', 'description': '<description>'}
get_value_descriptions()
Diese Methode gibt alle Wertbeschreibungen des Features zurück.
get_value_description(value)
Diese Methode gibt die Wertbeschreibung für den angegebenen Wert zurück.
Parameter:
value
: (Erforderlich) Der Wert, für den die Wertbeschreibung abgerufen werden soll
add_value_description(value, description)
Diese Methode fügt der Liste der Wertbeschreibungen für das Feature eine Wertbeschreibung mit dem angegebenen Wert und der Beschreibung hinzu.
Parameter:
value
: (Erforderlich) Der Zeichenfolgewert der Wertbeschreibung.description
: (Erforderlich) Die Zeichenfolgebeschreibung der Wertbeschreibung.
remove_value_description(value)
Diese Methode entfernt die Wertbeschreibung mit dem angegebenen Wert aus der Liste der Wertbeschreibungen des Features.
Parameter:
value
: (Erforderlich) Ein Wert der zu entfernenden Wertbeschreibung.
Beispiel für das Festlegen von Wertbeschreibungen:
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)
Anleitung
You can use the recipe to describe how a feature was created, for example with a formula or a code snippet. Der Standardwert ist None
.
Sie können die folgenden Methoden verwenden, um mit dem Rezept zu arbeiten.
set_recipe(recipe)
Diese Methode legt die Rezeptur des Features fest.
Parameter:
recipe
: (Erforderlich) Eine Zeichenfolge oder Keine, um das Rezept zu entfernen.
get_recipe()
Diese Methode gibt das Rezept des Features zurück.
Daten voranzeigen
Sie können eine Vorschau der Daten Ihres Datenassets oder Pandas DataFrame mit zusätzlichen Informationen zu Ihren Features wie Fairnessinformationen anzeigen.
Die Daten werden wie ein Pandas DataFrame mit optionalen Headerinformationen zu Featurerollen, Beschreibungen oder Anleitungen angezeigt. Fairnessinformationen werden mit Farben für positive oder ungünstige Beschriftungen, überwachte Gruppen und Referenzgruppen angezeigt.
Zu diesem Zeitpunkt können Sie bis zu 100 Zeilen mit Beispieldaten für ein Datenasset abrufen.
Verwenden Sie die folgende Funktion zum Voranzeigen von Daten:
head(num_rows=5, display_options=['role'])
Diese Funktion gibt die ersten
num_rows
Zeilen des Datasets in einem Pandas DataFramezurück.Parameter:
num_rows
: (Optional) Die Anzahl abzurufender Zeilen.display_options
: (Optional) Die Spaltenüberschrift kann zusätzliche Informationen für eine Spalte in Ihrem Dataset anzeigen.Verwenden Sie diese Optionen, um Featureattribute anzuzeigen:
role
: Zeigt die Rolle eines Features für diese Spalte andescription
: Zeigt die Beschreibung eines Features für diese Spalte an.recipe
: Zeigt das Rezept eines Features für diese Spalte an
Fairnessinformationen abrufen
Sie können die Fairnessinformationen aller Features in Ihrem Assetrahmen als Python -Wörterverzeichnis abrufen. Dazu gehören alle Features, die überwachte oder Referenzgruppen (oder beides) als geschützte Attribute enthalten, und das Zielfeature mit günstigen oder ungünstigen Bezeichnungen.
Wenn der Datentyp einer Spalte mit Fairnessinformationen numerisch ist, werden die Werte von Beschriftungen und Gruppen nach Möglichkeit in numerische Werte umgewandelt.
Fairness-Informationen können direkt in AutoAI oder AI Fairness 360 verwendet werden.
Sie können die folgende Funktion verwenden, um Fairnessinformationen Ihres Assetrahmens abzurufen:
get_fairness_info(target=None)
Diese Funktion gibt ein Python -Wörterverzeichnis mit günstigen und ungünstigen Bezeichnungen der Zielspalte und geschützten Attributen mit überwachten und Referenzgruppen zurück.
Parameter:
target: (Optional) Das Zielfeature. Wenn nur ein Feature mit der Rolle
Target
vorhanden ist, wird es automatisch verwendet.Beispiel für das Abrufen von Fairnessinformationen:
af.get_fairness_info()
Ausgabe mit Fairnessinformationen:
{ '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]] }] }
Informationen zur Featuregruppe speichern
Nachdem Sie Ihre Features vollständig angegeben oder aktualisiert haben, können Sie die gesamte Featuregruppendefinition als Metadaten für Ihr Datenasset speichern.
Wenn Sie den Asset-Rahmen aus einem Pandas DataFrame, erstellt haben, wird im Projektspeicher ein neues Daten-Asset mit dem Namen des Asset-Rahmens erstellt.
Sie können die folgende Methode verwenden, um Ihre Featuregruppeninformationen zu speichern:
to_data_asset(overwrite_data=False)
Diese Methode speichert Featuregruppeninformationen in den Assetmetadaten. Sie erstellt ein neues Datenasset, wenn der Assetrahmen aus einem Pandas DataFrameerstellt wurde.
Parameter:
overwrite_data
: (Optional) Überschreiben Sie auch den Assetinhalt mit den Daten aus dem Assetrahmen. Der Standardwert istFalse
.
Weitere Informationen
Weitere Informationen finden Sie im Beispielprojekt Creating and using feature store data im Ressourcenhub.
Übergeordnetes Thema: Daten in ein Notebook laden und darauf zugreifen