2

我正在使用 imblearn over_sampling SMOTE 技术来平衡我的不平衡数据集。

这是我的示例代码

import pandas as pd
dataset=pd.read_csv('E://IOT_Netlume//hourly_data.csv')
features= dataset.iloc[:,[1,2,3,4]]
target= dataset.iloc[:,[5]]
from imblearn.over_sampling import SMOTE

# applying SMOTE to our data and checking the class counts
resampled, yresampled = SMOTE(random_state=42).fit_resample(features, target)

因此,当我尝试拟合 SMOTE 模型时,它会显示属性错误。AttributeError: 'DataFrame' object has no attribute 'name' 。有人能帮我解决这个问题吗?

我也安装了库

Windows-10-10.0.15063-SP0 Python 3.6.5 |Anaconda, Inc.| (默认, Mar 29 2018, 13:32:41) [MSC v.1900 64 bit (AMD64)] NumPy 1.17.4 SciPy 1.3.2 Scikit-Learn 0.22 以上是安装的版本。

特征和目标输出 特征输出 目标输出

4

1 回答 1

3

不平衡学习 0.6 将X接受y. 但是在写的时候

target= dataset.iloc[:,[5]]

target将是一个数据框(2D),而不平衡学习需要一个系列(1D)。只需编辑您的代码即可获得一系列:

target = dataset.iloc[:, 5]
于 2019-12-23T14:00:47.350 回答