首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用**kwargs设置n_estimators参数(Scikit学习)

使用**kwargs设置n_estimators参数(Scikit学习)
EN

Stack Overflow用户
提问于 2016-09-02 03:06:38
回答 1查看 1K关注 0票数 3

我正在尝试按照this教程学习基于机器学习的预测,但我有两个问题?

Ques1。如何在下面的代码中设置n_estimators,否则将始终采用默认值。

代码语言:javascript
复制
from sklearn.cross_validation import KFold

def run_cv(X,y,clf_class,**kwargs):
# Construct a kfolds object
kf = KFold(len(y),n_folds=5,shuffle=True)
y_pred = y.copy()

# Iterate through folds
for train_index, test_index in kf:
    X_train, X_test = X[train_index], X[test_index]
    y_train = y[train_index]
    # Initialize a classifier with key word arguments
    clf = clf_class(**kwargs)
    clf.fit(X_train,y_train)
    y_pred[test_index] = clf.predict(X_test)
return y_pred

它被称为:

from sklearn.svm import SVC print "%.3f" % accuracy(y, run_cv(X,y,SVC))

Ques2:如何使用已经训练好的模型文件(例如,从支持向量机获得),以便我可以使用它来预测更多(测试)我没有用于训练的数据?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-02 07:16:55

对于您的第一个问题,在上面的代码中,您将调用run_cv(X,y,SVC,n_classifiers=100)**kwargs将使用步骤clf = clf_class(**kwargs)将其传递给分类器初始化器。

对于您的第二个问题,您链接的代码中的交叉验证只是为了模型评估,即比较不同类型的模型和超参数,并确定模型在生产中可能的有效性。一旦你决定了你的模型,你需要在整个数据集上重新构建模型:

代码语言:javascript
复制
clf.fit(X,y)

然后,您可以使用clf.predictclf.predict_proba获得预测结果。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39279121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档