Python如何解决svm内存不足的问题?

1 个回答

Coco老师 - 科普专家
擅长:编程教育

支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning)方式对数据进行二元分类的广义线性分类器。

在python中使用SVM处理大数据时可能会遇到内存不足的情况,新我们就来看一下如何解决内存不足的问题:

我们可以使用python分块读取大数据来避免内存不足,实现代码如下:

import pandas as pd
def read_data(file_name):
    '''
    file_name:文件地址
    '''
    inputfile = open(file_name, 'rb')   #可打开含有中文的地址
    data = pd.read_csv(inputfile, iterator=True)
    loop = True
    chunkSize = 1000    #一千行一块
    chunks = []
    while loop:
        try:
            chunk = data.get_chunk(chunkSize)
            chunks.append(chunk)
        except StopIteration:
            loop = False
            print("Iteration is stopped.")
    data = pd.concat(chunks, ignore_index=True)
    #print(train.head())
    return data