代码之家  ›  专栏  ›  技术社区  ›  AHF

去噪过采样数据显示0

  •  0
  • AHF  · 技术社区  · 5 年前

    我正在处理我的数据集,对这个很陌生。代码如下:

    class_col_name='Creditability' 
    
    feature_names=df.columns[df.columns != class_col_name ]
    # 70% training and 30% test
    X_train, X_test, y_train, y_test = train_test_split(df.loc[:, feature_names], df[class_col_name], test_size=0.3,random_state=1) 
    print("Number transactions X_train dataset: ", X_train.shape) 
    print("Number transactions y_train dataset: ", y_train.shape) 
    print("Number transactions X_test dataset: ", X_test.shape) 
    print("Number transactions y_test dataset: ", y_test.shape) 
    
    print("Before OverSampling, counts of label '1': {}".format(sum(y_train == 1))) 
    print("Before OverSampling, counts of label '0': {} \n".format(sum(y_train == 0))) 
    

    我试图对我的数据集应用过采样,但当我在过采样前计数时,它在输出中显示为0,但它确实显示数据集有数据:

    以下是输出:

    Number transactions X_train dataset:  (700, 20)
    Number transactions y_train dataset:  (700,)
    Number transactions X_test dataset:  (300, 20)
    Number transactions y_test dataset:  (300,)
    Before OverSampling, counts of label '1': 0
    Before OverSampling, counts of label '0': 0 
    

    1 回复  |  直到 5 年前
        1
  •  0
  •   Matt C    5 年前

    您可能需要确认可能的类标签实际上是0和1。你可以试试

    print(y_train.unique())
    

    检查类标签是什么。

    如果yu列是一个标签在[0,1]中的pandas系列,那么我相信最后两行的结果实际上应该等于yu列的大小。如果标签不是整数0或1,那么这就可以解释为什么和都是0。

    推荐文章