Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel wordt beschreven hoe AutoML gegevens voorbereidt op regressietraining en beschrijft configureerbare gegevensinstellingen. U kunt deze opties aanpassen tijdens het instellen van het experiment in de AutoML-gebruikersinterface.
Raadpleeg de Naslaginformatie over de Python-API voor AutoML voor het configureren van deze instellingen met behulp van de AutoML-API.
Ondersteunde gegevensfunctiestypen
Alleen de hieronder vermelde functietypen worden ondersteund. Afbeeldingen worden bijvoorbeeld niet ondersteund.
De volgende functietypen worden ondersteund:
- Numeriek (
ByteType
,ShortType
,IntegerType
,LongType
,FloatType
, enDoubleType
) - Booleaans
- Tekstreeks (categorische of Engelstalige tekst)
- Tijdstempels (
TimestampType
,DateType
) - ArrayType[Numeriek] (Databricks Runtime 10.4 LTS ML en hoger)
- DecimalType (Databricks Runtime 11.3 LTS ML en hoger)
Ontbrekende waarden invoeren
In Databricks Runtime 10.4 LTS ML en hoger kunt u opgeven hoe null-waarden worden ingevoerd. Selecteer in de gebruikersinterface een methode uit de vervolgkeuzelijst in de kolom Impute met in het tabelschema. Gebruik de imputers
parameter in de API. Zie naslaginformatie over de AutoML Python-API voor meer informatie.
Standaard selecteert AutoML een imputatiemethode op basis van het kolomtype en de inhoud.
Notitie
Als u een niet-standaardimplicatiemethode opgeeft, voert AutoML geen semantische typedetectie uit.
Kolomselectie
In Databricks Runtime 10.3 ML en hoger kunt u opgeven welke kolommen AutoML moet gebruiken voor training. Als u een kolom wilt uitsluiten in de gebruikersinterface, schakelt u deze uit in de kolom Opnemen . Gebruik de exclude_cols
parameter in de API. Zie naslaginformatie over de AutoML Python-API voor meer informatie.
U kunt de geselecteerde kolom niet verwijderen als het voorspellingsdoel of als de tijdkolom om de gegevens te splitsen.
Standaard worden alle kolommen opgenomen.
Gegevens splitsen in trainings-, validatie- en testsets
AutoML splitst uw gegevens in drie splitsingen voor training, validatie en testen. Afhankelijk van het type ML-probleem hebt u verschillende opties voor het splitsen van de gegevens.
Gebruik de volgende methoden om gegevens te verdelen in trainings-, validatie- en testsets:
(Standaard) Willekeurige splitsing: Als er geen strategie voor gegevenssplitsing is opgegeven, wordt de gegevensset willekeurig verdeeld in 60% treinsplitsingen, 20% validatiesplitsingen en 20% testsplitsingen. Voor classificatie zorgt een gelaagde willekeurige splitsing ervoor dat elke klasse voldoende wordt weergegeven in de trainings-, validatie- en testsets.
Chronologische splitsing: In Databricks Runtime 10.4 LTS ML en hoger kunt u een tijdkolom selecteren om chronologische train-, valideer- en testsplitsingen te maken. Chronologische splitsingen gebruiken de vroegste gegevenspunten voor training, de volgende vroegste voor validatie en de laatste punten voor het testen. De tijdkolom kan een tijdstempel, geheel getal of tekenreekskolom zijn.
Handmatig splitsen: in Databricks Runtime 15.3 ML en hoger kunt u de API gebruiken om een handmatige splitsing in te stellen. Geef een gesplitste kolom op en gebruik de waarden train
, validate
of test
om rijen te identificeren die u wilt gebruiken voor het trainen, valideren en testen van gegevenssets. Rijen met andere waarden voor gesplitste kolommen dan train
, test
of validate
worden genegeerd en er wordt een bijbehorende waarschuwing gegenereerd.
Steekproeven maken van grote gegevenssets
Hoewel AutoML hyperparameterafstemmingstests distribueert over de werkknooppunten van een cluster, wordt elk model getraind op één werkknooppunt.
AutoML maakt automatisch een schatting van het geheugen dat nodig is voor het laden en trainen van uw gegevensset en neemt indien nodig een steekproef van de gegevensset.
Databricks Runtime-versie | Gedrag van steekproeven |
---|---|
9.1 LTS ML - 10.4 LTS ML | De steekproeffractie is constant en is niet afhankelijk van het knooppunttype of het geheugen van het cluster per knooppunt. |
11.x ML | De steekproeffractie neemt toe voor werkknooppunten met meer geheugen per kern. Ga als volgende te werk om de steekproefgrootte te vergroten:
Voorbeeld: Op een machine met 4 kernen en 64 GB RAM:
|
11.3 LTS ML en hoger | Als AutoML een steekproef van de gegevensset neemt, wordt de steekproeffractie weergegeven op het tabblad Overzicht in de gebruikersinterface. |
12.2 LTS ML en hoger | AutoML kan grotere gegevenssets verwerken door meer CPU-kernen per trainingstaak toe te wijzen. Vergroot de steekproefgrootte door een exemplaar te selecteren met meer geheugen. |
Voor classificatieproblemen gebruikt AutoML de PySpark-methode sampleBy
voor gelaagde steekproeven om de distributie van het doellabel te behouden.
Voor regressieproblemen gebruikt AutoML de PySpark-methode sample
.
Detectie van semantische typen
Notitie
- AutoML voert geen semantische typedetectie uit voor kolommen waarvoor aangepaste imputatiemethoden zijn opgegeven.
Met Databricks Runtime 9.1 LTS ML en hoger probeert AutoML te detecteren of kolommen een semantisch type hebben dat verschilt van het gegevenstype Spark of pandas in het tabelschema. AutoML behandelt deze kolommen als het gedetecteerde semantische type. Deze detecties worden met de grootste zorg uitgevoerd, maar soms kunnen ze semantische typen over het hoofd zien. U kunt ook handmatig het semantische type van een kolom instellen of AutoML laten weten dat de detectie van semantische typen niet moet worden toegepast op een kolom met behulp van aantekeningen.
AutoML past deze aanpassingen aan:
- Kolommen met tekenreeksen en gehele getallen die datum- of tijdstempelgegevens bevatten, worden behandeld als een tijdstempeltype.
- Kolommen met tekst die numerieke gegevens vertegenwoordigen, worden behandeld als een numeriek type.
Met Databricks Runtime 10.1 ML en hoger voert AutoML ook de volgende aanpassingen aan:
- Numerieke kolommen die categorische id's bevatten, worden behandeld als een categorische functie.
- Tekenreekskolommen die Engelse tekst bevatten, worden behandeld als een tekstkenmerk.
Semantische aantekeningen
Met Databricks Runtime 10.1 ML en hoger kunt u handmatig het toegewezen semantische type beheren door een semantische typeaantekening op een kolom te plaatsen. Als u handmatig aantekeningen wilt maken voor het semantische type van kolom <column-name>
als <semantic-type>
, gebruikt u de volgende syntaxis:
metadata_dict = df.schema["<column-name>"].metadata
metadata_dict["spark.contentAnnotation.semanticType"] = "<semantic-type>"
df = df.withMetadata("<column-name>", metadata_dict)
<semantic-type>
kan een van de volgende zijn:
-
categorical
: De kolom bevat categorische waarden (bijvoorbeeld numerieke waarden die als id's moeten worden behandeld). -
numeric
: De kolom bevat numerieke waarden (bijvoorbeeld tekenreekswaarden die in getallen kunnen worden geparseerd). -
datetime
: De kolom bevat tijdstempelwaarden (tekenreeks, numerieke of datumwaarden die kunnen worden geconverteerd naar tijdstempels). -
text
: De tekstkolom bevat Engelse tekst.
Als u semantische typedetectie voor een kolom wilt uitschakelen, gebruikt u de speciale aantekening native
van trefwoorden.