【发布时间】:2022-01-16 10:45:00
【问题描述】:
我正在研究时间序列二元分类问题。我的每一行代表一个人(我有 N 个消费者),而这些列是我从他那里得到的单个变量的每日测量值(每个消费者的 K 个测量值)。然后,我需要检测是否有人进行了欺诈(标志 1 或 0)。这里有一个小例子:
data = {'CONS_NO': [1,2,3,'N'], 'Day_1': [1, 2, 3, 4], 'Day_2': [200, 321, 0, 128], 'Day_K': [123, 0, 3, 1], 'FLAG':[1,1,0,0]}
# Create DataFrame
df = pd.DataFrame(data)
df
CONS_NO Day_1 Day_2 Day_K FLAG
0 1 1 200 123 1
1 2 2 321 0 1
2 3 3 0 3 0
3 N 4 128 1 0
我的数据集现在是这样的,前 3000 行由实施欺诈的消费者组成,而其余行由诚实的消费者组成。
我已经看到我不应该洗牌我的列,我需要使用TimeSeriesSplit() 之类的东西来拆分我的训练/测试集。但是,可以打乱我的数据框中的行吗?或者更准确地说,我真的需要这样做吗?它对训练我的模型有帮助吗?
【问题讨论】:
标签: python pandas time-series shuffle