玉668 2022-03-15 12:13 采纳率: 33.3%
浏览 25
已结题

请教一下交叉验证相关问题

请问一下10×10交叉验证是重复分层交叉验证吗,10×10交叉验证的python代码怎么实现啊

  • 写回答

2条回答 默认 最新

  • 关注

    10×10交叉验证是将数据集分成十份,轮流将其中9份做训练1份做验证,10次的结果的均值作为对算法精度的估计,以此进行10次10折交叉验证求均值
    这是一个例子

    # -*- coding: utf-8 -*-
    import numpy as np
    from sklearn import cross_validation
    from sklearn import datasets
    from sklearn import svm
    iris = datasets.load_iris()
    X=iris.data
    Y=iris.target
    
    def tenFolds(X,Y):
        from sklearn.model_selection import StratifiedKFold
        skf= StratifiedKFold(n_splits=10)
        from sklearn.cross_validation import cross_val_score
        clf = svm.SVC(kernel='linear', C=5)
        zhou=[]
        #shoushou=list(skf.split(X,Y)) #发现每一个都是tuple类型的数据
        for train_index,test_index in skf.split(X,Y):
            print('Train: ',train_index,'Test: ',test_index)
            X_train,X_test=X[train_index],X[test_index]
            Y_train,Y_test=Y[train_index],Y[test_index]
            v10=cross_val_score(clf,X_train,Y_train,cv=5).mean() 
            zhou.append(v10)
        print('均值:',np.mean(zhou)) 
        print('方差:',np.std(zhou)) 
        return zhou,np.mean(zhou)+np.std(zhou)
    
    # X:features  Y:targets  cv:k
    import pandas as pd
    all_valid=[]
    mean_var=[]
    #做10次10折交叉验证结果分析
    for i in range(1,11):
        df1=pd.DataFrame(X)
        df2=pd.DataFrame(Y)
        df3=pd.concat([df1,df2],axis=1)
        df3.columns=['f1','f2','f3','f4','label']
        df3=df3.sample(frac = 1) #随机打乱样本
        df3.index=range(150)
        X1=np.array(df3[['f1','f2','f3','f4']])
        Y1=np.array(df3['label'])
        zhou,vsd= tenFolds(X1,Y1)
        all_valid.append(zhou)
        mean_var.append(vsd)
    np.mean(mean_var) 
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月23日
  • 已采纳回答 3月15日
  • 创建了问题 3月15日

悬赏问题

  • ¥15 求chat4.0解答一道线性规划题,用lingo编程运行,第一问要求写出数学模型和lingo语言编程模型,第二问第三问解答就行,我的ddl要到了谁来求了
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果