load_svmlight_file#

sklearn.datasets.load_svmlight_file(f, *, n_features=None, dtype=<class 'numpy.float64'>, multilabel=False, zero_based='auto', query_id=False, offset=0, length=-1)[Quelle]#

Lädt Datensätze im svmlight / libsvm-Format in eine dünne CSR-Matrix.

Dieses Format ist ein textbasiertes Format mit einer Stichprobe pro Zeile. Es speichert keine Nullen-Features und ist daher für spärliche Datensätze geeignet.

Das erste Element jeder Zeile kann zur Speicherung einer Zielvariable zum Vorhersagen verwendet werden.

Dieses Format wird als Standardformat sowohl für svmlight als auch für die libsvm Kommandozeilenprogramme verwendet.

Das Parsen einer textbasierten Quelle kann teuer sein. Wenn Sie wiederholt mit demselben Datensatz arbeiten, wird empfohlen, diesen Loader mit joblib.Memory.cache zu umschließen, um ein memmapped Backup der CSR-Ergebnisse des ersten Aufrufs zu speichern und die nahezu sofortige Ladung von memmapped Strukturen für nachfolgende Aufrufe zu nutzen.

Falls die Datei eine paarweise Präferenzbeschränkung enthält (im svmlight-Format als „qid“ bekannt), werden diese ignoriert, es sei denn, der Parameter query_id ist auf True gesetzt. Diese paarweisen Präferenzbeschränkungen können verwendet werden, um die Kombination von Stichproben bei der Verwendung von paarweisen Verlustfunktionen (wie bei einigen Learning-to-Rank-Problemen) zu beschränken, so dass nur Paare mit demselben query_id-Wert berücksichtigt werden.

Diese Implementierung ist in Cython geschrieben und ist einigermaßen schnell. Eine schnellere API-kompatible Loader ist jedoch auch verfügbar unter: mblondel/svmlight-loader

Parameter:
fstr, Pfad-artig, Datei-artig oder int

(Pfad zu) einer zu ladenden Datei. Wenn ein Pfad auf „.gz“ oder „.bz2“ endet, wird er im laufenden Betrieb entpackt. Wenn eine Ganzzahl übergeben wird, wird davon ausgegangen, dass es sich um einen Dateideskriptor handelt. Eine Datei-ähnliche oder ein Dateideskriptor werden von dieser Funktion nicht geschlossen. Ein Datei-ähnliches Objekt muss im Binärmodus geöffnet werden.

Geändert in Version 1.2: Pfad-ähnliche Objekte werden jetzt akzeptiert.

n_featuresint, Standard=None

Die zu verwendende Anzahl von Merkmalen. Wenn None, wird sie abgeleitet. Dieses Argument ist nützlich, um mehrere Dateien zu laden, die Teil eines größeren geschnittenen Datensatzes sind: Jede Teilmenge hat möglicherweise keine Beispiele für jedes Merkmal, daher kann die abgeleitete Form von einem Teil zum anderen variieren. n_features ist nur erforderlich, wenn offset oder length Werte ungleich dem Standard übergeben werden.

dtypenumpy Datentyp, Standard=np.float64

Datentyp des zu ladenden Datensatzes. Dies ist der Datentyp der Ausgaben-Arrays X und y.

multilabelbool, Standard=False

Stichproben können jeweils mehrere Labels haben (siehe https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/multilabel.html).

zero_basedbool oder „auto“, Standard=„auto“

Ob die Spaltenindizes in f nullbasiert (True) oder einbasiert (False) sind. Wenn die Spaltenindizes einbasiert sind, werden sie in nullbasiert umgewandelt, um Python/NumPy-Konventionen zu entsprechen. Wenn auf „auto“ gesetzt, wird eine heuristische Prüfung angewendet, um dies aus dem Dateinhalt zu bestimmen. Beide Arten von Dateien kommen „in der Wildnis“ vor, sind aber leider nicht selbstidentifizierend. Die Verwendung von „auto“ oder True ist immer sicher, wenn kein offset oder length übergeben wird. Wenn offset oder length übergeben werden, greift der „auto“-Modus auf zero_based=True zurück, um zu vermeiden, dass die heuristische Prüfung inkonsistente Ergebnisse auf verschiedenen Segmenten der Datei liefert.

query_idbool, Standard=False

Wenn True, wird das query_id-Array für jede Datei zurückgegeben.

offsetint, Standard=0

Ignoriert die ersten Offset-Bytes, indem vorwärts gesucht wird, und verwirft dann die folgenden Bytes bis zum nächsten Zeilenumbruchzeichen.

lengthint, Standard=-1

Wenn strikt positiv, stoppt das Lesen von Zeilen, sobald die Position in der Datei den Schwellenwert (offset + length) Bytes erreicht hat.

Gibt zurück:
Xscipy.sparse matrix der Form (n_samples, n_features)

Die Datenmatrix.

yndarray der Form (n_samples,), oder eine Liste von Tupeln der Länge n_samples

Das Ziel. Es ist eine Liste von Tupeln, wenn multilabel=True ist, andernfalls ein ndarray.

query_idarray der Form (n_samples,)

Die query_id für jede Stichprobe. Wird nur zurückgegeben, wenn query_id auf True gesetzt ist.

Siehe auch

load_svmlight_files

Ähnliche Funktion zum Laden mehrerer Dateien in diesem Format, Erzwingen der gleichen Anzahl von Merkmalen/Spalten für alle.

Beispiele

Verwendung von joblib.Memory zum Caching der svmlight-Datei

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