Я написал сценарий python, чтобы взять большой файл (матрица ~ 50k строк X ~ 500 cols) и использовать его в качестве набора данных для обучения случайной модели леса.Как избежать повторного загрузки большого файла в скрипт python?
Мой сценарий имеет две функции: одну для загрузки набора данных, а другую для обучения случайной модели леса с использованием указанных данных. Они оба работают нормально, но загрузка файла занимает ~ 45 секунд, и это больно делать это каждый раз, когда я хочу обучать тонкую другую модель (тестирование многих моделей на одном наборе данных). Вот код загрузки файла:
def load_train_data(train_file):
# Read in training file
train_f = io.open(train_file)
train_id_list = []
train_val_list = []
for line in train_f:
list_line = line.strip().split("\t")
if list_line[0] != "Domain":
train_identifier = list_line[9]
train_values = list_line[12:]
train_id_list.append(train_identifier)
train_val_float = [float(x) for x in train_values]
train_val_list.append(train_val_float)
train_f.close()
train_val_array = np.asarray(train_val_list)
return(train_id_list,train_val_array)
Это возвращает массив numpy с col. 9 в качестве метки и столбцов. 12-end в качестве метаданных для обучения случайному лесу.
Я собираюсь обучить много разных форм моей модели с одинаковыми данными, поэтому я просто хочу загрузить файл один раз и предоставить его для загрузки в мою случайную функцию леса. Я хочу, чтобы файл был объектом, который я думаю (я довольно новичок в python).
Я считаю, что если вы запускаете консоль python, вы можете загрузить файл один раз, а затем загружать другие файлы/функции вызова отдельно, не перезагружая файл. – user985366
Вы должны посмотреть на [pandas] (http://pandas.pydata.org).) для обработки данных. Манипулирование данными с помощью него - детская игра. Вы сможете быстро схватить его, если раньше вы использовали R. В частности, вы должны взглянуть на функции 'read_xxx' в документации, которые позволяют загружать различные форматы файлов в фреймворк данных. –