python 分类模型的参数会产生不同的结果

92dk7w1h  于 2022-12-25  发布在  Python
关注(0)|答案(1)|浏览(127)

我正在使用SVC模型进行分类,每次更改参数值(svc__gamma、svc__kernel和svc__C)时都会遇到不同的准确度结果,我阅读了Sklearn文档,但无法理解这些参数的含义,我有三个问题:
1.这些参数说明了什么?
1.它的效果怎么样每次我都能准确地改变它?
1.正确的参数值是什么?
精度的结果是0.70,但是当我删除svc_gamma和svc__C时,结果增加到0.76。

pipe = make_pipeline(TfidfVectorizer(),
                             SVC())
param_grid = {'svc__kernel': ['rbf', 'linear', 'poly'],
                     'svc__gamma': [0.1, 1, 10, 100],
                     'svc__C': [0.1, 1, 10, 100]}

svc_model = GridSearchCV(pipe, param_grid, cv=3)
svc_model.fit(X_train, Y_train)

prediction = svc_model.predict(X_test)
print(f"Accuracy score is {accuracy_score(Y_test, prediction):.2f}")
print(classification_report(Y_test, prediction))
1sbrub3j

1sbrub3j1#

到1。

  • gamma是高斯钟形曲线的参数,因此它应该只影响RBF(高斯核)
  • C是优化问题的参数,拉格朗日乘数的倒数

到.2。

  • 熟悉数学背景以充分理解它们如何影响你的准确性(sidenote:准确性通常不是可靠的衡量标准,而是取决于上下文。

到3。

  • 没有"正确"的参数。2它们取决于上下文、数据和你想要达到的目标。3通常在算法对测试数据的处理效果和对新数据的处理效果之间存在一个权衡(过拟合和欠拟合)

我希望这能作为第一步有所帮助:)有关进一步的信息,我建议使用SVM

相关问题