代码之家  ›  专栏  ›  技术社区  ›  Trinh Hieu

我想在100%中随机训练60%,剩下的40%在混乱矩阵中测试

  •  0
  • Trinh Hieu  · 技术社区  · 2 年前

    这是我的代码,我的逻辑错了 Xs = random.randint(1, nb_samples) #random

    window_size = 16 
    stride = 6 
    nb_samples = len(Feeding) #100%
    train_ratio = 0.6 #60%
    
    from random import randrange, uniform
    import random 
    
    Xs = random.randint(1, nb_samples) #random
    
    X_feeding_train = [Feeding[i:i+window_size] for i in range(0, int(Xs*train_ratio), stride) if i+window_size<=int(len(Feeding))]
    
    #X_feeding_train = [Feeding[i:i+window_size] for i in range(0, int(len(Feeding)*train_ratio), stride) if i+window_size<=int(len(Feeding))]
    X_feeding_test = [Feeding[i:i+window_size] for i in range(irand, len(Feeding), stride) if i+window_size<=len(Feeding)]
    
    X_lying_train = [Lying[i:i+window_size] for i in range(0, int(len(Lying)*train_ratio), stride) if i+window_size<=int(len(Lying))]
    X_lying_test = [Lying[i:i+window_size] for i in range(int(len(Lying)*train_ratio), len(Lying), stride) if i+window_size<=len(Lying)]
    
    X_standing_train = [Standing[i:i+window_size] for i in range(0, int(len(Standing)*train_ratio), stride) if i+window_size<=int(len(Standing))]
    X_standing_test = [Standing[i:i+window_size] for i in range(int(len(Standing)*train_ratio), len(Standing), stride) if i+window_size<=len(Standing)]
    
    X_normalw_train = [Normal_walking[i:i+window_size] for i in range(0, int(len(Normal_walking)*train_ratio), stride) if i+window_size<=int(len(Normal_walking))]
    X_normalw_test = [Normal_walking[i:i+window_size] for i in range(int(len(Normal_walking)*train_ratio), len(Normal_walking), stride) if i+window_size<=len(Normal_walking)]
    #add 
    feedi = len(X_feeding_train) + len(X_feeding_test)
    
    
    print('X_feeding_train_and_test: ', feedi)
    
    # print('X_feeding_train: ', len(X_feeding_train))
    # print('X_feeding_test: ', len(X_feeding_test))
    
    print('X_lying_train: ', len(X_lying_train))
    print('X_lying_test: ', len(X_lying_test))
    
    print('X_standing_train: ', len(X_standing_train))
    print('X_standing_test: ', len(X_standing_test))
    
    print('X_normalw_train: ', len(X_normalw_train))
    print('X_normalw_test: ', len(X_normalw_test))
    
    print('Total: \n')
    print('Train: ', len(X_feeding_train)+len(X_lying_train)+len(X_standing_train)+
         len(X_normalw_train))
    print('Test: ', len(X_feeding_test)+len(X_lying_test)+len(X_standing_test)+ len(X_normalw_test))
    

    我应该使用 feedi = len(X_feeding_train) + len(X_feeding_test) ? 我想在100%的训练中随机抽取60%( nb_样本=len(喂食)#总计100% ),剩下40%用于测试 然后我想让它打印结果

    1 回复  |  直到 2 年前
        1
  •  1
  •   Hari Prasad    2 年前

    你可以参考: https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html

    sklearn.model_selection.train_test_split(*arrays, test_size=None, train_size=None, random_state=None, shuffle=True, stratify=None)[source]
    

    使用“numpy数组”作为第一个参数