- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试获取具有 RBF 内核的 SVM 分类器的前 10 个信息最丰富(最佳)特征。由于我是编程初学者,我尝试了一些在网上找到的代码。不幸的是,没有一个有效。我总是收到错误:ValueError: coef_ 仅在使用线性内核时可用
。
这是我测试的最后一个代码:
scaler = StandardScaler(with_mean=False)
enc = LabelEncoder()
y = enc.fit_transform(labels)
vec = DictVectorizer()
feat_sel = SelectKBest(mutual_info_classif, k=200)
# Pipeline for SVM classifier
clf = SVC()
pipe = Pipeline([('vectorizer', vec),
('scaler', StandardScaler(with_mean=False)),
('mutual_info', feat_sel),
('svc', clf)])
y_pred = model_selection.cross_val_predict(pipe, instances, y, cv=10)
# Now fit the pipeline using your data
pipe.fit(instances, y)
def show_most_informative_features(vec, clf, n=10):
feature_names = vec.get_feature_names()
coefs_with_fns = sorted(zip(clf.coef_[0], feature_names))
top = zip(coefs_with_fns[:n], coefs_with_fns[:-(n + 1):-1])
for (coef_1, fn_1), (coef_2, fn_2) in top:
return ('\t%.4f\t%-15s\t\t%.4f\t%-15s' % (coef_1, fn_1, coef_2, fn_2))
print(show_most_informative_features(vec, clf))
有人没有办法从带有 RBF 内核的分类器中获取前 10 个特征吗?或者另一种可视化最佳功能的方式?
最佳答案
我不确定您所要求的对于 RBF 内核是否可行,与您所展示的示例类似(正如您的错误所示,它仅适用于线性内核)。
但是,您始终可以尝试功能消融
;一一删除每个功能并测试它如何影响性能。对性能影响最大的 10 个功能是您的“十大功能”。
显然,只有在 (1) 您的特征相对较少和/或 (2) 训练和测试模型不需要很长时间的情况下,这才有可能。
关于python - 带有 rbf 内核的前 10 个功能 SVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45530461/
我想应用 RBF 神经网络来教授我的系统。我有一个带有输入的系统: | 1 2 3 4 5 6 ... 32 | 33 | | 1000 0001 001
我是数据科学领域的新手,我知道如何使用 sklearn 库以及如何自定义 RBF 内核,但我想从头开始实现 SVM-RBF 内核以用于学习目的以及如何在不使用的情况下手动实现拟合和预测sklearn
我正在使用 RBF 内核 matlab 函数。 在几个数据集上,随着我继续增加 sigma 值,支持向量的数量增加并且准确性增加。 而在一个数据集的情况下,当我增加 sigma 值时,支持向量会减少并
我想实现一个 RBFN 并在 StackOverflow 上找到了这段代码。虽然我明白一些代码,但我不明白什么 gamma , kwargs ,以及整个 call功能。 有人可以向我解释一下吗? fr
非常类似于RBF interpolation fails: LinAlgError: singular matrix但我认为问题不同,因为我没有重复的坐标。 玩具示例: import numpy as
我正在尝试寻找以高斯函数作为径向基函数的神经网络代码。我想使用反向传播学习规则。 我拥有所有数据,所以我只需要 RBF 神经网络。谢谢! 最佳答案 Encog 库(C# 和 Java)具有以下功能:
我想问一下 SVM 上的 RBF 内核。 在 sklearn 的文档中:http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVR
我正在使用 sklearn.svm.SVC (kernel='rbf') 对图像数据进行分类,效果很好。线性 SVM 通过在两个类之间放置一个超平面来对数据进行分类。在 rbf SVM 的情况下,平面
使用 RBF 进行插值时出现一些错误。这是一维的示例。我认为这与我的 y 值彼此之间的接近程度有关。有什么办法可以解决这个问题吗? import numpy as np from scipy.inte
我有类似这个问题的答案分别是这个问题的答案:RBF interpolation: LinAlgError: singular matrix 但是我想用rbf做概率分布。 到目前为止我的代码: from
当我使用 SVM 的 trainAuto 方法时,我得到 getKernelType() 的值 2 但是当我在我的代码中使用 RBF 时,它训练我的文件并输出 XML 文件。 svm = cv2.ml
当我执行下面的代码时 import matplotlib.pyplot as plt import numpy as np from scipy.interpolate import Rbf x_co
如果给我训练数据集和未标记的数据集,Matlab 的 RBF 核矩阵算法是什么? 最佳答案 这应该是您要查找的内容。它取自 here % With Fast Computation of the RB
我对 svm 分类有点陌生。我正在尝试使用 opencv svm 分类器进行一些人脸识别。输入特征参数是归一化的局部二进制模式。所以所有的值都是从0-1。我首先尝试使用线性核来训练分类器,然后使用训练
我想为我的非线性可分离数据实现 SVM RBF 内核。我将我的内核定义为: def rbf(va, vb): gamma = 0.7 return exp(-gamma * linal
如何在 Neupy 或 Theano 中实现自定义激活函数(通过梯度下降调整均值和方差的 RBF 核)以在 Neupy 中使用。 {快速背景:梯度下降适用于网络中的每个参数。我想创建一个专门的特征空间
from sklearn.model_selection import GridSearchCV from sklearn import svm params_svm = {
我想像这里一样用 rbf 函数绘制一些点以获得点的密度分布: 如果我运行下面的代码,它工作正常: from scipy.interpolate.rbf import Rbf # radial bas
我在 3 维空间中有几个数据点 (x, y, z) 并使用 scipy.interpolate.Rbf 对它们进行插值。这给了我一个很好地代表 3D 对象表面的样条线。我现在想确定几个具有相同的任意
我使用 scipy.interpolate 插值数据集,它给出了热图(z 值作为 x、y 的函数): rbf = scipy.interpolate.Rbf(x, y, z, function='cu
我是一名优秀的程序员,十分优秀!