注意
点击此处下载完整的示例代码,或通过 Binder 在浏览器中运行此示例
获取运行信息¶
以下示例展示了如何从已完成的 Auto-sklearn 运行中获取信息。具体来说,它展示了:* 如何查询 Auto-sklearn 评估了哪些模型 * 如何查询最终集成中的模型 * 如何获取有关 Auto-sklearn 评估内容的总体统计信息
Auto-sklearn 是 sklearn 模型之上的一个包装器。本示例说明了如何直接与 sklearn 组件交互,在本例中是一个 PCA 预处理器。
from pprint import pprint
import sklearn.datasets
import sklearn.metrics
import autosklearn.classification
数据加载¶
X, y = sklearn.datasets.load_breast_cancer(return_X_y=True)
X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(
X, y, random_state=1
)
构建并拟合分类器¶
automl = autosklearn.classification.AutoSklearnClassifier(
time_left_for_this_task=30,
per_run_time_limit=10,
disable_evaluator_output=False,
# To simplify querying the models in the final ensemble, we
# restrict auto-sklearn to use only pca as a preprocessor
include={"feature_preprocessor": ["pca"]},
)
automl.fit(X_train, y_train, dataset_name="breast_cancer")
AutoSklearnClassifier(ensemble_class=<class 'autosklearn.ensembles.ensemble_selection.EnsembleSelection'>,
include={'feature_preprocessor': ['pca']},
per_run_time_limit=10, time_left_for_this_task=30)
使用模型进行预测¶
predictions = automl.predict(X_test)
print("Accuracy score:{}".format(sklearn.metrics.accuracy_score(y_test, predictions)))
Accuracy score:0.958041958041958
报告 Auto-Sklearn 找到的模型¶
Auto-sklearn 使用 Ensemble Selection 以事后方式构建集成。该集成是对超参数优化期间构建的所有模型的线性加权。此处打印最终的集成。它是一个字典,其中每个模型的 model_id
是键,值是包含该模型信息的字典。模型的字典包含其 'model_id'
、'rank'
、'cost'
、'ensemble_weight'
以及模型本身。模型由 'data_preprocessor'
、'feature_preprocessor'
、'regressor'/'classifier'
和 'sklearn_regressor'/'sklearn_classifier'
条目给出。但对于 'cv'
重采样策略,每个 cv 模型相同的信息存储在字典中的 'estimators'
列表中,以及 'voting_model'
。
pprint(automl.show_models(), indent=4)
{ 2: { 'balancing': Balancing(random_state=1),
'classifier': <autosklearn.pipeline.components.classification.ClassifierChoice object at 0x7f05d17d6130>,
'cost': 0.07801418439716312,
'data_preprocessor': <autosklearn.pipeline.components.data_preprocessing.DataPreprocessorChoice object at 0x7f05d17e14c0>,
'ensemble_weight': 0.12,
'feature_preprocessor': <autosklearn.pipeline.components.feature_preprocessing.FeaturePreprocessorChoice object at 0x7f05d17d62b0>,
'model_id': 2,
'rank': 1,
'sklearn_classifier': RandomForestClassifier(max_features=5, n_estimators=512, n_jobs=1,
random_state=1, warm_start=True)},
3: { 'balancing': Balancing(random_state=1),
'classifier': <autosklearn.pipeline.components.classification.ClassifierChoice object at 0x7f05d0f34f10>,
'cost': 0.07092198581560283,
'data_preprocessor': <autosklearn.pipeline.components.data_preprocessing.DataPreprocessorChoice object at 0x7f05d22a6be0>,
'ensemble_weight': 0.16,
'feature_preprocessor': <autosklearn.pipeline.components.feature_preprocessing.FeaturePreprocessorChoice object at 0x7f05d0f349a0>,
'model_id': 3,
'rank': 2,
'sklearn_classifier': RandomForestClassifier(max_features=1, min_samples_leaf=2, min_samples_split=20,
n_estimators=512, n_jobs=1, random_state=1,
warm_start=True)},
4: { 'balancing': Balancing(random_state=1, strategy='weighting'),
'classifier': <autosklearn.pipeline.components.classification.ClassifierChoice object at 0x7f05d441cdf0>,
'cost': 0.028368794326241176,
'data_preprocessor': <autosklearn.pipeline.components.data_preprocessing.DataPreprocessorChoice object at 0x7f05ce64b610>,
'ensemble_weight': 0.06,
'feature_preprocessor': <autosklearn.pipeline.components.feature_preprocessing.FeaturePreprocessorChoice object at 0x7f05cb9ac7f0>,
'model_id': 4,
'rank': 3,
'sklearn_classifier': MLPClassifier(activation='tanh', alpha=1.103855734598575e-05, beta_1=0.999,
beta_2=0.9, early_stopping=True,
hidden_layer_sizes=(229, 229, 229),
learning_rate_init=0.00014375616988222174, max_iter=32,
n_iter_no_change=32, random_state=1, verbose=0, warm_start=True)},
5: { 'balancing': Balancing(random_state=1, strategy='weighting'),
'classifier': <autosklearn.pipeline.components.classification.ClassifierChoice object at 0x7f05d3b0e2e0>,
'cost': 0.1063829787234043,
'data_preprocessor': <autosklearn.pipeline.components.data_preprocessing.DataPreprocessorChoice object at 0x7f05d1c158b0>,
'ensemble_weight': 0.12,
'feature_preprocessor': <autosklearn.pipeline.components.feature_preprocessing.FeaturePreprocessorChoice object at 0x7f05e9b68d90>,
'model_id': 5,
'rank': 4,
'sklearn_classifier': KNeighborsClassifier(n_neighbors=4, weights='distance')},
6: { 'balancing': Balancing(random_state=1),
'classifier': <autosklearn.pipeline.components.classification.ClassifierChoice object at 0x7f05d1c0e700>,
'cost': 0.11347517730496459,
'data_preprocessor': <autosklearn.pipeline.components.data_preprocessing.DataPreprocessorChoice object at 0x7f05d1566d30>,
'ensemble_weight': 0.12,
'feature_preprocessor': <autosklearn.pipeline.components.feature_preprocessing.FeaturePreprocessorChoice object at 0x7f05d1c0e100>,
'model_id': 6,
'rank': 5,
'sklearn_classifier': SVC(C=100.5905006626969, cache_size=1803.7291666666667,
coef0=0.08087614244138486, gamma=0.011333066835975528, kernel='poly',
max_iter=-1.0, random_state=1, tol=0.012391313886912093)},
7: { 'balancing': Balancing(random_state=1, strategy='weighting'),
'classifier': <autosklearn.pipeline.components.classification.ClassifierChoice object at 0x7f05d462ec10>,
'cost': 0.1063829787234043,
'data_preprocessor': <autosklearn.pipeline.components.data_preprocessing.DataPreprocessorChoice object at 0x7f05d3fd3c10>,
'ensemble_weight': 0.08,
'feature_preprocessor': <autosklearn.pipeline.components.feature_preprocessing.FeaturePreprocessorChoice object at 0x7f05d421b250>,
'model_id': 7,
'rank': 6,
'sklearn_classifier': LinearSVC(C=10.369811497206404, class_weight='balanced', dual=False,
intercept_scaling=1.0, random_state=1, tol=0.0015130257264171173)},
8: { 'balancing': Balancing(random_state=1),
'classifier': <autosklearn.pipeline.components.classification.ClassifierChoice object at 0x7f05d2165490>,
'cost': 0.028368794326241176,
'data_preprocessor': <autosklearn.pipeline.components.data_preprocessing.DataPreprocessorChoice object at 0x7f05d3e6c850>,
'ensemble_weight': 0.28,
'feature_preprocessor': <autosklearn.pipeline.components.feature_preprocessing.FeaturePreprocessorChoice object at 0x7f05d2165f70>,
'model_id': 8,
'rank': 7,
'sklearn_classifier': KNeighborsClassifier(n_neighbors=10, p=1)},
9: { 'balancing': Balancing(random_state=1, strategy='weighting'),
'classifier': <autosklearn.pipeline.components.classification.ClassifierChoice object at 0x7f05d0f2e1c0>,
'cost': 0.08510638297872342,
'data_preprocessor': <autosklearn.pipeline.components.data_preprocessing.DataPreprocessorChoice object at 0x7f05d12192b0>,
'ensemble_weight': 0.06,
'feature_preprocessor': <autosklearn.pipeline.components.feature_preprocessing.FeaturePreprocessorChoice object at 0x7f05d0f2e790>,
'model_id': 9,
'rank': 8,
'sklearn_classifier': DecisionTreeClassifier(class_weight='balanced', criterion='entropy',
max_depth=1, min_samples_leaf=12, min_samples_split=13,
random_state=1)}}
报告搜索统计信息¶
打印有关 auto-sklearn 运行的统计信息,例如迭代次数、因超时而失败的模型数量等。
print(automl.sprint_statistics())
auto-sklearn results:
Dataset name: breast_cancer
Metric: accuracy
Best validation score: 0.971631
Number of target algorithm runs: 8
Number of successful target algorithm runs: 8
Number of crashed target algorithm runs: 0
Number of target algorithms that exceeded the time limit: 0
Number of target algorithms that exceeded the memory limit: 0
搜索的详细统计信息 - 第 1 部分¶
Auto-sklearn 还保留了超参数优化过程的详细统计信息,这些信息存储在一个所谓的 运行历史 中。
print(automl.automl_.runhistory_)
<smac.runhistory.runhistory.RunHistory object at 0x7f05ce64b730>
运行存储在一个名为 data
的 OrderedDict
中
print(len(automl.automl_.runhistory_.data))
9
让我们遍历所有条目
for run_key in automl.automl_.runhistory_.data:
print("#########")
print(run_key)
print(automl.automl_.runhistory_.data[run_key])
#########
RunKey(config_id=1, instance_id='{"task_id": "breast_cancer"}', seed=0, budget=0.0)
RunValue(cost=0.07801418439716312, time=2.1041107177734375, status=<StatusType.SUCCESS: 1>, starttime=1663664549.9379454, endtime=1663664552.0665298, additional_info={'duration': 1.9913103580474854, 'num_run': 2, 'train_loss': 0.0, 'configuration_origin': 'Initial design'})
#########
RunKey(config_id=2, instance_id='{"task_id": "breast_cancer"}', seed=0, budget=0.0)
RunValue(cost=0.07092198581560283, time=1.8503355979919434, status=<StatusType.SUCCESS: 1>, starttime=1663664552.1301312, endtime=1663664554.0074, additional_info={'duration': 1.7435200214385986, 'num_run': 3, 'train_loss': 0.06315789473684208, 'configuration_origin': 'Initial design'})
#########
RunKey(config_id=3, instance_id='{"task_id": "breast_cancer"}', seed=0, budget=0.0)
RunValue(cost=0.028368794326241176, time=1.7300455570220947, status=<StatusType.SUCCESS: 1>, starttime=1663664554.1323466, endtime=1663664555.8862646, additional_info={'duration': 1.6518871784210205, 'num_run': 4, 'train_loss': 0.04210526315789476, 'configuration_origin': 'Initial design'})
#########
RunKey(config_id=4, instance_id='{"task_id": "breast_cancer"}', seed=0, budget=0.0)
RunValue(cost=0.1063829787234043, time=0.8748972415924072, status=<StatusType.SUCCESS: 1>, starttime=1663664556.0387397, endtime=1663664556.939485, additional_info={'duration': 0.7916548252105713, 'num_run': 5, 'train_loss': 0.0, 'configuration_origin': 'Initial design'})
#########
RunKey(config_id=5, instance_id='{"task_id": "breast_cancer"}', seed=0, budget=0.0)
RunValue(cost=0.11347517730496459, time=0.7713007926940918, status=<StatusType.SUCCESS: 1>, starttime=1663664557.1346703, endtime=1663664557.9320207, additional_info={'duration': 0.6807596683502197, 'num_run': 6, 'train_loss': 0.09122807017543855, 'configuration_origin': 'Initial design'})
#########
RunKey(config_id=6, instance_id='{"task_id": "breast_cancer"}', seed=0, budget=0.0)
RunValue(cost=0.1063829787234043, time=0.841759204864502, status=<StatusType.SUCCESS: 1>, starttime=1663664560.5457196, endtime=1663664561.4123611, additional_info={'duration': 0.759972095489502, 'num_run': 7, 'train_loss': 0.1473684210526316, 'configuration_origin': 'Random Search (sorted)'})
#########
RunKey(config_id=7, instance_id='{"task_id": "breast_cancer"}', seed=0, budget=0.0)
RunValue(cost=0.028368794326241176, time=0.9095327854156494, status=<StatusType.SUCCESS: 1>, starttime=1663664563.943324, endtime=1663664564.8796868, additional_info={'duration': 0.8181486129760742, 'num_run': 8, 'train_loss': 0.03157894736842104, 'configuration_origin': 'Random Search (sorted)'})
#########
RunKey(config_id=8, instance_id='{"task_id": "breast_cancer"}', seed=0, budget=0.0)
RunValue(cost=0.08510638297872342, time=0.9056379795074463, status=<StatusType.SUCCESS: 1>, starttime=1663664565.138814, endtime=1663664566.0731976, additional_info={'duration': 0.815222978591919, 'num_run': 9, 'train_loss': 0.07017543859649122, 'configuration_origin': 'Random Search'})
#########
RunKey(config_id=9, instance_id='{"task_id": "breast_cancer"}', seed=0, budget=0.0)
RunValue(cost=1.0, time=0.0, status=<StatusType.STOP: 8>, starttime=1663664569.1054664, endtime=1663664569.1054668, additional_info={})
并详细查看其中一个条目
run_key = list(automl.automl_.runhistory_.data.keys())[0]
run_value = automl.automl_.runhistory_.data[run_key]
run_key
包含描述运行的所有信息
print("Configuration ID:", run_key.config_id)
print("Instance:", run_key.instance_id)
print("Seed:", run_key.seed)
print("Budget:", run_key.budget)
Configuration ID: 1
Instance: {"task_id": "breast_cancer"}
Seed: 0
Budget: 0.0
配置也可以在运行历史中查找
print(automl.automl_.runhistory_.ids_config[run_key.config_id])
Configuration(values={
'balancing:strategy': 'none',
'classifier:__choice__': 'random_forest',
'classifier:random_forest:bootstrap': 'True',
'classifier:random_forest:criterion': 'gini',
'classifier:random_forest:max_depth': 'None',
'classifier:random_forest:max_features': 0.5,
'classifier:random_forest:max_leaf_nodes': 'None',
'classifier:random_forest:min_impurity_decrease': 0.0,
'classifier:random_forest:min_samples_leaf': 1,
'classifier:random_forest:min_samples_split': 2,
'classifier:random_forest:min_weight_fraction_leaf': 0.0,
'data_preprocessor:__choice__': 'feature_type',
'data_preprocessor:feature_type:numerical_transformer:imputation:strategy': 'mean',
'data_preprocessor:feature_type:numerical_transformer:rescaling:__choice__': 'standardize',
'feature_preprocessor:__choice__': 'pca',
'feature_preprocessor:pca:keep_variance': 0.9999,
'feature_preprocessor:pca:whiten': 'False',
})
唯一另一个重要的条目是预算,如果您使用 auto-sklearn 配合 逐次减半 (Successive Halving)。密钥的其余部分可以忽略 auto-sklearn,它们之所以存在是因为底层的优化器 SMAC 也可以处理更普遍的问题。
run_value
包含运行配置的所有输出
print("Cost:", run_value.cost)
print("Time:", run_value.time)
print("Status:", run_value.status)
print("Additional information:", run_value.additional_info)
print("Start time:", run_value.starttime)
print("End time", run_value.endtime)
Cost: 0.07801418439716312
Time: 2.1041107177734375
Status: StatusType.SUCCESS
Additional information: {'duration': 1.9913103580474854, 'num_run': 2, 'train_loss': 0.0, 'configuration_origin': 'Initial design'}
Start time: 1663664549.9379454
End time 1663664552.0665298
成本基本上与损失相同。如果要优化的指标应最大化,它在内部会转换为最小化指标。此外,状态类型提供了关于运行是否成功的信息,而附加信息中最有趣的条目是内部训练损失。此外,还有关于运行时间的详细信息可用。
作为一个示例,让我们找到评估过的最佳配置。由于 Auto-sklearn 在内部解决的是一个最小化问题,我们需要寻找损失最低的条目
losses_and_configurations = [
(run_value.cost, run_key.config_id)
for run_key, run_value in automl.automl_.runhistory_.data.items()
]
losses_and_configurations.sort()
print("Lowest loss:", losses_and_configurations[0][0])
print(
"Best configuration:",
automl.automl_.runhistory_.ids_config[losses_and_configurations[0][1]],
)
Lowest loss: 0.028368794326241176
Best configuration: Configuration(values={
'balancing:strategy': 'weighting',
'classifier:__choice__': 'mlp',
'classifier:mlp:activation': 'tanh',
'classifier:mlp:alpha': 1.103855734598575e-05,
'classifier:mlp:batch_size': 'auto',
'classifier:mlp:beta_1': 0.9,
'classifier:mlp:beta_2': 0.999,
'classifier:mlp:early_stopping': 'valid',
'classifier:mlp:epsilon': 1e-08,
'classifier:mlp:hidden_layer_depth': 3,
'classifier:mlp:learning_rate_init': 0.00014375616988222174,
'classifier:mlp:n_iter_no_change': 32,
'classifier:mlp:num_nodes_per_layer': 229,
'classifier:mlp:shuffle': 'True',
'classifier:mlp:solver': 'adam',
'classifier:mlp:tol': 0.0001,
'classifier:mlp:validation_fraction': 0.1,
'data_preprocessor:__choice__': 'feature_type',
'data_preprocessor:feature_type:numerical_transformer:imputation:strategy': 'most_frequent',
'data_preprocessor:feature_type:numerical_transformer:rescaling:__choice__': 'quantile_transformer',
'data_preprocessor:feature_type:numerical_transformer:rescaling:quantile_transformer:n_quantiles': 180,
'data_preprocessor:feature_type:numerical_transformer:rescaling:quantile_transformer:output_distribution': 'uniform',
'feature_preprocessor:__choice__': 'pca',
'feature_preprocessor:pca:keep_variance': 0.7895711479212801,
'feature_preprocessor:pca:whiten': 'True',
})
搜索的详细统计信息 - 第 2 部分¶
为了保持与 scikit-learn 的兼容性,Auto-sklearn 提供与 cv_results_ 相同的数据。
print(automl.cv_results_)
{'mean_test_score': array([0.92198582, 0.92907801, 0.97163121, 0.89361702, 0.88652482,
0.89361702, 0.97163121, 0.91489362]), 'rank_test_scores': array([4, 3, 1, 6, 8, 6, 1, 5]), 'mean_fit_time': array([2.10411072, 1.8503356 , 1.73004556, 0.87489724, 0.77130079,
0.8417592 , 0.90953279, 0.90563798]), 'params': [{'balancing:strategy': 'none', 'classifier:__choice__': 'random_forest', 'data_preprocessor:__choice__': 'feature_type', 'feature_preprocessor:__choice__': 'pca', 'classifier:random_forest:bootstrap': 'True', 'classifier:random_forest:criterion': 'gini', 'classifier:random_forest:max_depth': 'None', 'classifier:random_forest:max_features': 0.5, 'classifier:random_forest:max_leaf_nodes': 'None', 'classifier:random_forest:min_impurity_decrease': 0.0, 'classifier:random_forest:min_samples_leaf': 1, 'classifier:random_forest:min_samples_split': 2, 'classifier:random_forest:min_weight_fraction_leaf': 0.0, 'data_preprocessor:feature_type:numerical_transformer:imputation:strategy': 'mean', 'data_preprocessor:feature_type:numerical_transformer:rescaling:__choice__': 'standardize', 'feature_preprocessor:pca:keep_variance': 0.9999, 'feature_preprocessor:pca:whiten': 'False'}, {'balancing:strategy': 'none', 'classifier:__choice__': 'random_forest', 'data_preprocessor:__choice__': 'feature_type', 'feature_preprocessor:__choice__': 'pca', 'classifier:random_forest:bootstrap': 'True', 'classifier:random_forest:criterion': 'gini', 'classifier:random_forest:max_depth': 'None', 'classifier:random_forest:max_features': 0.9331254454871041, 'classifier:random_forest:max_leaf_nodes': 'None', 'classifier:random_forest:min_impurity_decrease': 0.0, 'classifier:random_forest:min_samples_leaf': 2, 'classifier:random_forest:min_samples_split': 20, 'classifier:random_forest:min_weight_fraction_leaf': 0.0, 'data_preprocessor:feature_type:numerical_transformer:imputation:strategy': 'mean', 'data_preprocessor:feature_type:numerical_transformer:rescaling:__choice__': 'none', 'feature_preprocessor:pca:keep_variance': 0.9967857433838874, 'feature_preprocessor:pca:whiten': 'False'}, {'balancing:strategy': 'weighting', 'classifier:__choice__': 'mlp', 'data_preprocessor:__choice__': 'feature_type', 'feature_preprocessor:__choice__': 'pca', 'classifier:mlp:activation': 'tanh', 'classifier:mlp:alpha': 1.103855734598575e-05, 'classifier:mlp:batch_size': 'auto', 'classifier:mlp:beta_1': 0.9, 'classifier:mlp:beta_2': 0.999, 'classifier:mlp:early_stopping': 'valid', 'classifier:mlp:epsilon': 1e-08, 'classifier:mlp:hidden_layer_depth': 3, 'classifier:mlp:learning_rate_init': 0.00014375616988222174, 'classifier:mlp:n_iter_no_change': 32, 'classifier:mlp:num_nodes_per_layer': 229, 'classifier:mlp:shuffle': 'True', 'classifier:mlp:solver': 'adam', 'classifier:mlp:tol': 0.0001, 'data_preprocessor:feature_type:numerical_transformer:imputation:strategy': 'most_frequent', 'data_preprocessor:feature_type:numerical_transformer:rescaling:__choice__': 'quantile_transformer', 'feature_preprocessor:pca:keep_variance': 0.7895711479212801, 'feature_preprocessor:pca:whiten': 'True', 'classifier:mlp:validation_fraction': 0.1, 'data_preprocessor:feature_type:numerical_transformer:rescaling:quantile_transformer:n_quantiles': 180, 'data_preprocessor:feature_type:numerical_transformer:rescaling:quantile_transformer:output_distribution': 'uniform'}, {'balancing:strategy': 'weighting', 'classifier:__choice__': 'k_nearest_neighbors', 'data_preprocessor:__choice__': 'feature_type', 'feature_preprocessor:__choice__': 'pca', 'classifier:k_nearest_neighbors:n_neighbors': 4, 'classifier:k_nearest_neighbors:p': 2, 'classifier:k_nearest_neighbors:weights': 'distance', 'data_preprocessor:feature_type:numerical_transformer:imputation:strategy': 'mean', 'data_preprocessor:feature_type:numerical_transformer:rescaling:__choice__': 'normalize', 'feature_preprocessor:pca:keep_variance': 0.8047274080856589, 'feature_preprocessor:pca:whiten': 'False'}, {'balancing:strategy': 'none', 'classifier:__choice__': 'libsvm_svc', 'data_preprocessor:__choice__': 'feature_type', 'feature_preprocessor:__choice__': 'pca', 'classifier:libsvm_svc:C': 100.5905006626969, 'classifier:libsvm_svc:gamma': 0.011333066835975528, 'classifier:libsvm_svc:kernel': 'poly', 'classifier:libsvm_svc:max_iter': -1, 'classifier:libsvm_svc:shrinking': 'True', 'classifier:libsvm_svc:tol': 0.012391313886912093, 'data_preprocessor:feature_type:numerical_transformer:imputation:strategy': 'mean', 'data_preprocessor:feature_type:numerical_transformer:rescaling:__choice__': 'minmax', 'feature_preprocessor:pca:keep_variance': 0.9290439925152777, 'feature_preprocessor:pca:whiten': 'False', 'classifier:libsvm_svc:coef0': 0.08087614244138486, 'classifier:libsvm_svc:degree': 3}, {'balancing:strategy': 'weighting', 'classifier:__choice__': 'liblinear_svc', 'data_preprocessor:__choice__': 'feature_type', 'feature_preprocessor:__choice__': 'pca', 'classifier:liblinear_svc:C': 10.369811497206404, 'classifier:liblinear_svc:dual': 'False', 'classifier:liblinear_svc:fit_intercept': 'True', 'classifier:liblinear_svc:intercept_scaling': 1, 'classifier:liblinear_svc:loss': 'squared_hinge', 'classifier:liblinear_svc:multi_class': 'ovr', 'classifier:liblinear_svc:penalty': 'l2', 'classifier:liblinear_svc:tol': 0.0015130257264171173, 'data_preprocessor:feature_type:numerical_transformer:imputation:strategy': 'median', 'data_preprocessor:feature_type:numerical_transformer:rescaling:__choice__': 'robust_scaler', 'feature_preprocessor:pca:keep_variance': 0.5306607720040878, 'feature_preprocessor:pca:whiten': 'False', 'data_preprocessor:feature_type:numerical_transformer:rescaling:robust_scaler:q_max': 0.9866104280704078, 'data_preprocessor:feature_type:numerical_transformer:rescaling:robust_scaler:q_min': 0.20576464288464985}, {'balancing:strategy': 'none', 'classifier:__choice__': 'k_nearest_neighbors', 'data_preprocessor:__choice__': 'feature_type', 'feature_preprocessor:__choice__': 'pca', 'classifier:k_nearest_neighbors:n_neighbors': 10, 'classifier:k_nearest_neighbors:p': 1, 'classifier:k_nearest_neighbors:weights': 'uniform', 'data_preprocessor:feature_type:numerical_transformer:imputation:strategy': 'median', 'data_preprocessor:feature_type:numerical_transformer:rescaling:__choice__': 'quantile_transformer', 'feature_preprocessor:pca:keep_variance': 0.9923006586696794, 'feature_preprocessor:pca:whiten': 'False', 'data_preprocessor:feature_type:numerical_transformer:rescaling:quantile_transformer:n_quantiles': 1866, 'data_preprocessor:feature_type:numerical_transformer:rescaling:quantile_transformer:output_distribution': 'normal'}, {'balancing:strategy': 'weighting', 'classifier:__choice__': 'decision_tree', 'data_preprocessor:__choice__': 'feature_type', 'feature_preprocessor:__choice__': 'pca', 'classifier:decision_tree:criterion': 'entropy', 'classifier:decision_tree:max_depth_factor': 0.07400222370559417, 'classifier:decision_tree:max_features': 1.0, 'classifier:decision_tree:max_leaf_nodes': 'None', 'classifier:decision_tree:min_impurity_decrease': 0.0, 'classifier:decision_tree:min_samples_leaf': 12, 'classifier:decision_tree:min_samples_split': 13, 'classifier:decision_tree:min_weight_fraction_leaf': 0.0, 'data_preprocessor:feature_type:numerical_transformer:imputation:strategy': 'most_frequent', 'data_preprocessor:feature_type:numerical_transformer:rescaling:__choice__': 'standardize', 'feature_preprocessor:pca:keep_variance': 0.9710934401815425, 'feature_preprocessor:pca:whiten': 'True'}], 'status': ['Success', 'Success', 'Success', 'Success', 'Success', 'Success', 'Success', 'Success'], 'budgets': [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], 'param_balancing:strategy': masked_array(data=['none', 'none', 'weighting', 'weighting', 'none',
'weighting', 'none', 'weighting'],
mask=[False, False, False, False, False, False, False, False],
fill_value='N/A',
dtype='<U9'), 'param_classifier:__choice__': masked_array(data=['random_forest', 'random_forest', 'mlp',
'k_nearest_neighbors', 'libsvm_svc', 'liblinear_svc',
'k_nearest_neighbors', 'decision_tree'],
mask=[False, False, False, False, False, False, False, False],
fill_value='N/A',
dtype='<U19'), 'param_data_preprocessor:__choice__': masked_array(data=['feature_type', 'feature_type', 'feature_type',
'feature_type', 'feature_type', 'feature_type',
'feature_type', 'feature_type'],
mask=[False, False, False, False, False, False, False, False],
fill_value='N/A',
dtype='<U12'), 'param_feature_preprocessor:__choice__': masked_array(data=['pca', 'pca', 'pca', 'pca', 'pca', 'pca', 'pca', 'pca'],
mask=[False, False, False, False, False, False, False, False],
fill_value='N/A',
dtype='<U3'), 'param_classifier:adaboost:algorithm': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:adaboost:learning_rate': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:adaboost:max_depth': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:adaboost:n_estimators': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:bernoulli_nb:alpha': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:bernoulli_nb:fit_prior': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:decision_tree:criterion': masked_array(data=[--, --, --, --, --, --, --, 'entropy'],
mask=[ True, True, True, True, True, True, True, False],
fill_value='N/A',
dtype='<U32'), 'param_classifier:decision_tree:max_depth_factor': masked_array(data=[--, --, --, --, --, --, --, 0.07400222370559417],
mask=[ True, True, True, True, True, True, True, False],
fill_value=1e+20), 'param_classifier:decision_tree:max_features': masked_array(data=[--, --, --, --, --, --, --, 1.0],
mask=[ True, True, True, True, True, True, True, False],
fill_value=1e+20), 'param_classifier:decision_tree:max_leaf_nodes': masked_array(data=[--, --, --, --, --, --, --, 'None'],
mask=[ True, True, True, True, True, True, True, False],
fill_value='N/A',
dtype='<U32'), 'param_classifier:decision_tree:min_impurity_decrease': masked_array(data=[--, --, --, --, --, --, --, 0.0],
mask=[ True, True, True, True, True, True, True, False],
fill_value=1e+20), 'param_classifier:decision_tree:min_samples_leaf': masked_array(data=[--, --, --, --, --, --, --, 12.0],
mask=[ True, True, True, True, True, True, True, False],
fill_value=1e+20), 'param_classifier:decision_tree:min_samples_split': masked_array(data=[--, --, --, --, --, --, --, 13.0],
mask=[ True, True, True, True, True, True, True, False],
fill_value=1e+20), 'param_classifier:decision_tree:min_weight_fraction_leaf': masked_array(data=[--, --, --, --, --, --, --, 0.0],
mask=[ True, True, True, True, True, True, True, False],
fill_value=1e+20), 'param_classifier:extra_trees:bootstrap': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:extra_trees:criterion': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:extra_trees:max_depth': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:extra_trees:max_features': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:extra_trees:max_leaf_nodes': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:extra_trees:min_impurity_decrease': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:extra_trees:min_samples_leaf': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:extra_trees:min_samples_split': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:extra_trees:min_weight_fraction_leaf': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:gradient_boosting:early_stop': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:gradient_boosting:l2_regularization': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:gradient_boosting:learning_rate': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:gradient_boosting:loss': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:gradient_boosting:max_bins': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:gradient_boosting:max_depth': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:gradient_boosting:max_leaf_nodes': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:gradient_boosting:min_samples_leaf': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:gradient_boosting:scoring': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:gradient_boosting:tol': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:k_nearest_neighbors:n_neighbors': masked_array(data=[--, --, --, 4.0, --, --, 10.0, --],
mask=[ True, True, True, False, True, True, False, True],
fill_value=1e+20), 'param_classifier:k_nearest_neighbors:p': masked_array(data=[--, --, --, 2.0, --, --, 1.0, --],
mask=[ True, True, True, False, True, True, False, True],
fill_value=1e+20), 'param_classifier:k_nearest_neighbors:weights': masked_array(data=[--, --, --, 'distance', --, --, 'uniform', --],
mask=[ True, True, True, False, True, True, False, True],
fill_value='N/A',
dtype='<U32'), 'param_classifier:lda:shrinkage': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:lda:tol': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:liblinear_svc:C': masked_array(data=[--, --, --, --, --, 10.369811497206404, --, --],
mask=[ True, True, True, True, True, False, True, True],
fill_value=1e+20), 'param_classifier:liblinear_svc:dual': masked_array(data=[--, --, --, --, --, 'False', --, --],
mask=[ True, True, True, True, True, False, True, True],
fill_value='N/A',
dtype='<U32'), 'param_classifier:liblinear_svc:fit_intercept': masked_array(data=[--, --, --, --, --, 'True', --, --],
mask=[ True, True, True, True, True, False, True, True],
fill_value='N/A',
dtype='<U32'), 'param_classifier:liblinear_svc:intercept_scaling': masked_array(data=[--, --, --, --, --, 1.0, --, --],
mask=[ True, True, True, True, True, False, True, True],
fill_value=1e+20), 'param_classifier:liblinear_svc:loss': masked_array(data=[--, --, --, --, --, 'squared_hinge', --, --],
mask=[ True, True, True, True, True, False, True, True],
fill_value='N/A',
dtype='<U32'), 'param_classifier:liblinear_svc:multi_class': masked_array(data=[--, --, --, --, --, 'ovr', --, --],
mask=[ True, True, True, True, True, False, True, True],
fill_value='N/A',
dtype='<U32'), 'param_classifier:liblinear_svc:penalty': masked_array(data=[--, --, --, --, --, 'l2', --, --],
mask=[ True, True, True, True, True, False, True, True],
fill_value='N/A',
dtype='<U32'), 'param_classifier:liblinear_svc:tol': masked_array(data=[--, --, --, --, --, 0.0015130257264171173, --, --],
mask=[ True, True, True, True, True, False, True, True],
fill_value=1e+20), 'param_classifier:libsvm_svc:C': masked_array(data=[--, --, --, --, 100.5905006626969, --, --, --],
mask=[ True, True, True, True, False, True, True, True],
fill_value=1e+20), 'param_classifier:libsvm_svc:gamma': masked_array(data=[--, --, --, --, 0.011333066835975528, --, --, --],
mask=[ True, True, True, True, False, True, True, True],
fill_value=1e+20), 'param_classifier:libsvm_svc:kernel': masked_array(data=[--, --, --, --, 'poly', --, --, --],
mask=[ True, True, True, True, False, True, True, True],
fill_value='N/A',
dtype='<U32'), 'param_classifier:libsvm_svc:max_iter': masked_array(data=[--, --, --, --, -1.0, --, --, --],
mask=[ True, True, True, True, False, True, True, True],
fill_value=1e+20), 'param_classifier:libsvm_svc:shrinking': masked_array(data=[--, --, --, --, 'True', --, --, --],
mask=[ True, True, True, True, False, True, True, True],
fill_value='N/A',
dtype='<U32'), 'param_classifier:libsvm_svc:tol': masked_array(data=[--, --, --, --, 0.012391313886912093, --, --, --],
mask=[ True, True, True, True, False, True, True, True],
fill_value=1e+20), 'param_classifier:mlp:activation': masked_array(data=[--, --, 'tanh', --, --, --, --, --],
mask=[ True, True, False, True, True, True, True, True],
fill_value='N/A',
dtype='<U32'), 'param_classifier:mlp:alpha': masked_array(data=[--, --, 1.103855734598575e-05, --, --, --, --, --],
mask=[ True, True, False, True, True, True, True, True],
fill_value=1e+20), 'param_classifier:mlp:batch_size': masked_array(data=[--, --, 'auto', --, --, --, --, --],
mask=[ True, True, False, True, True, True, True, True],
fill_value='N/A',
dtype='<U32'), 'param_classifier:mlp:beta_1': masked_array(data=[--, --, 0.9, --, --, --, --, --],
mask=[ True, True, False, True, True, True, True, True],
fill_value=1e+20), 'param_classifier:mlp:beta_2': masked_array(data=[--, --, 0.999, --, --, --, --, --],
mask=[ True, True, False, True, True, True, True, True],
fill_value=1e+20), 'param_classifier:mlp:early_stopping': masked_array(data=[--, --, 'valid', --, --, --, --, --],
mask=[ True, True, False, True, True, True, True, True],
fill_value='N/A',
dtype='<U32'), 'param_classifier:mlp:epsilon': masked_array(data=[--, --, 1e-08, --, --, --, --, --],
mask=[ True, True, False, True, True, True, True, True],
fill_value=1e+20), 'param_classifier:mlp:hidden_layer_depth': masked_array(data=[--, --, 3.0, --, --, --, --, --],
mask=[ True, True, False, True, True, True, True, True],
fill_value=1e+20), 'param_classifier:mlp:learning_rate_init': masked_array(data=[--, --, 0.00014375616988222174, --, --, --, --, --],
mask=[ True, True, False, True, True, True, True, True],
fill_value=1e+20), 'param_classifier:mlp:n_iter_no_change': masked_array(data=[--, --, 32.0, --, --, --, --, --],
mask=[ True, True, False, True, True, True, True, True],
fill_value=1e+20), 'param_classifier:mlp:num_nodes_per_layer': masked_array(data=[--, --, 229.0, --, --, --, --, --],
mask=[ True, True, False, True, True, True, True, True],
fill_value=1e+20), 'param_classifier:mlp:shuffle': masked_array(data=[--, --, 'True', --, --, --, --, --],
mask=[ True, True, False, True, True, True, True, True],
fill_value='N/A',
dtype='<U32'), 'param_classifier:mlp:solver': masked_array(data=[--, --, 'adam', --, --, --, --, --],
mask=[ True, True, False, True, True, True, True, True],
fill_value='N/A',
dtype='<U32'), 'param_classifier:mlp:tol': masked_array(data=[--, --, 0.0001, --, --, --, --, --],
mask=[ True, True, False, True, True, True, True, True],
fill_value=1e+20), 'param_classifier:passive_aggressive:C': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:passive_aggressive:average': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:passive_aggressive:fit_intercept': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:passive_aggressive:loss': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:passive_aggressive:tol': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:qda:reg_param': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:random_forest:bootstrap': masked_array(data=['True', 'True', --, --, --, --, --, --],
mask=[False, False, True, True, True, True, True, True],
fill_value='N/A',
dtype='<U32'), 'param_classifier:random_forest:criterion': masked_array(data=['gini', 'gini', --, --, --, --, --, --],
mask=[False, False, True, True, True, True, True, True],
fill_value='N/A',
dtype='<U32'), 'param_classifier:random_forest:max_depth': masked_array(data=['None', 'None', --, --, --, --, --, --],
mask=[False, False, True, True, True, True, True, True],
fill_value='N/A',
dtype='<U32'), 'param_classifier:random_forest:max_features': masked_array(data=[0.5, 0.9331254454871041, --, --, --, --, --, --],
mask=[False, False, True, True, True, True, True, True],
fill_value=1e+20), 'param_classifier:random_forest:max_leaf_nodes': masked_array(data=['None', 'None', --, --, --, --, --, --],
mask=[False, False, True, True, True, True, True, True],
fill_value='N/A',
dtype='<U32'), 'param_classifier:random_forest:min_impurity_decrease': masked_array(data=[0.0, 0.0, --, --, --, --, --, --],
mask=[False, False, True, True, True, True, True, True],
fill_value=1e+20), 'param_classifier:random_forest:min_samples_leaf': masked_array(data=[1.0, 2.0, --, --, --, --, --, --],
mask=[False, False, True, True, True, True, True, True],
fill_value=1e+20), 'param_classifier:random_forest:min_samples_split': masked_array(data=[2.0, 20.0, --, --, --, --, --, --],
mask=[False, False, True, True, True, True, True, True],
fill_value=1e+20), 'param_classifier:random_forest:min_weight_fraction_leaf': masked_array(data=[0.0, 0.0, --, --, --, --, --, --],
mask=[False, False, True, True, True, True, True, True],
fill_value=1e+20), 'param_classifier:sgd:alpha': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:sgd:average': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:sgd:fit_intercept': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:sgd:learning_rate': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:sgd:loss': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:sgd:penalty': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:sgd:tol': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_data_preprocessor:feature_type:numerical_transformer:imputation:strategy': masked_array(data=['mean', 'mean', 'most_frequent', 'mean', 'mean',
'median', 'median', 'most_frequent'],
mask=[False, False, False, False, False, False, False, False],
fill_value='N/A',
dtype='<U13'), 'param_data_preprocessor:feature_type:numerical_transformer:rescaling:__choice__': masked_array(data=['standardize', 'none', 'quantile_transformer',
'normalize', 'minmax', 'robust_scaler',
'quantile_transformer', 'standardize'],
mask=[False, False, False, False, False, False, False, False],
fill_value='N/A',
dtype='<U20'), 'param_feature_preprocessor:pca:keep_variance': masked_array(data=[0.9999, 0.9967857433838874, 0.7895711479212801,
0.8047274080856589, 0.9290439925152777,
0.5306607720040878, 0.9923006586696794,
0.9710934401815425],
mask=[False, False, False, False, False, False, False, False],
fill_value=1e+20), 'param_feature_preprocessor:pca:whiten': masked_array(data=['False', 'False', 'True', 'False', 'False', 'False',
'False', 'True'],
mask=[False, False, False, False, False, False, False, False],
fill_value='N/A',
dtype='<U5'), 'param_classifier:gradient_boosting:n_iter_no_change': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:gradient_boosting:validation_fraction': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:lda:shrinkage_factor': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:libsvm_svc:coef0': masked_array(data=[--, --, --, --, 0.08087614244138486, --, --, --],
mask=[ True, True, True, True, False, True, True, True],
fill_value=1e+20), 'param_classifier:libsvm_svc:degree': masked_array(data=[--, --, --, --, 3.0, --, --, --],
mask=[ True, True, True, True, False, True, True, True],
fill_value=1e+20), 'param_classifier:mlp:validation_fraction': masked_array(data=[--, --, 0.1, --, --, --, --, --],
mask=[ True, True, False, True, True, True, True, True],
fill_value=1e+20), 'param_classifier:sgd:epsilon': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:sgd:eta0': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:sgd:l1_ratio': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_classifier:sgd:power_t': masked_array(data=[--, --, --, --, --, --, --, --],
mask=[ True, True, True, True, True, True, True, True],
fill_value=1e+20,
dtype=float64), 'param_data_preprocessor:feature_type:numerical_transformer:rescaling:quantile_transformer:n_quantiles': masked_array(data=[--, --, 180.0, --, --, --, 1866.0, --],
mask=[ True, True, False, True, True, True, False, True],
fill_value=1e+20), 'param_data_preprocessor:feature_type:numerical_transformer:rescaling:quantile_transformer:output_distribution': masked_array(data=[--, --, 'uniform', --, --, --, 'normal', --],
mask=[ True, True, False, True, True, True, False, True],
fill_value='N/A',
dtype='<U32'), 'param_data_preprocessor:feature_type:numerical_transformer:rescaling:robust_scaler:q_max': masked_array(data=[--, --, --, --, --, 0.9866104280704078, --, --],
mask=[ True, True, True, True, True, False, True, True],
fill_value=1e+20), 'param_data_preprocessor:feature_type:numerical_transformer:rescaling:robust_scaler:q_min': masked_array(data=[--, --, --, --, --, 0.20576464288464985, --, --],
mask=[ True, True, True, True, True, False, True, True],
fill_value=1e+20)}
检查最佳模型的组件¶
遍历模型的组件并打印每个阶段的解释方差比
for i, (weight, pipeline) in enumerate(automl.get_models_with_weights()):
for stage_name, component in pipeline.named_steps.items():
if "feature_preprocessor" in stage_name:
print(
"The {}th pipeline has a explained variance of {}".format(
i,
# The component is an instance of AutoSklearnChoice.
# Access the sklearn object via the choice attribute
# We want the explained variance attributed of
# each principal component
component.choice.preprocessor.explained_variance_ratio_,
)
)
The 0th pipeline has a explained variance of [0.46038401 0.16124884 0.09747816 0.06923404 0.06142479 0.03312917
0.03182802 0.01555463 0.01348582 0.00965531 0.00870982 0.007397
0.00547082 0.00443245 0.00396559 0.00313575 0.0022883 0.00195796
0.00156348]
The 1th pipeline has a explained variance of [0.98080571 0.01684553]
The 2th pipeline has a explained variance of [4.32956881e-01 1.79057296e-01 1.11737571e-01 6.80724345e-02
5.94611519e-02 3.70629898e-02 2.38430977e-02 1.49326086e-02
1.37641366e-02 1.13704890e-02 1.03737258e-02 8.74116751e-03
7.57629717e-03 4.86528503e-03 3.32225143e-03 2.55773043e-03
2.20759805e-03 1.88675402e-03 1.36245140e-03 1.03409213e-03
8.39749085e-04 7.91287172e-04 6.75655689e-04 5.42961621e-04
5.02641737e-04 2.07827509e-04 1.74597367e-04]
The 3th pipeline has a explained variance of [0.76699224 0.17152095]
The 4th pipeline has a explained variance of [0.49503611 0.16649281 0.09111888 0.07213284 0.04865917 0.03208923
0.01851537 0.01223987]
The 5th pipeline has a explained variance of [0.72985767]
The 6th pipeline has a explained variance of [0.45954164 0.18010277 0.09814953 0.06334655]
The 7th pipeline has a explained variance of [0.43295688 0.1790573 0.11173757 0.06807243 0.05946115 0.03706299
0.0238431 0.01493261 0.01376414 0.01137049 0.01037373 0.00874117]
脚本总运行时间: ( 0 分 26.004 秒)