Traceback (most recent call last): File "C:\Users\86188\PycharmProjects\pythonProject8\src\svm1.py", line 86, in <module> svm_model = GridSearchCV(svm_model, params, cv=5) File "C:\Python37\lib\site-packages\sklearn\model_selection\_search.py", line 1388, in __init__ _check_param_grid(param_grid) File "C:\Python37\lib\site-packages\sklearn\model_selection\_search.py", line 338, in _check_param_grid " with one element.".format(name, type(v)) ValueError: Parameter grid for parameter (kernel) needs to be a list or numpy array, but got (<class 'str'>). Single values need to be wrapped in a list with one element. hello Best Parameter: {'kernel': 'rbf', 'C': 1, 'gamma': 'auto', 'decision_function_shape': 'ovo', 'random_state': [2017]} 进程已结束,退出代码1
时间: 2023-06-19 21:06:15 浏览: 157
浅谈Python traceback的优雅处理
这个错误是因为在参数搜索的过程中,有一个参数(kernel)的值不是列表或者numpy数组,而是一个字符串。这个参数应该是一个列表或者numpy数组,即使只有一个值,也需要被包裹在一个列表中。你可以尝试修改参数grid的值,将kernel参数改为一个列表,例如:{'kernel':['rbf'], 'C':[1], 'gamma':['auto'], 'decision_function_shape':['ovo'], 'random_state':[[2017]]}。注意,这里的kernel参数是一个包含一个字符串的列表。
阅读全文