python网格搜索优化参数_python – 是否有可能通过网格搜索调整参数scikit-learn中的自定义内核?...

本文介绍了如何在scikit-learn中使用Pipeline和GridSearchCV结合自定义核函数(如chi2_kernel)来优化SVM的参数。通过创建一个Chi2Kernel类包装自定义核函数,并在SVC中设置预计算核,实现了对gamma参数的网格搜索。示例代码展示了如何进行交叉验证和参数调优,最终找到最佳参数并展示测试集的准确率。
摘要由CSDN通过智能技术生成

一种方法是使用Pipeline,SVC(kernel =’precomputed’)并将自定义内核函数包装为sklearn估计器(BaseEstimator和TransformerMixin的子类)).

例如,sklearn包含custom kernel function chi2_kernel(X,Y = None,gamma = 1.0),它计算特征向量X和Y的核矩阵.

该函数采用参数gamma,最好使用交叉验证来设置.

我们可以对这个函数的参数进行网格搜索,如下所示:

from __future__ import print_function

from __future__ import division

import sys

import numpy as np

import sklearn

from sklearn.base import BaseEstimator, TransformerMixin

from sklearn.cross_validation import train_test_split

from sklearn.datasets import load_digits

from sklearn.grid_search import GridSearchCV

from sklearn.metrics import accuracy_score

from sklearn.metrics.pairwise import chi2_kernel

from sklearn.pipeline import Pipeline

from sklearn.svm import SVC

# Wrapper class for the custom kernel chi2_kernel

class Chi2Kernel(BaseEst

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值