我有一个超过10GB的CSV文件,我使用pandas.read_csv()中的”chunksize”参数来读取和预处理数据,训练模型时我想使用一种在线学习算法。
通常情况下,交叉验证和超参数调优是在整个训练数据集上进行的,并使用最佳超参数来训练模型,但对于大型数据,如果我在训练数据的一部分上执行同样的操作,如何选择超参数呢?
回答:
我认为您正在寻找的可能是像这个链接中提到的在线学习算法:Scaling Strategies for large datasets。您应该使用支持partial_fit
参数的算法,以分块的方式加载这些大型数据集。您还可以查看以下链接,看看哪个对您最有帮助,因为您没有指定具体的问题或您正在使用的算法:
- Numpy save partial results in RAM
- Scalling Computationally – Sklearn
- Using Large Datasets in Sklearn
- Comparision of various Online Sovers -Sklearn
编辑:如果您想解决类不平衡问题,可以尝试这个:imabalanced-learn library in Python