Udostępnij za pośrednictwem


Eksplorowanie i weryfikowanie relacji w modelach semantycznych i ramkach danych

Z tego artykułu dowiesz się, jak używać funkcji linku semantycznego SemPy w celu odnajdywania i weryfikowania relacji w semantycznych modelach usługi Power BI i ramkach danych biblioteki pandas.

W nauce o danych i uczeniu maszynowym ważne jest zrozumienie struktury i relacji w danych. Usługa Power BI to zaawansowane narzędzie, które umożliwia modelowanie i wizualizowanie tych struktur i relacji. Aby uzyskać więcej szczegółowych informacji lub tworzyć modele uczenia maszynowego, możesz dokładniej poznać funkcje linku semantycznego w modułach biblioteki SemPy.

Analitycy danych i analitycy biznesowi mogą używać funkcji SemPy do wyświetlania, wizualizowania i weryfikowania relacji w modelach semantycznych usługi Power BI lub znajdowania i weryfikowania relacji w ramkach danych biblioteki pandas.

Wymagania wstępne

  • Uzyskaj subskrypcję usługi Microsoft Fabric. Możesz też utworzyć konto bezpłatnej wersji próbnej usługi Microsoft Fabric.

  • Zaloguj się do usługi Microsoft Fabric.

  • Użyj przełącznika środowiska po lewej stronie głównej, aby przełączyć się na środowisko usługi Synapse Nauka o danych.

    Zrzut ekranu przedstawiający menu przełącznika środowiska pokazujące, gdzie wybrać Nauka o danych.

  • Utwórz nowy notes , aby skopiować/wkleić kod do komórek.

  • W przypadku platformy Spark w wersji 3.4 lub nowszej link semantyczny jest dostępny w domyślnym środowisku uruchomieniowym podczas korzystania z sieci szkieletowej i nie ma potrzeby jej instalowania. W przypadku platformy Spark 3.3 lub nowszej albo zaktualizowania do najnowszej wersji linku semantycznego uruchom następujące polecenie:

    %pip install -U semantic-link
    
  • Dodaj magazyn lakehouse do notesu.

Wyświetlanie listy relacji w modelach semantycznych

Funkcja list_relationships w sempy.fabric module zwraca listę wszystkich relacji znalezionych w modelu semantycznym usługi Power BI. Lista ułatwia zrozumienie struktury danych oraz sposobu łączenia różnych tabel i kolumn.

Ta funkcja działa przy użyciu linku semantycznego w celu zapewnienia adnotacji ramek danych. Ramki danych zawierają metadane niezbędne do zrozumienia relacji w modelu semantycznym. Anotowane ramki danych ułatwiają analizowanie struktury semantycznego modelu i używanie ich w modelach uczenia maszynowego lub innych zadaniach analizy danych.

Aby użyć list_relationships funkcji, należy najpierw zaimportować sempy.fabric moduł. Następnie wywołasz funkcję przy użyciu nazwy lub identyfikatora UUID modelu semantycznego usługi Power BI, jak pokazano w poniższym przykładzie:

import sempy.fabric as fabric

fabric.list_relationships("my_dataset")

Powyższy kod wywołuje list_relationships funkcję z semantycznym modelem usługi Power BI o nazwie my_dataset. Funkcja zwraca ramkę danych biblioteki pandas z jednym wierszem na relację, umożliwiając łatwe eksplorowanie i analizowanie relacji w modelu semantycznym.

Uwaga

Notes, semantyczny model zestawu danych usługi Power BI i usługa Lakehouse mogą znajdować się w tym samym obszarze roboczym lub w różnych obszarach roboczych. Domyślnie program SemPy próbuje uzyskać dostęp do modelu semantycznego z:

  • Obszar roboczy lakehouse, jeśli do notesu dołączono magazyn lakehouse.
  • Obszar roboczy notesu, jeśli nie ma dołączonego magazynu lakehouse.

Jeśli model semantyczny nie znajduje się w jednym z tych obszarów roboczych, podczas wywoływania metody SemPy należy określić obszar roboczy modelu semantycznego.

Wizualizowanie relacji w modelach semantycznych

Funkcja plot_relationship_metadata ułatwia wizualizowanie relacji w modelu semantycznym, dzięki czemu można lepiej zrozumieć strukturę modelu. Ta funkcja tworzy graf, który wyświetla połączenia między tabelami i kolumnami. Wykres ułatwia zrozumienie struktury semantycznego modelu i sposobu, w jaki są powiązane różne elementy.

W poniższym przykładzie pokazano, jak używać plot_relationship_metadata funkcji:

import sempy.fabric as fabric
from sempy.relationships import plot_relationship_metadata

relationships = fabric.list_relationships("my_dataset")
plot_relationship_metadata(relationships)

W poprzednim kodzie list_relationships funkcja pobiera relacje w modelu semantycznym my_dataset , a plot_relationship_metadata funkcja tworzy graf w celu wizualizacji relacji.

Wykres można dostosować, definiując kolumny do uwzględnienia, określając sposób obsługi brakujących kluczy i zapewniając więcej atrybutów graphviz .

Weryfikowanie relacji w modelach semantycznych

Teraz, gdy masz lepsze zrozumienie relacji w modelu semantycznym, możesz użyć list_relationship_violations funkcji do zweryfikowania tych relacji i zidentyfikowania potencjalnych problemów lub niespójności. Funkcja list_relationship_violations pomaga zweryfikować zawartość tabel, aby upewnić się, że są one zgodne z relacjami zdefiniowanymi w modelu semantycznym.

Korzystając z tej funkcji, można zidentyfikować niespójności z określoną liczebnością relacji i rozwiązać wszelkie problemy przed ich wpływem na analizę danych lub modele uczenia maszynowego.

Aby użyć funkcji, najpierw zaimportuj list_relationship_violations sempy.fabric moduł i odczytaj tabele z modelu semantycznego. Następnie wywołasz funkcję ze słownikiem, który mapuje nazwy tabel na ramki danych z zawartością tabeli.

Poniższy przykładowy kod pokazuje, jak wyświetlić listę naruszeń relacji:

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)

Powyższy kod wywołuje list_relationship_violations funkcję ze słownikiem zawierającym tabele Sales, Products i Customers z modelu semantycznego my_dataset. Funkcję można dostosować, ustawiając próg pokrycia, określając sposób obsługi brakujących kluczy i definiując liczbę brakujących kluczy do raportowania.

Funkcja zwraca ramkę danych pandas z jednym wierszem na naruszenie relacji, co umożliwia łatwe identyfikowanie i rozwiązywanie wszelkich problemów w modelu semantycznym. Korzystając z list_relationship_violations funkcji, możesz upewnić się, że model semantyczny jest spójny i dokładny, co umożliwia tworzenie bardziej niezawodnych modeli uczenia maszynowego i uzyskiwanie dokładniejszego wglądu w dane.

Znajdowanie relacji w ramkach danych biblioteki pandas

Chociaż funkcje i list_relationship_violations w module Sieć szkieletowa list_relationshipsplot_relationships_df są zaawansowanymi narzędziami do eksplorowania relacji w modelach semantycznych, może być również konieczne odnajdywanie relacji w innych źródłach danych zaimportowanych jako ramki danych pandas.

Jest to miejsce, w którym find_relationships funkcja w sempy.relationship module wchodzi w grę.

Funkcja find_relationships w sempy.relationships module ułatwia analitykom danych i analitykom biznesowym odnajdywanie potencjalnych relacji na liście ramek danych biblioteki pandas. Korzystając z tej funkcji, można zidentyfikować możliwe połączenia między tabelami i kolumnami, co pozwala lepiej zrozumieć strukturę danych i sposób, w jaki są powiązane różne elementy.

Poniższy przykładowy kod pokazuje, jak znaleźć relacje w ramkach danych biblioteki pandas:

from sempy.relationships import find_relationships

tables = [df_sales, df_products, df_customers]

find_relationships(tables)

Powyższy kod wywołuje find_relationships funkcję z listą trzech ramek danych Biblioteki Pandas: df_sales, df_productsi df_customers. Funkcja zwraca ramkę danych biblioteki pandas z jednym wierszem na potencjalną relację, umożliwiając łatwe eksplorowanie i analizowanie relacji w danych.

Funkcję można dostosować, określając próg pokrycia, próg podobieństwa nazwy, listę relacji do wykluczenia i czy należy uwzględnić relacje wiele-do-wielu.

Weryfikowanie relacji w ramkach danych biblioteki pandas

Po odnalezieniu find_relationships potencjalnych relacji w ramkach danych biblioteki pandas przy użyciu funkcji można użyć list_relationship_violations tej funkcji, aby zweryfikować te relacje i zidentyfikować potencjalne problemy lub niespójności.

Funkcja list_relationship_violations weryfikuje zawartość tabel, aby upewnić się, że są one zgodne z odnalezionymi relacjami. Korzystając z tej funkcji do identyfikowania niespójności z określoną liczebnością relacji, można rozwiązać wszelkie problemy, zanim będą miały wpływ na analizę danych lub modele uczenia maszynowego.

Poniższy przykładowy kod pokazuje, jak znaleźć naruszenia relacji w ramkach danych biblioteki 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)

Powyższy kod wywołuje list_relationship_violations funkcję z listą trzech ramek danych pandas, df_sales, df_productsi df_customers, oraz relacje DataFrame z find_relationships funkcji . Funkcja list_relationship_violations zwraca ramkę danych biblioteki pandas z jednym wierszem na naruszenie relacji, co pozwala łatwo identyfikować i rozwiązywać wszelkie problemy w danych.

Funkcję można dostosować, ustawiając próg pokrycia, określając sposób obsługi brakujących kluczy i definiując liczbę brakujących kluczy do raportowania.

Korzystając z list_relationship_violations funkcji z ramkami danych biblioteki pandas, możesz zapewnić spójność i dokładność danych, umożliwiając tworzenie bardziej niezawodnych modeli uczenia maszynowego i uzyskiwanie bardziej szczegółowych informacji na temat danych.