import sklearn.model_selection
import sklearn.datasets
import sklearn.metrics
import autosklearn.classification
import openml
def main():
openml.config.apikey = '610344db6388d9ba34f6db45a3cf71de'
# 下载task
task = openml.tasks.get_task(2117)
train_indices, test_indices = task.get_train_test_split_indices()
X, y = task.get_X_and_y()
X_train = X[train_indices]
y_train = y[train_indices]
X_test = X[test_indices]
y_test = y[test_indices]
dataset = task.get_dataset()
_, _, categorical_indicator = dataset.\
get_data(target=task.target_name, return_categorical_indicator=True)
# 得到column的类别
feat_type = ['Categorical' if ci else 'Numerical'
for ci in categorical_indicator]
cls = autosklearn.classification.AutoSklearnClassifier(
time_left_for_this_task=120,
per_run_time_limit=30,
)
cls.fit(X_train, y_train, feat_type=feat_type)
predictions = cls.predict(X_test)
print("Accuracy score", sklearn.metrics.accuracy_score(y_test, predictions))
if __name__ == "__main__":
main()
python-autosklearn-openml-处理连续分类数据
最新推荐文章于 2024-02-06 14:43:07 发布