我目前在一个基于ML的项目中工作,我的数据中有轻微的不平衡,需要over_sampling技术。特征(X_train)维度为(90664,190),目标(Y_binary_train_trans)为(90664,)。但是,代码运行后仍然输出相同的、不均匀的目标分布。这是用于RandomOverSampler的代码,它也曾尝试使用smote;
counter= Counter(Y_binary_train_trans)
ros= RandomOverSampler(random_state=42)
X_train, Y_binary_train_trans = ros.fit_resample(X_train,Y_binary_train_trans)
counter = Counter(Y_binary_test_trans)发布于 2020-04-15 17:32:50
counter= Counter(Y_binary_train_trans)
ros= RandomOverSampler(random_state=42)
X_train, Y_binary_train_trans = ros.fit_resample(X_train,Y_binary_train_trans)
counter = Counter(Y_binary_test_trans)对于这段代码,您的第二个计数器计算的是测试样本,而不是您实际更改的训练样本!
相反,它应该是:
counter= Counter(Y_binary_train_trans)
ros= RandomOverSampler(random_state=42)
X_train, Y_binary_train_trans = ros.fit_resample(X_train,Y_binary_train_trans)
counter = Counter(Y_binary_train_trans)https://stackoverflow.com/questions/61206789
复制相似问题