FeaturizationConfig Osztály

Az Azure Machine Learning automatizált gépi tanulási kísérleteinek funkciótervezési konfigurációját határozza meg.

Használja a FeaturizationConfig osztályt az featurizationAutoMLConfig osztály paraméterében. További információ: Automatizált gépi tanulási kísérletek konfigurálása.

Hozzon létre egy FeaturizationConfig elemet.

Öröklődés
builtins.object
FeaturizationConfig

Konstruktor

FeaturizationConfig(blocked_transformers: List[str] | None = None, column_purposes: Dict[str, str] | None = None, transformer_params: Dict[str, List[Tuple[List[str], Dict[str, Any]]]] | None = None, drop_columns: List[str] | None = None, dataset_language: str | None = None, prediction_transform_type: str | None = None)

Paraméterek

blocked_transformers
list(str)
alapértelmezett érték: None

A featurizálás során letiltandó transzformátornevek listája.

column_purposes
dict
alapértelmezett érték: None

Az oszlopnevek és szolgáltatástípusok szótára az oszlop céljának frissítéséhez.

transformer_params
dict
alapértelmezett érték: None

A transzformátor szótára és a hozzá tartozó testreszabási paraméterek.

drop_columns
list(str)
alapértelmezett érték: None

A featurizálási folyamat során figyelmen kívül hagyandó oszlopok listája. Ez a beállítás elavult. Mielőtt az adathalmazokat az AutoML-nek adja meg, az adathalmazok az adathalmazok előkészítése során elvetik az oszlopokat az adathalmazokból.

prediction_transform_type
str
alapértelmezett érték: None

A céloszlop típusának leadásához használandó céltranszformálási strukt.

blocked_transformers
list(str)
Kötelező

A featurizálás során letiltandó transzformátornevek listája.

column_purposes
dict
Kötelező

Az oszlopnevek és szolgáltatástípusok szótára az oszlop céljának frissítéséhez.

transformer_params
dict
Kötelező

A transzformátor szótára és a hozzá tartozó testreszabási paraméterek.

drop_columns
list(str)
Kötelező

A featurizálási folyamat során figyelmen kívül hagyandó oszlopok listája. Ez a beállítás elavult. Mielőtt az adathalmazokat az AutoML-nek adja meg, az adathalmazok az adathalmazok előkészítése során elvetik az oszlopokat az adathalmazokból.

dataset_language
str
alapértelmezett érték: None

Három karakteres ISO 639-3 kód az adathalmazban található nyelv(ek)hez. Az angoltól eltérő nyelvek csak AKKOR támogatottak, ha GPU-kompatibilis számítást használ. Ha az adatkészlet több nyelvet tartalmaz, a "mul" langugage_code kell használni. A különböző nyelvek ISO 639-3 kódjainak megkereséséhez tekintse meg a következőt https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes: .

prediction_transform_type
str
Kötelező

A céloszlop típusának leadásához használandó céltranszformálási strukt.

Megjegyzések

A featurization testreszabása olyan módszerekkel rendelkezik, amelyek lehetővé teszik a következő lehetőségeket:

  • Oszlop céljának hozzáadása vagy eltávolítása. A és remove_column_purpose metódusokkal add_column_purpose felülbírálhatja a megadott oszlopok funkciótípusát, például ha az oszlop funkciótípusa nem tükrözi megfelelően a célját. Az add metódus támogatja az osztály FULL_SET attribútumában megadott összes funkciótípus hozzáadását FeatureType .

  • Transzformátorparaméterek hozzáadása vagy eltávolítása. A és remove_transformer_params metódusokkal add_transformer_params módosíthatja a testre szabható transzformátorok paramétereit, például az Imputer, a HashOneHotEncoder és a TfIdf paramétereket. A testre szabható transzformátorok az SupportedTransformers osztály CUSTOMIZABLE_TRANSFORMERS attribútumban találhatók. get_transformer_params A használatával megkereshet testreszabási paramétereket.

  • Transzformátorok blokkolása. Tiltsa le a módszerrel a featurizálási folyamathoz használni kívánt transzformátorokat add_blocked_transformers . A transzformátoroknak a BLOCKED_TRANSFORMERS osztály attribútumában SupportedTransformers felsorolt transzformátorok egyikének kell lenniük.

  • Adjon hozzá egy elvetési oszlopot, amely figyelmen kívül hagyja a metódussal való featurizálást és betanítást add_drop_columns . Elvethet például egy olyan oszlopot, amely nem tartalmaz hasznos információkat.

  • Előrejelzési átalakítási típus hozzáadása vagy eltávolítása. És add_prediction_transform_type

remove_prediction_transform_type metódusok felülbírálhatják a meglévő céloszloptípust. Az előrejelzési átalakítási típusok szerepelnek az PredictionTransformTypes attribútumban.

Az alábbi példakód bemutatja, hogyan szabhatja testre a featurizációt az automatizált gépi tanulásban az előrejelzéshez. A példakódban megjelenik egy oszlop elvetése és az átalakítási paraméterek hozzáadása.


   featurization_config = FeaturizationConfig()
   # Force the CPWVOL5 feature to be numeric type.
   featurization_config.add_column_purpose("CPWVOL5", "Numeric")
   # Fill missing values in the target column, Quantity, with zeros.
   featurization_config.add_transformer_params(
       "Imputer", ["Quantity"], {"strategy": "constant", "fill_value": 0}
   )
   # Fill missing values in the INCOME column with median value.
   featurization_config.add_transformer_params(
       "Imputer", ["INCOME"], {"strategy": "median"}
   )
   # Fill missing values in the Price column with forward fill (last value carried forward).
   featurization_config.add_transformer_params("Imputer", ["Price"], {"strategy": "ffill"})

A teljes minta a következő forrásból érhető el: https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/forecasting-orange-juice-sales/auto-ml-forecasting-orange-juice-sales.ipynb

A következő példa egy regressziós probléma featurizációjának testreszabását mutatja be a Hardverteljesítmény-adatkészlet használatával. A példakódban egy blokkolt transzformátor van definiálva, oszlopcélok lesznek hozzáadva, és transzformátorparaméterek lesznek hozzáadva.


   featurization_config = FeaturizationConfig()
   featurization_config.blocked_transformers = ["LabelEncoder"]
   # featurization_config.drop_columns = ['MMIN']
   featurization_config.add_column_purpose("MYCT", "Numeric")
   featurization_config.add_column_purpose("VendorName", "CategoricalHash")
   # default strategy mean, add transformer param for for 3 columns
   featurization_config.add_transformer_params("Imputer", ["CACH"], {"strategy": "median"})
   featurization_config.add_transformer_params(
       "Imputer", ["CHMIN"], {"strategy": "median"}
   )
   featurization_config.add_transformer_params(
       "Imputer", ["PRP"], {"strategy": "most_frequent"}
   )
   # featurization_config.add_transformer_params('HashOneHotEncoder', [], {"number_of_bits": 3})

A teljes minta a következő forrásból érhető el: https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/regression-explanation-featurization/auto-ml-regression-explanation-featurization.ipynb

A fenti kód példában definiált FeaturizationConfig ezután használható egy automatizált gépi tanulási kísérlet konfigurációjában a következő kód példában látható módon.


   automl_settings = {
       "enable_early_stopping": True,
       "experiment_timeout_hours": 0.25,
       "max_concurrent_iterations": 4,
       "max_cores_per_iteration": -1,
       "n_cross_validations": 5,
       "primary_metric": "normalized_root_mean_squared_error",
       "verbosity": logging.INFO,
   }

   automl_config = AutoMLConfig(
       task="regression",
       debug_log="automl_errors.log",
       compute_target=compute_target,
       featurization=featurization_config,
       training_data=train_data,
       label_column_name=label,
       **automl_settings,
   )

A teljes minta a következő forrásból érhető el: https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/regression-explanation-featurization/auto-ml-regression-explanation-featurization.ipynb

Metódusok

add_blocked_transformers

A letiltandó transzformátorok hozzáadása.

add_column_purpose

Adjon hozzá egy funkciótípust a megadott oszlophoz.

add_drop_columns

Adja hozzá az oszlopnevet vagy a figyelmen kívül hagyandó oszlopnevek listáját.

add_prediction_transform_type

Adjon hozzá egy előrejelzési átalakítási típust a céloszlophoz.

PredictionTransformTypes Osztály. :type prediction_transform_type: str

add_transformer_params

Adjon hozzá testreszabott transzformátorparamétereket az egyéni transzformátorparaméterek listájához.

Alkalmazza az összes oszlopra, ha az oszloplista üres.

get_transformer_params

Az oszlopok transzformátor-testreszabási paramétereinek lekérése.

remove_column_purpose

Távolítsa el a megadott oszlop szolgáltatástípusát.

Ha egy oszlophoz nincs megadva szolgáltatás, a rendszer az észlelt alapértelmezett funkciót használja.

remove_prediction_transform_type

Állítsa vissza az előrejelzési átalakítási típust alapértelmezettre a céloszlop esetében.

remove_transformer_params

Távolítsa el a transzformátor testreszabási paramétereit az adott oszlophoz vagy az összes oszlophoz.

add_blocked_transformers

A letiltandó transzformátorok hozzáadása.

add_blocked_transformers(transformers: str | List[str]) -> None

Paraméterek

transformers
str vagy list[str]
Kötelező

Transzformátornév vagy transzformátornevek listája. A transzformátorneveknek az osztály BLOCKED_TRANSFORMERS attribútumában felsorolt transzformátorok egyikének SupportedTransformers kell lenniük.

add_column_purpose

Adjon hozzá egy funkciótípust a megadott oszlophoz.

add_column_purpose(column_name: str, feature_type: str) -> None

Paraméterek

column_name
str
Kötelező

Egy frissítendő oszlopnév.

feature_type
FeatureType
Kötelező

Az oszlophoz használandó funkciótípus. A szolgáltatástípusoknak az osztály FULL_SET attribútumában FeatureType megadottaknak kell lenniük.

add_drop_columns

Adja hozzá az oszlopnevet vagy a figyelmen kívül hagyandó oszlopnevek listáját.

add_drop_columns(drop_columns: str | List[str]) -> None

Paraméterek

drop_columns
str vagy list[str]
Kötelező

Oszlopnév vagy oszlopnevek listája.

add_prediction_transform_type

Adjon hozzá egy előrejelzési átalakítási típust a céloszlophoz.

PredictionTransformTypes Osztály. :type prediction_transform_type: str

add_prediction_transform_type(prediction_transform_type: str) -> None

Paraméterek

prediction_transform_type
Kötelező

A céloszlop formázásához használandó előrejelzési átalakítási típus. A szolgáltatástípusoknak a FULL_SET attribútumban megadottaknak kell lenniük

add_transformer_params

Adjon hozzá testreszabott transzformátorparamétereket az egyéni transzformátorparaméterek listájához.

Alkalmazza az összes oszlopra, ha az oszloplista üres.

add_transformer_params(transformer: str, cols: List[str], params: Dict[str, Any]) -> None

Paraméterek

transformer
str
Kötelező

A transzformátor neve. A transzformátor nevének az osztályban SupportedTransformers felsorolt CUSTOMIZABLE_TRANSFORMERS egyikének kell lennie.

cols
list(str)
Kötelező

Megadott transzformátor bemeneti oszlopai. Egyes transzformátorok több oszlopot is használhatnak listaként megadott bemenetként.

params
dict
Kötelező

Kulcsszavak és argumentumok szótára.

Megjegyzések

Az alábbi példakód bemutatja, hogyan szabhatja testre a featurizációt az automatizált gépi tanulásban az előrejelzéshez. A példakódban megjelenik egy oszlop elvetése és az átalakítási paraméterek hozzáadása.


   featurization_config = FeaturizationConfig()
   # Force the CPWVOL5 feature to be numeric type.
   featurization_config.add_column_purpose("CPWVOL5", "Numeric")
   # Fill missing values in the target column, Quantity, with zeros.
   featurization_config.add_transformer_params(
       "Imputer", ["Quantity"], {"strategy": "constant", "fill_value": 0}
   )
   # Fill missing values in the INCOME column with median value.
   featurization_config.add_transformer_params(
       "Imputer", ["INCOME"], {"strategy": "median"}
   )
   # Fill missing values in the Price column with forward fill (last value carried forward).
   featurization_config.add_transformer_params("Imputer", ["Price"], {"strategy": "ffill"})

A teljes minta a következő forrásból érhető el: https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/forecasting-orange-juice-sales/auto-ml-forecasting-orange-juice-sales.ipynb

get_transformer_params

Az oszlopok transzformátor-testreszabási paramétereinek lekérése.

get_transformer_params(transformer: str, cols: List[str]) -> Dict[str, Any]

Paraméterek

transformer
str
Kötelező

A transzformátor neve. A transzformátor nevének az osztályban SupportedTransformers felsorolt CUSTOMIZABLE_TRANSFORMERS egyikének kell lennie.

cols
list[str]
Kötelező

Az oszlopok neve, amelyről információt szeretne lekérni. Az összes oszlop megadásához használjon üres listát.

Válaszok

Transzformátorparaméter-beállítások.

Visszatérési típus

remove_column_purpose

Távolítsa el a megadott oszlop szolgáltatástípusát.

Ha egy oszlophoz nincs megadva szolgáltatás, a rendszer az észlelt alapértelmezett funkciót használja.

remove_column_purpose(column_name: str) -> None

Paraméterek

column_name
str
Kötelező

A frissíteni kívánt oszlop neve.

remove_prediction_transform_type

Állítsa vissza az előrejelzési átalakítási típust alapértelmezettre a céloszlop esetében.

remove_prediction_transform_type() -> None

remove_transformer_params

Távolítsa el a transzformátor testreszabási paramétereit az adott oszlophoz vagy az összes oszlophoz.

remove_transformer_params(transformer: str, cols: List[str] | None = None) -> None

Paraméterek

transformer
str
Kötelező

A transzformátor neve. A transzformátor nevének az osztályban SupportedTransformers felsorolt CUSTOMIZABLE_TRANSFORMERS egyikének kell lennie.

cols
list[str] vagy None
alapértelmezett érték: None

A testreszabási paraméterek eltávolításához használt oszlopok nevei. Adja meg a Nincs (alapértelmezett) értéket a megadott transzformátor összes testreszabási paramjának eltávolításához.

Attribútumok

blocked_transformers

column_purposes

dataset_language

drop_columns

prediction_transform_type

transformer_params