load_svmlight_file#
-
sklearn.datasets.load_svmlight_file(f, *, n_features=None, dtype=
'numpy.float64'> , multilabel=False, zero_based='auto', query_id=False, offset=0, length=-1)[источник]# Загрузить наборы данных в формате svmlight / libsvm в разреженную CSR-матрицу.
Этот формат является текстовым форматом, с одним образцом на строку. Он не хранит признаки с нулевым значением, поэтому подходит для разреженных наборов данных.
Первый элемент каждой строки может использоваться для хранения целевой переменной для прогнозирования.
Этот формат используется как формат по умолчанию как для svmlight, так и для программ командной строки libsvm.
Разбор текстового источника может быть затратным. При многократной работе с одним и тем же набором данных рекомендуется обернуть этот загрузчик с помощью joblib.Memory.cache, чтобы сохранить memmapped резервную копию CSR-результатов первого вызова и воспользоваться почти мгновенной загрузкой memmapped структур для последующих вызовов.
Если файл содержит ограничение попарного предпочтения (известное как "qid" в формате svmlight), оно игнорируется, если параметр query_id не установлен в True. Эти ограничения попарного предпочтения могут использоваться для ограничения комбинации образцов при использовании функций потерь попарного сравнения (как в некоторых задачах обучения ранжированию), чтобы учитывались только пары с одинаковым значением query_id.
Эта реализация написана на Cython и достаточно быстра. Однако более быстрый API-совместимый загрузчик также доступен по адресу: mblondel/svmlight-loader
- Параметры:
- fstr, path-like, file-like или int
(Путь к) файлу для загрузки. Если путь заканчивается на ".gz" или ".bz2", он будет распакован на лету. Если передано целое число, предполагается, что это файловый дескриптор. Файлоподобный объект или файловый дескриптор не будут закрыты этой функцией. Файлоподобный объект должен быть открыт в бинарном режиме.
Изменено в версии 1.2: Теперь принимаются объекты, подобные пути.
- n_featuresint, default=None
Количество признаков для использования. Если None, оно будет выведено. Этот аргумент полезен для загрузки нескольких файлов, которые являются подмножествами большего нарезанного набора данных: каждое подмножество может не иметь примеров каждого признака, поэтому выведенная форма может различаться от одного среза к другому. n_features требуется только если
offsetилиlengthпередаются нестандартные значения.- 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 должно всегда быть безопасным, когда нет
offsetилиlengthпередается. Еслиoffsetилиlengthпереданы, режим "auto" переключается наzero_based=Trueчтобы избежать несовместимых результатов эвристической проверки на разных сегментах файла.- query_idbool, по умолчанию=False
Если True, будет возвращать массив query_id для каждого файла.
- смещениеint, по умолчанию=0
Пропустить первые байты смещения, перейдя вперед, затем отбросить следующие байты до следующего символа новой строки.
- длинаint, по умолчанию=-1
Если строго положительное, прекратите чтение любых новых строк данных, как только позиция в файле достигнет порога (смещение + длина) байт.
- Возвращает:
- Xscipy.sparse матрица формы (n_samples, n_features)
Матрица данных.
- yndarray формы (n_samples,) или список кортежей длины n_samples
Целевая переменная. Это список кортежей, когда
multilabel=True, иначе ndarray.- query_idмассив формы (n_samples,)
query_id для каждого образца. Возвращается только когда query_id установлен в True.
Смотрите также
load_svmlight_filesАналогичная функция для загрузки нескольких файлов в этом формате, обеспечивающая одинаковое количество признаков/столбцов для всех из них.
Примеры
Чтобы использовать joblib.Memory для кэширования файла svmlight:
from joblib import Memory from sklearn.datasets import load_svmlight_file mem = Memory("./mycache") @mem.cache def get_data(): data = load_svmlight_file("mysvmlightfile") return data[0], data[1] X, y = get_data()