【发布时间】:2019-02-13 00:22:45
【问题描述】:
我的用例是,我想为高斯过程回归自动选择特征。对于各向同性内核,这很容易做到,如下例所示:
import numpy as np
from mlxtend.feature_selection import SequentialFeatureSelector
from sklearn.gaussian_process import GaussianProcessRegressor
from sklearn.gaussian_process.kernels import RBF
X = np.random.rand(100, 10)
y = np.random.rand(100)
gpr = GaussianProcessRegressor(kernel=RBF(length_scale=[1]))
selector = SequentialFeatureSelector(gpr, forward=False)
selector.fit(X, y)
为了使用各向异性内核,必须将内核的定义更改为RBF(length_scale=[1] * num_features)。
但是,每轮特征选择的特征数量都会发生变化,从而引发ValueError: Anisotropic kernel must have the same number of dimensions as data (10!=9)
有没有办法获得具有动态特征数量的各向异性内核?
【问题讨论】:
标签: python scikit-learn