2016-04-29 17 views
-3

Ich bin ein Anfänger in Python und maschinelles Lernen. Ich finde es wirklich schwierig, einen großen Datensatz (500 Beobachtungen x 300 Merkmale) für Training und Klassifikation zu laden. Bitte geben Sie den Code an, um so große Daten zu laden.Wie importiere ich einen großen Datensatz?

+1

500 Instanzen mit 300 Features werden normalerweise nicht als großer Datensatz betrachtet. Trotzdem kann Ihnen niemand wirklich helfen, ohne den Typ und das Format der Daten zu kennen. – bogatron

+0

ist das Arrhythmie-Dataset, das ich für die Klassifizierung aus dem UCI-Repository mit dem CSV-Format und dem reellen/numerischen Datentyp verwenden möchte – ash11114

+0

Versuchen Sie es mit [numpy.loadtxt] (http://docs.scipy.org/doc/numpy/reference/generated /numpy.loadtxt.html). – bogatron

Antwort

1

Hier sind drei Möglichkeiten für Sie:

  1. Legen Sie die Daten direkt in eine Liste von Listen

    >>> data = [line.strip().split(',') for line in open('arrhythmia.txt')] 
    

    wird jeder Wert als String gelesen werden und Sie müssen entscheiden, was zu Mach es aber du wirst die größte Flexibilität haben.

  2. Verwendung numpy.genfromtext, die die Daten in ein numpyndarray lesen und kann die nicht-numerischen Werte behandeln („?“), Die in den Daten erscheinen.

  3. Verwenden Sie pandas.read_csv, die numpy.genfromtext ähnelt, aber liest die Daten in ein pandas.DataFrame Objekt. Dies erfordert, dass Sie auch das Modul pandas haben, aber einige nette zusätzliche Funktionen (wie benannte Spalten/Attribute) zur Verfügung stellt.

Und es ist zu beachten, dass dies mehr ist in geeigneter Weise eine Antwort auf die Frage „Wie lese ich einen 2D-Array von kommagetrennten Datenwerten aus einer Textdatei“, da die Datendatei, die unter 400KB ist in Größe, konnte kaum ein "großer Datensatz" nach aktuellen (2016) Standards betrachtet werden.

Verwandte Themen