Udostępnij przez


Eksplorowanie i weryfikowanie relacji w modelach semantycznych i ramkach danych

W tym artykule pokazano, jak używać funkcji linków semantycznych 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 umożliwia modelowanie i wizualizowanie tych struktur i relacji. Aby uzyskać więcej szczegółowych informacji lub tworzyć modele uczenia maszynowego, użyj funkcji linku semantycznego w modułach biblioteki SemPy.

Analitycy danych i analitycy biznesowi używają 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

  • Utwórz nowy notatnik, aby kopiować i wklejać kod do komórek.

  • W przypadku platformy Spark w wersji 3.4 lub nowszej, link semantyczny jest dostępny w domyślnym środowisku uruchomieniowym, gdy korzystasz z platformy Fabric, więc nie musisz go instalować. 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 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 funkcję list_relationships ze schematem semantycznym Power BI o nazwie my_dataset. Funkcja zwraca ramkę danych biblioteki pandas z jednym wierszem dla każdej relacji, dzięki czemu można szybko eksplorować i analizować relacje 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

plot_relationship_metadata Użyj funkcji , aby wizualizować relacje w modelu semantycznym i dowiedzieć się, jak model jest ustrukturyzowany. Ta funkcja tworzy graf pokazujący połączenia między tabelami i kolumnami, co ułatwia sprawdzenie, jak różne elementy są powiązane.

Oto przykład użycia 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 tym przykładzie list_relationships funkcja pobiera relacje w modelu semantycznym my_dataset , a plot_relationship_metadata funkcja tworzy graf pokazujący te relacje.

Dostosuj graf, wybierając kolumny do uwzględnienia, ustawiając sposób obsługi brakujących kluczy i dodając więcej atrybutów graphviz .

Weryfikowanie relacji w modelach semantycznych

list_relationship_violations Użyj funkcji , aby sprawdzić relacje w modelu semantycznym i znaleźć wszelkie problemy lub niespójności. Funkcja list_relationship_violations sprawdza tabele, aby upewnić się, że są one zgodne z relacjami w modelu semantycznym.

Ta funkcja pomaga znaleźć niespójności w wielu relacjach i rozwiązać problemy przed ich wpływem na analizę danych lub modele uczenia maszynowego.

Aby użyć funkcji list_relationship_violations, zaimportuj moduł sempy.fabric i odczytaj tabele z modelu semantycznego. Następnie wywołaj funkcję za pomocą słownika mapowania nazw 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, wybierając sposób obsługi brakujących kluczy i ustawiając liczbę brakujących kluczy do raportowania.

Funkcja zwraca ramkę danych z biblioteki pandas, która zawiera jeden wiersz dla każdego naruszenia relacji, dzięki czemu można szybko znaleźć i rozwiązać problemy w modelu semantycznym. list_relationship_violations Użyj funkcji , aby zachować spójność i dokładność modelu semantycznego, aby tworzyć bardziej niezawodne modele uczenia maszynowego i uzyskiwać lepsze szczegółowe informacje na podstawie danych.

Znajdowanie relacji w ramkach danych biblioteki pandas

Funkcje list_relationships, plot_relationships_dfi list_relationship_violations w module Sieć szkieletowa to zaawansowane narzędzia do eksplorowania relacji w modelach semantycznych. Czasami trzeba znaleźć relacje w innych źródłach danych, takich jak ramki danych Pandas.

Użyj funkcji find_relationships w module sempy.relationship, aby znaleźć relacje w ramkach danych pandas.

Funkcja find_relationships w module sempy.relationships umożliwia analitykom biznesowym i analitykom danych znajdowanie potencjalnych relacji na liście ram danych biblioteki pandas. Ta funkcja pomaga wykrywać połączenia między tabelami i kolumnami, dzięki czemu dowiesz się więcej o danych i sposobie ich powiązania.

Oto, jak znaleźć relacje w ramkach danych 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 pandas z jednym wierszem dla każdej potencjalnej relacji, co pozwala na eksplorację i analizę relacji w danych.

Dostosuj funkcję, ustawiając próg pokrycia, próg podobieństwa nazwy, listę relacji do wykluczenia oraz określając, czy należy uwzględnić relacje wiele-do-wielu.

Weryfikowanie relacji w ramkach danych biblioteki pandas

Po znalezieniu potencjalnych relacji w ramkach danych biblioteki pandas przy użyciu funkcji find_relationships, użyj funkcji list_relationship_violations aby zweryfikować te relacje i zidentyfikować wszelkie problemy lub niespójności.

Funkcja list_relationship_violations sprawdza tabele, aby upewnić się, że są one zgodne z odnalezionymi relacjami. Ta funkcja służy do znajdowania niespójności z określoną liczebnością relacji, dzięki czemu można rozwiązać problemy przed ich wpływem na analizę danych lub modele uczenia maszynowego.

Oto przykład, który pokazuje, jak znaleźć naruszenia zależności w DataFrame'ach 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)

Przykład wywołuje funkcję list_relationship_violations z trzema ramkami danych biblioteki pandas: df_sales, df_products, i df_customers, wraz z obiektem DataFrame relacji z funkcji find_relationships. Funkcja list_relationship_violations zwraca ramkę danych pandas z jednym wierszem dla każdego naruszenia relacji, dzięki czemu można szybko znaleźć i rozwiązać wszelkie problemy w danych.

Dostosuj funkcję, ustawiając próg pokrycia, wybierając sposób obsługi brakujących kluczy i definiując liczbę brakujących kluczy do raportowania.

list_relationship_violations Użyj funkcji z ramkami danych biblioteki pandas, aby zapewnić spójność i dokładność danych. Ułatwia to tworzenie niezawodnych modeli uczenia maszynowego i uzyskiwanie szczegółowych informacji z danych.