Příprava dat před generováním předpovědí

Dokončeno

Při každém použití modelu na nová data je nejdůležitější zajistit, aby schéma vstupních dat odpovídalo očekáváním vstupních dat modelu.

Konkrétně je potřeba ověřit, že datové typy vstupních sloupců jsou stejné jako definované v podpisu modelu. Nejprve získáme data, na která chcete generovat předpovědi.

Práce s daty v tabulkách Delta

Pokud chcete použít model na nová data v Microsoft Fabric, měli byste nová data uložit jako tabulku Delta do jezera.

Tip

Přečtěte si další informace o příjmu dat do Microsoft Fabric Lakehouse.

Datový rámec df PySpark můžete uložit jako delta lake new_table v lakehouse pomocí následujícího kódu:

df.write.format("delta").save(f"Tables/new_table")

Pokud chcete číst data z tabulky Delta, můžete použít následující kód:

df = spark.read.format("delta").load(f"Tables/new_table")

Principy datových typů v podpisu modelu

Při sledování modelu strojového učení a definování podpisu v MLmodel souboru máte dvě možnosti popisovat očekávané vstupy a výstupy modelu. Podpis modelu může být:

  • Založené na sloupcích – ideální pro tabulková data uspořádaná podle sloupců.
  • Založený na Tensoru – ideální pro vstupní data, která chcete předat jako pole, jako jsou obrázky.

V Microsoft Fabric pravděpodobně pracujete s tabulkovými daty, což je důvod, proč je častější pracovat s podpisy založenými na sloupcích. Podpisy založené na sloupcích usnadňují zarovnání skutečných vstupních sloupců s očekávanými vstupními sloupci modelu.

Když definujete podpis modelu, musíte k určení schématu dat použít datové typy MLflow. Nejčastěji používané datové typy jsou:

  • Logická hodnota: Logická data (TrueneboFalse)
  • Datetime: 64b datetime data (například 2023-10-23 14:30:00).
  • Double: 64b čísla s plovoucí desetinou čárkou (například 3.14159265359).
  • Float: 32b čísla s plovoucí desetinou čárkou (například 3.14).
  • Celé číslo: 32b celočíselná čísla (například 42).
  • Long: 64b signed integer numbers (například 1234567890).
  • Řetězec: Textová data (například Amsterdam).

Nastavení datových typů vstupních dat

Po ingestování dat do Delta Lake a pochopení podpisu modelu je potřeba zajistit, aby datové typy dat byly kompatibilní s očekávaným vstupem modelu.

S daty v poznámkovém bloku můžete pracovat a ověřit, jestli jsou datové typy jednotlivých sloupců podle očekávání, a v případě potřeby provádět změny.

Pokud chcete zobrazit seznam datových typů jednotlivých sloupců datového rámce df, použijte následující kód:

df.dtypes

Pokud chcete změnit datový typ konkrétního sloupce, můžete použít následující kód:

from pyspark.sql.types import IntegerType, DoubleType

df = df.withColumn("S1", df["S1"].cast(IntegerType()))
df = df.withColumn("S2", df["S2"].cast(DoubleType()))

Když nastavíte datové typy vstupních dat tak, aby odpovídaly očekávaným vstupům modelu, můžete je uložit do nové tabulky Delta. Nová tabulka je teď připravená k vygenerování dávkových předpovědí.