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.
Ez a cikk bemutatja, hogyan készíti elő az AutoML az adatokat a regressziós betanításhoz, és ismerteti a konfigurálható adatbeállításokat. Ezeket a beállításokat az AutoML felhasználói felületén a kísérlet beállítása során módosíthatja.
Ezeknek a beállításoknak az AutoML API-val történő konfigurálásához tekintse meg az AutoML Python API-referenciát.
Támogatott adatfunkció-típusok
Csak az alább felsorolt szolgáltatástípusok támogatottak. A képek például nem támogatottak.
A következő szolgáltatástípusok támogatottak:
- Numerikus (
ByteType,ShortType,IntegerType,LongType,FloatType, ésDoubleType) - logikai
- Sztring (kategorikus vagy angol szöveg)
- Időbélyegek (
TimestampType,DateType) - ArrayType[Numerikus] (Databricks Runtime 10.4 LTS ML és újabb)
- DecimalType (Databricks Runtime 11.3 LTS ML és az annál újabb verziók)
Hiányzó értékek pótlása
A Databricks Runtime 10.4 LTS ML és újabb verziókban megadhatja a null értékek imputálásának módját. A felhasználói felületen válasszon egy módszert az Impute with legördülő listából a táblázat séma oszlopában. Az API-ban használja a paramétert imputers . További információ: AutoML Python API-referencia.
Alapértelmezés szerint az AutoML kiválaszt egy számítási módszert az oszloptípus és a tartalom alapján.
Feljegyzés
Ha nem alapértelmezett számítási módszert ad meg, az AutoML nem végez szemantikai típusészlelést.
oszlop kijelölése
A Databricks Runtime 10.3 ML és újabb verziókban megadhatja, hogy az AutoML mely oszlopokat használja a betanításhoz. Egy oszlop kizárásához a felhasználói felületen, vegye ki a pipát a Belefoglalás oszlopból. Az API-ban használja a paramétert exclude_cols . További információ: AutoML Python API-referencia.
Nem lehet kidobni az oszlopot, amely előrejelzési célként lett kijelölve, vagy időoszlopként az adatok felosztásához.
Alapértelmezés szerint a rendszer minden oszlopot tartalmaz.
Adatok felosztása betanítási, érvényesítési és tesztelési halmazokra
Az AutoML három részre osztja az adatokat a betanításhoz, az ellenőrzéshez és a teszteléshez. Az ML-probléma típusától függően különböző lehetőségek állnak rendelkezésre az adatok felosztására.
Az adatok betanítási, érvényesítési és tesztelési csoportokra oszthatók az alábbi módszerekkel:
(Alapértelmezett) Véletlenszerű felosztás: Ha nincs megadva adatfelosztási stratégia, az adathalmaz véletlenszerűen 60% felosztásra, 20% érvényesítési felosztásra és 20% tesztfelosztásra lesz felosztva. A besoroláshoz a rétegzett véletlenszerű felosztás biztosítja, hogy minden osztály megfelelően jelen legyen a betanítási, ellenőrzési és tesztkészletekben.
Időrendi felosztás: A Databricks Runtime 10.4 LTS ML-ben és az újabb verziókban kiválaszthat egy időoszlopot, amely időrendi tanítási, érvényesítési és tesztelési felosztásokat hoz létre. Az időrendi felosztások a legkorábbi adatpontokat használják a betanításhoz, a következő legkorábbit az ellenőrzéshez, és a legújabb tesztpontokat. Az időoszlop lehet időbélyeg, egész szám vagy sztringoszlop.
Manuális felosztás: A Databricks Runtime 15.3 ML és újabb verzióiban az API használatával manuális felosztást állíthat be. Adjon meg egy felosztott oszlopot, és használja a train, validatevagy test értékeket az adathalmazok betanításához, érvényesítéséhez és teszteléséhez használni kívánt sorok azonosításához. A rendszer figyelmen kívül hagyja a train, testvagy validate ki nem osztott oszlopértékekkel rendelkező sorokat, és riasztást ad ki.
Nagy adathalmazok mintavételezése
Bár az AutoML elosztja a hiperparaméter-finomhangolási kísérleteket a fürt feldolgozó csomópontjai között, minden modell be van tanítva egyetlen feldolgozó csomóponton.
Az AutoML automatikusan megbecsüli az adathalmaz betöltéséhez és betanásához szükséges memóriát, és szükség esetén mintát vesz az adatkészletből.
| Databricks Runtime-verzió | Mintavételezési viselkedés |
|---|---|
| 9.1 LTS ML - 10,4 LTS ML | A mintavételezési tört állandó, és nem függ a fürt csomóponttípusától vagy csomópontonkénti memóriájától. |
| 11.x ML | A mintavételezési törtszám nő azoknál a munkavégző csomópontoknál, amelyek több memóriát tartalmaznak magonként. A minta méretének növelése:
Példa: 4 maggal és 64 GB RAM-mal rendelkező gépen:
|
| 11.3 LTS ML és újabb | Ha az AutoML mintát vesz az adathalmazból, a mintavételezési tört a felhasználói felület Áttekintés lapján jelenik meg. |
| 12.2 LTS ML és újabb | Az AutoML képes kezelni a nagyobb adathalmazokat úgy, hogy betanítási feladatonként több processzormagot allokál. A mintaméret növeléséhez válasszon ki egy nagyobb memóriával rendelkező példányt. |
Besorolási problémák esetén az AutoML a PySpark sampleBymetódust használja a rétegzett mintavételezéshez a célcímke eloszlásának megőrzése érdekében.
Regressziós problémák esetén az AutoML a PySpark samplemetódust használja.
Szemantikai típusészlelés
Feljegyzés
- Az AutoML nem végez szemantikai típusészlelést azon oszlopok esetében, amelyeknél egyéni számítási metódus van megadva.
A Databricks Runtime 9.1 LTS ML és újabb verziók esetén az AutoML megpróbálja észlelni, hogy az oszlopok szemantikai típusa eltér-e a Táblaséma Spark- vagy Pandas-adattípusától. Az AutoML ezeket az oszlopokat észlelt szemantikai típusként kezeli. Ezek az észlelések legjobb próbálkozások, és néha elmulaszthatják felismerni a szemantikai típusok meglétét. Manuálisan is beállíthatja az oszlopok szemantikai típusát, vagy megadhatja az AutoML-nek, hogy ne alkalmazza a szemantikai típusészlelést egy oszlopra széljegyzetekhasználatával.
Az AutoML a következő módosításokat hajtja végre:
- A dátum- vagy időbélyegadatokat képviselő karakterlánc- és egész számoszlopok időbélyegtípusként vannak kezelve.
- A numerikus adatokat ábrázoló sztringoszlopokat numerikus típusként kezeli a rendszer.
A Databricks Runtime 10.1 ML-es és újabb verziója esetén az AutoML a következő módosításokat is végrehajtja:
- A kategorikus azonosítókat tartalmazó numerikus oszlopok kategorikus funkcióként vannak kezelve.
- Az angol szöveget tartalmazó sztringoszlopok szövegfunkcióként lesznek kezelve.
Szemantikai típusú széljegyzetek
A Databricks Runtime 10.1 ML-es és újabb verziója esetén manuálisan szabályozhatja a hozzárendelt szemantikai típust úgy, hogy egy szemantikai típusú széljegyzetet helyez egy oszlopra. A <column-name> oszlop szemantikai típusának kézi <semantic-type>megjelöléséhez használja az alábbi szintaxist:
metadata_dict = df.schema["<column-name>"].metadata
metadata_dict["spark.contentAnnotation.semanticType"] = "<semantic-type>"
df = df.withMetadata("<column-name>", metadata_dict)
<semantic-type> az alábbiak egyike lehet:
-
categorical: Az oszlop kategorikus értékeket tartalmaz (például numerikus értékeket, amelyeket azonosítóként kell kezelni). -
numeric: Az oszlop numerikus értékeket tartalmaz (például számba elemezhető sztringértékeket). -
datetime: Az oszlop időbélyegértékeket tartalmaz (sztring, numerikus vagy dátumértékek, amelyek időbélyegekké alakíthatók). -
text: A sztringoszlop angol szöveget tartalmaz.
Ha le szeretné tiltani a szemantikai típusészlelést egy oszlopon, használja a speciális kulcsszójegyzetet native.