• Python数据分析实战-实现模型K折交叉验证(附源码和实现效果)


    前面我介绍了可视化的一些方法以及机器学习在预测方面的应用,分为分类问题(预测值是离散型)和回归问题(预测值是连续型)(具体见之前的文章)。

    从本期开始,我将做一个数据分析类实战的系列文章,列举一些在平时数据处理中遇到的一些小问题,提供一个解决方案,让读者慢慢理解python数据分析的原理和方法,每一篇文章从实现功能、实现代码、实现效果三个方面进行展示。

    实现功能:

    k折交叉验证是将数据分为k份,选取其中的k-1份为训练数据,剩余的一份为测试数据。k份数据循环做测试集进行测试。此原理适用于数据量小的数据。使用KFpld函数,实现模型的交叉验证,选择最佳模型。n_splits = 5,表示进行5折交叉验证,分别计算每一次的准确率,最后求得平均准确率。

    实现代码:

    from sklearn import datasets
    from sklearn.model_selection import KFold
    from sklearn.tree import DecisionTreeClassifier
    
    iris = datasets.load_iris()
    data, target = iris.data, iris.target
    print(data)
    print(target)
    
    kf = KFold(n_splits = 5, shuffle=True, random_state=0)
    curr_score=0
    for train_index, test_index in kf.split(data):
        clt = DecisionTreeClassifier(max_depth=5, random_state=0).fit(data[train_index], target[train_index])
        curr_score = curr_score + clt.score(data[test_index], target[test_index])
        print("准确率为:", clt.score(data[test_index], target[test_index]))
    
    avg_score = curr_score / 5
    print("平均准确率为:", avg_score)

    实现效果:

     

            本人读研期间发表5篇SCI数据挖掘相关论文,现在在某研究院从事数据挖掘相关工作,对数据挖掘有一定的认知和理解,会不定期分享一些关于python机器学习、深度学习、数据挖掘基础知识与案例。致力于只做原创,以最简单的方式让你理解和学习它们,关注V数据杂坛与我一起交流成长。
     

  • 相关阅读:
    Django 创建第一个项目
    C++修炼之路之继承<二>
    栈的调用方式
    【Java】常用的文件操作
    django之day01
    【Git】使用笔记
    c++ 类的实例化顺序
    C++的介绍与认识
    Python武器库开发-flask篇之URL重定向(二十三)
    在SpringSecurity + SpringSession项目中如何实现当前在线用户的查询、剔除登录用户等操作
  • 原文地址:https://blog.csdn.net/sinat_41858359/article/details/128078259