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()