gpt4 book ai didi

python - 使用 SVM 回归的 Scikit-learn 网格搜索

转载 作者:太空狗 更新时间:2023-10-29 19:37:21 28 4
gpt4 key购买 nike

我正在学习交叉验证网格搜索并遇到了这个 youtube playlist教程也已经上传到github作为 ipython 笔记本。我正在尝试重新创建同时搜索多个参数 部分中的代码,但我没有使用 knn,而是使用 SVM 回归。这是我的代码

from sklearn.datasets import load_iris
from sklearn import svm
from sklearn.grid_search import GridSearchCV
import matplotlib.pyplot as plt
import numpy as np
iris = load_iris()
X = iris.data
y = iris.target

k=['rbf', 'linear','poly','sigmoid','precomputed']
c= range(1,100)
g=np.arange(1e-4,1e-2,0.0001)
g=g.tolist()
param_grid=dict(kernel=k, C=c, gamma=g)
print param_grid
svr=svm.SVC()
grid = GridSearchCV(svr, param_grid, cv=5,scoring='accuracy')
grid.fit(X, y)
print()
print("Grid scores on development set:")
print()
print grid.grid_scores_
print("Best parameters set found on development set:")
print()
print(grid.best_params_)
print("Grid best score:")
print()
print (grid.best_score_)
# create a list of the mean scores only
grid_mean_scores = [result.mean_validation_score for result in grid.grid_scores_]
print grid_mean_scores

但是它给出了这个错误

raise ValueError("X should be a square kernel matrix") ValueError: X should be a square kernel matrix

最佳答案

从您的参数空间中删除'precomputed'

kernel='precomputed'只能在传递 (n_samples, n_samples) 数据矩阵时使用,该数据矩阵表示样本的成对相似性,而不是传统的 (n_samples, n_features) 矩形数据矩阵。

有关内核参数含义的更多详细信息,请参阅文档:

关于python - 使用 SVM 回归的 Scikit-learn 网格搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36306555/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com