ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python – 关于k折叠交叉验证的建议

2019-07-11 13:58:17  阅读:399  来源: 互联网

标签:python svm cross-validation


我目前正在使用以下代码执行使用支持向量机分类的dicom图像的交叉验证方法:

    #Cross Validation using k-folds
    clf = svm.SVC(kernel='linear')
    scores = cross_validation.cross_val_score(clf,X,Y,cv=16))
    print scores
    print("Accuracy: %0.2f (+/- %0.2f)" % (scores.mean(),scores.std()*2))

正如你所看到的,我目前正在使用16折,我怎样才能找到最好的折叠量?这是更好的情况吗?

此外,我发现在使用交叉验证时,我的准确度得分从66%到100%不等,通常平均准确度为82% – 85%.关于如何改进这个并且可能确保分类器从每个类中挑选相同数量的图像,是否有任何建议?

对不起,我是Python新手!

谢谢你的建议!

解决方法:

尝试使用GridSearchCV.例如,我可以创建一个管道,如

pipeline = Pipeline([

    ('clf', LogisticRegression())
    ])

    parameters = {

        'clf__C': (0.1, 1, 10, 20, 30)
    }

所以,这里我为我的LogisticRegression()分类器的C参数提供了5个不同的选项,在我的管道中由clf表示

当然,您可以使用SVC代替LogisticRegression().然后

grid_search = GridSearchCV(pipeline, parameters, n_jobs=3, verbose=1, scoring='accuracy')

然后就像是

bestParameters = grid_search.best_estimator_.get_params()
    for param_name in sorted(parameters.keys()):
        print ('\t %s: %r' % (param_name, bestParameters[param_name]))

将为您提供最佳的选项集

标签:python,svm,cross-validation
来源: https://codeday.me/bug/20190711/1432860.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有