我最近在Kaggle上尝试了这个多重分类问题
这些是标签的value_counts()
:
2 1661772
4 1613640
8 1471098
5 1389385
9 1361200
3 1337218
7 1325075
6 1316784
10 1250655
1 1240152
0 1240152
现在,我知道它是不平衡的,所以首先我需要知道如何平衡它
我还需要分块读取文件,因为我只有16GB的内存,这还不够 所以我用了:
data_chunks = pd.read_csv(filename, chunk_size=1024)
data = next(iter(data_chunks))
变量data
包含1024个元素,所有的标签都是零,这对零构成了严重的威胁,因为我的模型只是训练所有的东西都返回零
所以我需要知道如何在read_csv()
函数中随机选择块
提前谢谢
PS:我刚开始使用现实生活中的数据集,而不是scikit-learn
上的玩具数据集,如果我犯了任何新手错误,请原谅
通过这样做,您可以访问所有的块,现在有多种方法可以选择一个平衡的类数据集,方法是创建一个包含块中所有相等类的新数据帧
我还建议对无法直接加载到内存中的大型数据帧使用DASK。它不会改变pandas语法,在大数据帧上就像一个符咒一样工作
嘿,你可以使用样本(分数=0.20) 这将从csv中随机获取20%的数据,您可以相应地进行调整
相关问题 更多 >
编程相关推荐