Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A funkcionális függőségek egy tábla oszlopai közötti kapcsolatok, ahol az egyik oszlop értékei határozzák meg a másik oszlop értékeit. Ezeknek a függőségeknek a megértése segíthet feltárni az adatok mintáit és kapcsolatait. Ez a megértés segíthet a funkciófejlesztésben, az adattisztításban és a modellkészítési feladatokban. A funkcionális függőségek hatékony invariánsként működnek, amely segít megtalálni és kijavítani az egyébként nehezen észlelhető adatminőségi problémákat.
Ebben a cikkben szemantikai hivatkozást használ a következőhöz:
- A FabricDataFrame oszlopai közötti függőségek keresése
- Függőségek vizualizálása
- Adatminőségi problémák azonosítása
- Adatminőségi problémák vizualizációja
- Funkcionális korlátozások kikényszerítése egy adathalmaz oszlopai között
Előfeltételek
Szerezzen be egy Microsoft Fabric előfizetést. Vagy regisztráljon egy ingyenes Microsoft Fabric próbaverzióra.
Jelentkezzen be a Microsoft Fabric.
Váltson Fabricre a kezdőlap bal alsó részén található élménykapcsolóval.
- Lépjen a Microsoft Fabric található adatelemzési felületre.
- Hozzon létre egy új jegyzetfüzetet , amellyel kódot másolhat és beilleszthet a cellákba.
- A Spark 3.4-hez és újabb verziókhoz a Szemantikus hivatkozás az alapértelmezett futtatókörnyezetben érhető el a Fabric használatakor, és nincs szükség a telepítésre. Ha a Spark 3.3-at vagy az alábbi verziót használja, vagy a Szemantic Link legújabb verziójára szeretne frissíteni, futtassa a parancsot:
python %pip install -U semantic-link - Vegyen fel egy Lakehouse-t a jegyzetfüzetbe.
A szemantikai hivatkozás az alapértelmezett Háló futtatókörnyezetben érhető el. A szemantikai hivatkozás legújabb verziójára való frissítéshez futtassa a következő parancsot:
%pip install -U semantic-link
Funkcionális függőségek keresése az adatokban
A SemPy find_dependencies függvény a FabricDataFrame oszlopai közötti funkcionális függőségeket észleli. A függvény a feltételes entrópia küszöbértékével észleli a hozzávetőleges funkcionális függőségeket, ahol az alacsony feltételes entrópia erős függőséget jelez az oszlopok között. A függvény szelektívebbé tétele find_dependencies érdekében állítson be alacsonyabb küszöbértéket a feltételes entrópiára. Az alacsonyabb küszöbérték azt jelenti, hogy csak erősebb függőségek észlelhetők.
Ez a Python kódrészlet a find_dependencies használatát mutatja be:
from sempy.fabric import FabricDataFrame
from sempy.dependencies import plot_dependency_metadata
import pandas as pd
df = FabricDataFrame(pd.read_csv("your_data.csv"))
deps = df.find_dependencies()
A find_dependencies függvény egy FabricDataFrame-et ad vissza az oszlopok közötti észlelt függőségekkel.
A lista 1:1 leképezéssel rendelkező oszlopokat jelöl. A függvény eltávolítja a tranzitív éleket is, hogy megpróbálja megszüntetni a lehetséges függőségeket.
A beállítás megadásakor dropna=True a függvény eltávolítja azokat a sorokat, amelyek egyik oszlopában NaN-értékkel rendelkeznek a kiértékelésből. Ez az elimináció nem tranzitív függőségeket eredményezhet, ahogy az alábbi példában is látható:
| Egy | B | C |
|---|---|---|
| 1 | 1 | 1 |
| 1 | 1 | 1 |
| 1 | NaN | 9 |
| 2 | NaN | 2 |
| 2 | 2 | 2 |
Bizonyos esetekben a függőségi lánc ciklusokat alakíthat ki a dropna=True beállítás megadásakor, ahogyan az alábbi példában látható:
| Egy | B | C |
|---|---|---|
| 1 | 1 | NaN |
| 2 | 1 | NaN |
| NaN | 1 | 1 |
| NaN | 2 | 1 |
| 1 | NaN | 1 |
| 1 | NaN | 2 |
Függőségek vizualizációja az adatokban
Miután funkcionális függőségeket talált egy adathalmazban a használatával find_dependencies, a függvény használatával vizualizálhatja a plot_dependency_metadata függőségeket. Ez a függvény az eredményként kapott FabricDataFrame-et használja, find_dependencies és vizuálisan ábrázolja az oszlopok és oszlopcsoportok közötti függőségeket.
Ez a Python kódrészlet a plot_dependencies használatát mutatja be:
from sempy.fabric import FabricDataFrame
from sempy.dependencies import plot_dependency_metadata
from sempy.samples import download_synthea
import pandas as pd
download_synthea(which='small')
df = FabricDataFrame(pd.read_csv("synthea/csv/providers.csv"))
deps = df.find_dependencies()
plot_dependency_metadata(deps)
A plot_dependency_metadata függvény létrehoz egy vizualizációt, amely az oszlopok 1:1 csoportosítását jeleníti meg. Az egyetlen csoporthoz tartozó oszlopok egyetlen cellába kerülnek. Ha a függvény nem talál megfelelő jelölteket, üres FabricDataFrame-et ad vissza.
Adatminőségi problémák azonosítása
Az adatminőségi problémák számos formát ölthetnek, például hiányzó értékeket, inkonzisztenciákat vagy pontatlanságokat. Az adatokra épülő elemzések vagy modellek megbízhatóságának és érvényességének biztosítása érdekében fontos azonosítani és kezelni ezeket a problémákat. Az adatminőségi problémák észlelésének egyik módja az adathalmaz oszlopai közötti funkcionális függőségek megsértésének vizsgálata.
A list_dependency_violations függvény segíthet megtalálni az adathalmazoszlopok közötti funkcionális függőségek megsértését. Ha determináns oszlopot és függő oszlopot ad meg, a függvény olyan értékeket jelenít meg, amelyek megsértik a funkcionális függőséget, valamint a hozzájuk tartozó előfordulások számát. Ezek az információk segíthetnek a hozzávetőleges függőségek vizsgálatában és az adatminőségi problémák azonosításában.
A függvény használatát list_dependency_violations az alábbi kódrészlet mutatja be:
from sempy.fabric import FabricDataFrame
from sempy.samples import download_synthea
import pandas as pd
download_synthea(which='small')
df = FabricDataFrame(pd.read_csv("synthea/csv/providers.csv"))
violations = df.list_dependency_violations(determinant_col="ZIP", dependent_col="CITY")
Ebben a példában a függvény funkcionális függőséget feltételez a ZIP (determináns) és a CITY (függő) oszlopok között. Ha az adathalmaz adatminőségi problémái vannak – például ugyanaz az irányítószám több városhoz van hozzárendelve –, a függvény a következő problémákkal adja ki az adatokat:
| ZIP | VÁROS | számláló |
|---|---|---|
| 12345 | Boston | 2 |
| 12345 | Seattle | 1 |
Ez a kimenet azt jelzi, hogy két különböző város (Boston és Seattle) ugyanazt az irányítószámot (12345) tartalmazza. Ez az eredmény adatminőségi problémát jelez az adathalmazon belül.
A list_dependency_violations függvény további lehetőségeket biztosít a hiányzó értékek kezelésére, az értékek megsértésére leképezett értékek megjelenítésére, a visszaadott szabálysértések számának korlátozására, valamint az eredmények szám vagy determináns oszlop szerinti rendezésére.
A list_dependency_violations kimenet segíthet azonosítani az adathalmaz adatminőségével kapcsolatos problémákat. Azonban gondosan meg kell vizsgálnia az eredményeket, és figyelembe kell vennie az adatok kontextusát, hogy meghatározza az azonosított problémák megoldásához legmegfelelőbb lépéseket. Ez a megközelítés több adattisztítást, érvényesítést vagy feltárást is magában foglalhat az elemzés vagy modell megbízhatóságának és érvényességének biztosítása érdekében.
Adatminőségi problémák vizualizációja
Az adatminőségi problémák károsíthatják az adatokra épülő elemzések vagy modellek megbízhatóságát és érvényességét. Ezeknek a problémáknak a azonosítása és kezelése fontos az eredmények pontosságának biztosítása érdekében. Az adatminőségi problémák észleléséhez vizsgálja meg az adathalmaz oszlopai közötti funkcionális függőségek megsértését. Ezeknek a szabálysértéseknek a vizualizációja jobban megjelenítheti a problémákat, és hatékonyabban kezelheti őket.
A plot_dependency_violations függvény segíthet megjeleníteni az adathalmaz oszlopai közötti funkcionális függőségek megsértését. A determináns oszlop és a függő oszlop alapján ez a függvény grafikus formátumban jeleníti meg a szabálysértő értékeket, hogy könnyebben megérthesse az adatminőségi problémák természetét és mértékét.
Ez a kódrészlet a plot_dependency_violations függvény használatát mutatja be:
from sempy.fabric import FabricDataFrame
from sempy.samples import download_synthea
import pandas as pd
download_synthea(which='small')
df = FabricDataFrame(pd.read_csv("synthea/csv/providers.csv"))
df.plot_dependency_violations(determinant_col="ZIP", dependent_col="CITY")
Ebben a példában a függvény egy meglévő funkcionális függőséget feltételez a ZIP (determináns) és a CITY (függő) oszlopok között. Ha az adathalmaz adatminőségi problémái vannak – például ugyanaz az irányítószám több városhoz van hozzárendelve –, a függvény létrehoz egy grafikont a megsértő értékekről.
A plot_dependency_violations függvény további lehetőségeket biztosít a hiányzó értékek kezelésére, az értékek megsértésére leképezett értékek megjelenítésére, a visszaadott szabálysértések számának korlátozására, valamint az eredmények szám vagy determináns oszlop szerinti rendezésére.
A plot_dependency_violations függvény létrehoz egy vizualizációt, amely segít azonosítani az adathalmaz adatminőségi problémáit. Azonban gondosan meg kell vizsgálnia az eredményeket, és figyelembe kell vennie az adatok kontextusát, hogy meghatározza az azonosított problémák megoldásához legmegfelelőbb lépéseket. Ez a megközelítés több adattisztítást, érvényesítést vagy feltárást is magában foglalhat az elemzés vagy modell megbízhatóságának és érvényességének biztosítása érdekében.
Funkcionális korlátozások kényszerítése
Az adatminőség elengedhetetlen az adathalmazra épülő elemzések vagy modellek megbízhatóságának és érvényességének biztosításához. Az adathalmaz oszlopai közötti funkcionális korlátozások érvényesítése javíthatja az adatminőséget. A funkcionális korlátozások biztosítják, hogy az oszlopok közötti kapcsolatok pontossága és konzisztenciája legyen, ami pontosabb elemzéshez vagy modelleredményekhez vezethet.
A drop_dependency_violations függvény az adathalmaz oszlopai közötti funkcionális korlátozásokat kényszeríti ki. Eltávolítja azokat a sorokat, amelyek megsértik az adott korlátozást. A determináns oszlop és a függő oszlop miatt ez a függvény eltávolítja a két oszlop közötti funkcionális kényszernek nem megfelelő értékekkel rendelkező sorokat.
Ez a kódrészlet megmutatja, hogyan lehet használni a drop_dependency_violations függvényt.
from sempy.fabric import FabricDataFrame
from sempy.samples import download_synthea
import pandas as pd
download_synthea(which='small')
df = FabricDataFrame(pd.read_csv("synthea/csv/providers.csv"))
cleaned_df = df.drop_dependency_violations(determinant_col="ZIP", dependent_col="CITY")
Ebben a példában a függvény funkcionális kényszert kényszerít ki a ZIP (determináns) és a CITY (függő) oszlopok között. A determináns minden egyes értékéhez a függvény kiválasztja a függő oszlop leggyakoribb értékét, és az összes sort más értékekkel együtt elveti. Ebben az adatkészletben például a CITY=Seattle sor el lesz ejtve, és a ZIP –> CITY funkcionális függőség a kimenetben marad:
| ZIP | VÁROS |
|---|---|
| 12345 | Seattle |
| 12345 | Boston |
| 12345 | Boston |
| 98765 | Baltimore |
| 00000 | San Francisco |
drop_dependency_violations függvény lehetőséget ad a verbose kimenet részletességének szabályozására. A beállítással verbose=1láthatja az eldobott sorok számát. Egy verbose=2 érték az eldobott sorok teljes sortartalmát jeleníti meg.
A drop_dependency_violations függvény funkcionális korlátozásokat kényszeríthet ki az adathalmaz oszlopai között, ami javíthatja az adatminőséget, és pontosabb eredményeket eredményezhet az elemzésben vagy a modellben. Azonban gondosan vegye figyelembe az adatok kontextusát és a kényszerítendő funkcionális korlátozásokat, hogy ne távolítson el véletlenül értékes információkat az adathalmazból.