1、手动调参,但这种方法依赖于大量的经验,而且比较费时。
许多情况下,工程师依靠试错法手工调整超参数进行优化,有经验的工程师可以在很大程度上判断如何设置超参数,从而提高模型的准确性。
2、网格化寻优,是最基本的超参数优化方法。
利用这种技术,我们只需要为所有超参数的可能性建立一个独立的模型,评估每个模型的性能,选择产生最佳结果的模型和超参数。
from sklearn.datasets import load_iris from sklearn.svm import SVC iris = load_iris() svc = SVR() from sklearn.model_selection import GridSearchCV from sklearn.svm import SVR grid = GridSearchCV( estimator=SVR(kernel='rbf'), param_grid={ 'C': [0.1, 1, 100, 1000], 'epsilon': [0.0001, 0.0005, 0.001, 0.005, 0.01, 0.05, 0.1, 0.5, 1, 5, 10], 'gamma': [0.0001, 0.001, 0.005, 0.1, 1, 3, 5] }, cv=5, scoring='neg_mean_squared_error', verbose=0, n_jobs=-1)
3、随机寻优,可以更准确地确定某些重要超参数的最佳值。
并非所有的超参数都有同样的重要性,有些超参数的作用更加明显。
以上就是python超参数的优化方法,希望对大家有所帮助。更多Python学习指路:python基础教程
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。