load_svmlight_files#
-
sklearn.datasets.load_svmlight_files(файлы, *, n_features=None, dtype=
'numpy.float64'> , multilabel=False, zero_based='auto', query_id=False, offset=0, length=-1)[источник]# Загрузить набор данных из нескольких файлов в формате SVMlight.
Эта функция эквивалентна применению load_svmlight_file к списку файлов, за исключением того, что результаты объединяются в единый плоский список, и векторы выборок ограничены одинаковым количеством признаков.
Если файл содержит ограничение попарного предпочтения (известное как "qid" в формате svmlight), оно игнорируется, если параметр query_id не установлен в True. Эти ограничения попарного предпочтения могут использоваться для ограничения комбинации образцов при использовании функций потерь попарного сравнения (как в некоторых задачах обучения ранжированию), чтобы учитывались только пары с одинаковым значением query_id.
- Параметры:
- файлыarray-like, dtype=str, path-like, file-like или int
(Пути) файлов для загрузки. Если путь заканчивается на ".gz" или ".bz2", он будет распакован на лету. Если передано целое число, предполагается, что это файловый дескриптор. Файлоподобные объекты и файловые дескрипторы не будут закрыты этой функцией. Файлоподобные объекты должны быть открыты в бинарном режиме.
Изменено в версии 1.2: Теперь принимаются объекты, подобные пути.
- n_featuresint, default=None
Количество признаков для использования. Если None, будет выведено из максимального индекса столбца, встречающегося в любом из файлов.
Это может быть установлено в значение, большее фактического количества признаков в любом из входных файлов, но установка меньшего значения вызовет исключение.
- dtypeтип данных numpy, по умолчанию=np.float64
Тип данных загружаемого набора данных. Это будет тип данных выходных массивов numpy
Xиy.- многометочныйbool, по умолчанию=False
Каждый образец может иметь несколько меток (см. https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/multilabel.html).
- zero_basedbool или "auto", по умолчанию="auto"
Являются ли индексы столбцов в f нулевыми (True) или единичными (False). Если индексы столбцов единичные, они преобразуются в нулевые, чтобы соответствовать соглашениям Python/NumPy. Если установлено значение "auto", применяется эвристическая проверка для определения этого из содержимого файла. Оба типа файлов встречаются "в дикой природе", но, к сожалению, они не самоидентифицируются. Использование "auto" или True всегда должно быть безопасным, когда не передается смещение или длина. Если переданы смещение или длина, режим "auto" переключается на zero_based=True, чтобы избежать получения эвристической проверкой противоречивых результатов на разных сегментах файла.
- query_idbool, по умолчанию=False
Если True, будет возвращать массив query_id для каждого файла.
- смещениеint, по умолчанию=0
Пропустить первые байты смещения, перейдя вперед, затем отбросить следующие байты до следующего символа новой строки.
- длинаint, по умолчанию=-1
Если строго положительное, прекратите чтение любых новых строк данных, как только позиция в файле достигнет порога (смещение + длина) байт.
- Возвращает:
- [X1, y1, …, Xn, yn] или [X1, y1, q1, …, Xn, yn, qn]: список массивов
Каждая пара (Xi, yi) — результат из load_svmlight_file(files[i]). Если query_id установлен в True, это вернет вместо этого тройки (Xi, yi, qi).
Смотрите также
load_svmlight_fileАналогичная функция для загрузки одного файла в этом формате.
Примечания
При обучении модели на матрице X_train и её оценке на матрице X_test важно, чтобы X_train и X_test имели одинаковое количество признаков (X_train.shape[1] == X_test.shape[1]). Это может быть не так, если вы загружаете файлы по отдельности с помощью load_svmlight_file.
Примеры
Чтобы использовать joblib.Memory для кэширования файла svmlight:
from joblib import Memory from sklearn.datasets import load_svmlight_file mem = Memory("./mycache") @mem.cache def get_data(): data_train, target_train, data_test, target_test = load_svmlight_files( ["svmlight_file_train", "svmlight_file_test"] ) return data_train, target_train, data_test, target_test X_train, y_train, X_test, y_test = get_data()