Prozkoumání a ověřování relací v sémantických modelech a datových rámcích
V tomto článku se dozvíte, jak pomocí sémantických funkcí SemPy zjišťovat a ověřovat relace v sémantických modelech Power BI a v datových rámcích pandas.
V oblasti datových věd a strojového učení je důležité porozumět struktuře a vztahům v datech. Power BI je výkonný nástroj, který umožňuje modelovat a vizualizovat tyto struktury a vztahy. Pokud chcete získat další přehledy nebo vytvářet modely strojového učení, můžete se podrobněji ponořit pomocí sémantických funkcí odkazů v modulech knihovny SemPy.
Datoví vědci a obchodní analytici můžou pomocí funkcí SemPy vypisovat, vizualizovat a ověřovat relace v sémantických modelech Power BI nebo vyhledávat a ověřovat relace v datových rámcích pandas.
Požadavky
Získejte předplatné Microsoft Fabric. Nebo si zaregistrujte bezplatnou zkušební verzi Microsoft Fabricu.
Přihlaste se k Microsoft Fabric.
Pomocí přepínače prostředí na levé straně domovské stránky přepněte na prostředí Synapse Datová Věda.
Vytvořte nový poznámkový blok pro zkopírování nebo vložení kódu do buněk.
Pro Spark 3.4 a vyšší je sémantický odkaz dostupný ve výchozím modulu runtime při použití prostředků infrastruktury a není potřeba ho nainstalovat. V případě Sparku 3.3 nebo novějšího nebo aktualizaci na nejnovější verzi sémantického odkazu spusťte následující příkaz:
%pip install -U semantic-link
Přidejte do poznámkového bloku lakehouse.
Výpis relací v sémantických modelech
Funkce list_relationships
v sempy.fabric
modulu vrátí seznam všech relací nalezených v sémantickém modelu Power BI. Seznam vám pomůže pochopit strukturu dat a způsob propojení různých tabulek a sloupců.
Tato funkce funguje pomocí sémantického odkazu pro poskytování anotovaných datových rámců. Datové rámce obsahují potřebná metadata pro pochopení relací v sémantickém modelu. Anotované datové rámce usnadňují analýzu struktury sémantického modelu a jejich použití v modelech strojového učení nebo v jiných úlohách analýzy dat.
Pokud chcete tuto funkci použít list_relationships
, nejprve modul naimportujete sempy.fabric
. Pak funkci zavoláte pomocí názvu nebo UUID sémantického modelu Power BI, jak je znázorněno v následujícím příkladu:
import sempy.fabric as fabric
fabric.list_relationships("my_dataset")
Předchozí kód volá list_relationships
funkci sémantickým modelem Power BI s názvem my_dataset. Funkce vrátí datový rámec pandas s jedním řádkem na relaci, což vám umožní snadno prozkoumat a analyzovat relace v sémantickém modelu.
Poznámka:
Poznámkový blok, sémantický model datové sady Power BI a lakehouse se dají nacházet ve stejném pracovním prostoru nebo v různých pracovních prostorech. Ve výchozím nastavení se SemPy pokusí o přístup k sémantickému modelu z:
- Pokud jste k poznámkovému bloku připojili lakehouse pracovní prostor jezera.
- Pokud není připojený žádný lakehouse, pracovní prostor poznámkového bloku
Pokud se váš sémantický model nenachází v některém z těchto pracovních prostorů, musíte při volání metody SemPy zadat pracovní prostor sémantického modelu.
Vizualizace relací v sémantických modelech
Tato plot_relationship_metadata
funkce vám pomůže vizualizovat relace v sémantickém modelu, abyste lépe porozuměli struktuře modelu. Tato funkce vytvoří graf, který zobrazuje propojení mezi tabulkami a sloupci. Graf usnadňuje pochopení struktury sémantického modelu a toho, jak různé prvky souvisejí.
Následující příklad ukazuje, jak používat plot_relationship_metadata
funkci:
import sempy.fabric as fabric
from sempy.relationships import plot_relationship_metadata
relationships = fabric.list_relationships("my_dataset")
plot_relationship_metadata(relationships)
V předchozím kódu list_relationships
funkce načte relace v my_dataset sémantickém modelu a plot_relationship_metadata
funkce vytvoří graf pro vizualizaci relací.
Graf můžete přizpůsobit definováním sloupců, které se mají zahrnout, určením způsobu zpracování chybějících klíčů a poskytnutím dalších atributů graphviz .
Ověření relací v sémantických modelech
Teď, když lépe rozumíte relacím v sémantickém modelu, můžete pomocí list_relationship_violations
funkce tyto relace ověřit a identifikovat případné problémy nebo nekonzistence. Tato list_relationship_violations
funkce vám pomůže ověřit obsah tabulek, aby se zajistilo, že odpovídají relacím definovaným v sémantickém modelu.
Pomocí této funkce můžete identifikovat nekonzistence se zadanou násobností relace a řešit případné problémy předtím, než ovlivní analýzu dat nebo modely strojového učení.
Pokud chcete funkci použít list_relationship_violations
, nejprve naimportujte sempy.fabric
modul a načtěte tabulky z sémantického modelu.
Potom zavoláte funkci se slovníkem, který mapuje názvy tabulek na datové rámce s obsahem tabulky.
Následující příklad kódu ukazuje, jak zobrazit seznam porušení vztahů:
import sempy.fabric as fabric
tables = {
"Sales": fabric.read_table("my_dataset", "Sales"),
"Products": fabric.read_table("my_dataset", "Products"),
"Customers": fabric.read_table("my_dataset", "Customers"),
}
fabric.list_relationship_violations(tables)
Předchozí kód volá list_relationship_violations
funkci se slovníkem, který obsahuje tabulky Sales, Products a Customers z my_dataset sémantického modelu. Funkci můžete přizpůsobit nastavením prahové hodnoty pokrytí, určením způsobu zpracování chybějících klíčů a definováním počtu chybějících klíčů, které se mají hlásit.
Funkce vrátí datový rámec pandas s jedním řádkem na porušení vztahu, což vám umožní snadno identifikovat a řešit případné problémy v sémantickém modelu.
Pomocí list_relationship_violations
funkce můžete zajistit, aby byl sémantický model konzistentní a přesný, abyste mohli vytvářet spolehlivější modely strojového učení a získat hlubší přehled o vašich datech.
Hledání relací v datových rámcích pandas
list_relationships
plot_relationships_df
Zatímco funkce a list_relationship_violations
funkce v modulu Fabric jsou výkonné nástroje pro zkoumání relací v sémantických modelech, možná budete muset také zjistit relace v jiných zdrojích dat importovaných jako datové rámce pandas.
To je místo, kde find_relationships
funkce v sempy.relationship
modulu přichází do hry.
Funkce find_relationships
v modulu sempy.relationships
pomáhá datovým vědcům a obchodním analytikům objevovat potenciální vztahy v seznamu datových rámců pandas. Pomocí této funkce můžete identifikovat možná propojení mezi tabulkami a sloupci, což vám umožní lépe porozumět struktuře dat a tomu, jak různé prvky souvisejí.
Následující příklad kódu ukazuje, jak najít relace v datových rámcích pandas:
from sempy.relationships import find_relationships
tables = [df_sales, df_products, df_customers]
find_relationships(tables)
Předchozí kód volá find_relationships
funkci se seznamem tří datových rámců Pandas: df_sales
, df_products
a df_customers
.
Funkce vrátí datový rámec pandas s jedním řádkem na potenciální relaci, což vám umožní snadno prozkoumat a analyzovat relace v rámci vašich dat.
Funkci můžete přizpůsobit zadáním prahové hodnoty pokrytí, prahové hodnoty podobnosti názvu, seznamu relací, které se mají vyloučit, a toho, zda zahrnout relace M:N.
Ověření relací v datových rámcích pandas
Po zjištění potenciálních relací v datových rámcích pandas pomocí find_relationships
funkce můžete tuto funkci použít list_relationship_violations
k ověření těchto relací a identifikaci potenciálních problémů nebo nekonzistence.
Funkce list_relationship_violations
ověří obsah tabulek, aby se zajistilo, že odpovídají zjištěnám relacím. Pomocí této funkce můžete identifikovat nekonzistence se zadanou násobností relací a vyřešit případné problémy dříve, než ovlivní analýzu dat nebo modely strojového učení.
Následující příklad kódu ukazuje, jak najít porušení relací v datových rámcích pandas:
from sempy.relationships import find_relationships, list_relationship_violations
tables = [df_sales, df_products, df_customers]
relationships = find_relationships(tables)
list_relationship_violations(tables, relationships)
Předchozí kód volá list_relationship_violations
funkci se seznamem tří datových rámců pandas, df_sales
, df_products
a , plus df_customers
relace DataFrame z find_relationships
funkce.
Funkce list_relationship_violations
vrátí datový rámec pandas s jedním řádkem na porušení vztahu, což vám umožní snadno identifikovat a řešit případné problémy v datech.
Funkci můžete přizpůsobit nastavením prahové hodnoty pokrytí, určením způsobu zpracování chybějících klíčů a definováním počtu chybějících klíčů, které se mají hlásit.
Pomocí list_relationship_violations
funkce s datovými rámci pandas můžete zajistit, aby vaše data byla konzistentní a přesná, abyste mohli vytvářet spolehlivější modely strojového učení a získat hlubší přehled o vašich datech.