赞
踩
AutoML(Automated Machine Learning)是指利用机器学习算法和技术来自动化机器学习的各个阶段,包括数据预处理、特征工程、模型选择、超参数调优和模型部署等过程。AutoML旨在降低机器学习的门槛,使非专业领域的人员也能简单快速地构建和部署机器学习模型。
AutoML的目标是通过自动化技术来减少人工调试和调优的工作量,提高机器学习模型的效果和性能。它通过算法搜索、自动化特征工程、超参数优化等方法,自动选择和调整合适的模型和参数,以达到更好的模型性能。AutoML还可以根据不同的任务和数据集,自动选择合适的机器学习算法和模型架构。
AutoML的优点包括:
总之,AutoML通过自动化机器学习的各个阶段,能够帮助用户更快速、更高效地构建和部署机器学习模型,降低了机器学习的门槛,并提高了模型的质量和性能。
在本节中,使用 Auto-Sklearn 来挖掘汽车保险数据集的模型。
汽车保险数据集[6]是一个标准的机器学习数据集,由 63 行数据组成,一个数字输入变量和一个数字目标变量。
使用具有三个重复的重复分层 10 折交叉验证的测试工具,朴素模型可以实现约 66 的平均绝对误差 (MAE)。性能最佳的模型可以在相同的测试工具上实现约 28 的 MAE . 这提供了该数据集的预期性能界限。
该数据集涉及根据不同地理区域的索赔数量预测索赔总额(数千瑞典克朗)。
可以使用与上一节相同的过程,尽管我们将使用AutoSklearnRegressor类而不是AutoSklearnClassifier。
默认情况下,回归器将优化 R^2指标。如果需要使用平均绝对误差或 MAE ,可以在调用fit()
函数时通过metric
参数指定它。
- # example of auto-sklearn for the insurance regression dataset
- from pandas import read_csv
- from sklearn.model_selection import train_test_split
- from sklearn.metrics import mean_absolute_error
- from autosklearn.regression import AutoSklearnRegressor
- from autosklearn.metrics import mean_absolute_error as auto_mean_absolute_error
- # load dataset
- dataframe = read_csv(data, header=None)
- # split into input and output elements
- data = dataframe.values
- data = data.astype('float32')
- X, y = data[:, :-1], data[:, -1]
- # split into train and test sets
- X_train, X_test, y_train, y_test = train_test_split(X, y,
- test_size=0.33,
- random_state=1)
- # define search
- model = AutoSklearnRegressor(time_left_for_this_task=5*60,
- per_run_time_limit=30, n_jobs=8)
- # perform the search
- model.fit(X_train, y_train, metric=auto_mean_absolute_error)
- # summarize
- print(model.sprint_statistics())
- # evaluate best model
- y_hat = model.predict(X_test)
- mae = mean_absolute_error(y_test, y_hat)
- print("MAE: %.3f" % mae)
在运行结束时,将打印一个摘要,显示评估了 1,759 个模型,最终模型的估计性能为 29 的 MAE。
- auto-sklearn results:
- Dataset name: ff51291d93f33237099d48c48ee0f9ad
- Metric: mean_absolute_error
- Best validation score: 29.911203
- Number of target algorithm runs: 1759
- Number of successful target algorithm runs: 1362
- Number of crashed target algorithm runs: 394
- Number of target algorithms that exceeded the time limit: 3
- Number of target algorithms that exceeded the memory limit: 0
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。