Schreiben Sie den Stichproben-Knoten von SPSS Modeler mit Python neu First: Erste N Fälle, Zufallsstichprobe

Beim Umgang mit Daten aus einer großen Anzahl von Datensätzen benötigt der Analyseprozess Zeit. In solchen Fällen ist es üblich, aus allen Fällen eine Teilmenge (Stichprobe) zu erstellen, eine verarbeitbare Größe festzulegen und diese dann zu analysieren. Selbst wenn die endgültige Analyse in allen Fällen durchgeführt wird, ist es häufig der Fall, dass die Verarbeitung mit einer kleinen Teilmenge erleichtert wird und die vorläufige Analyse durchgeführt wird. Das Erstellen einer kleinen Stichprobe aus allen Daten auf diese Weise wird als Stichproben (Stichproben) bezeichnet.

Es ist der Abtastknoten, der diese Abtastung in SPSS Modeler durchführt. Ich werde diesen Sampling-Knoten erklären und ihn mit Python-Pandas neu schreiben.

Es gibt zwei Arten von Stichproben: (1) einfache Stichproben und (2) komplexe Stichproben, die Datentrends widerspiegeln. Ich werde jeden von ihnen in zwei Artikeln erklären.

① Einfache Stichprobe ← Dieser Artikel
①-1. Erste N Fälle
①-2. Zufallsstichprobe
② Komplexe Stichproben
②-1. Layered Sampling
②-2. Cluster-Abtastung

0. Originale Daten

Führen Sie die folgenden POS-Daten mit ID durch. Wir verwenden ID-angehängte POS-Daten, die aufzeichnen, wer (CUSTID) wann (SDATE) und was (PRODUCTID, L_CLASS-Produkthauptklassifizierung, M_CLASS-Produktmittelklassifizierung) und wie viel (SUBTOTAL) gekauft hat.

Es gibt 28.599 Fälle in 6 Feldern. image.png

1m. ①-1. Erste N Fälle Modeler-Version

Extrahieren Sie von Anfang an 100 Elemente. Dies ist ein sehr leichter Prozess. Dies ist auch nützlich, wenn Sie eine Vorschau von Daten anzeigen, von denen bekannt ist, dass sie groß sind. Dies ist der Standardmodus für die Modeler-Abtastung.

■ Bild nach der Verarbeitung Unabhängig von der Reihenfolge werden 100 Fälle extrahiert. image.png

Verwenden Sie einen Stichprobenknoten. image.png

Die Beispielmethode ist "einfach" und die Beispielmethode ist "erste n Fälle" und es werden 100 Fälle angegeben. image.png

Übrigens ist SQL-Pushback für die "ersten n Fälle" des Abtastknotens wirksam. Das folgende Beispiel zeigt das Anwenden von SQL-Pushback auf Db2. FETCH FIRST 100 ROWS ONLY wird verwendet.

SELECT T0.CUSTID AS CUSTID,T0.SDATE AS SDATE,T0.PRODUCTID AS PRODUCTID,T0."L_CLASS" AS "L_CLASS",T0."M_CLASS" AS "M_CLASS",T0.SUBTOTAL AS SUBTOTAL FROM (SELECT T0.CUSTID AS CUSTID,T0.SDATE AS SDATE,T0.PRODUCTID AS PRODUCTID,T0."L_CLASS" AS "L_CLASS",T0."M_CLASS" AS "M_CLASS",T0.SUBTOTAL AS SUBTOTAL FROM SAMPLETRANDEPT4EN2019S T0 FETCH FIRST 100 ROWS ONLY) T0

Bei der Dateieingabe wird jedes Mal das gleiche Ergebnis zurückgegeben, wenn die "ersten n Elemente" wiederholt ausgeführt werden. RDB garantiert jedoch nicht die Bestellung, sodass möglicherweise nicht immer das gleiche Ergebnis zurückgegeben wird. Wenn Sie das gleiche Ergebnis garantieren möchten, fügen Sie einen Sortierknoten usw. ein, um die Reihenfolge festzulegen, und verwenden Sie dann den Stichprobenknoten.

1p. ①-1. Erste N-Pandas-Version

Verwenden Sie die Kopffunktion, um die ersten N Gegenstände in Pandas zu erhalten.

df.head(100)

image.png

2m. ①-2. Modeler-Version mit zufälliger Stichprobe

Extrahiere zufällig n% aus allen Fällen. Das Abtasten der ersten N Datensätze ist eine leichte Methode, es sei denn, die Originaldaten neigen dazu, durch die Reihenfolge verzerrt zu werden. Im Allgemeinen werden Daten jedoch häufig in der Reihenfolge ihres Auftretens aufgezeichnet, und die Tendenz der Daten unterscheidet sich häufig in Abhängigkeit von der Reihenfolge des Auftretens. Beispielsweise ist es bei Daten eines Tages möglich, dass die Tendenz der Daten zwischen Morgen und Nacht unterschiedlich ist. Die Zufallsstichprobe (einfache Zufallsstichprobenmethode) ist die häufigste Stichprobenmethode, mit der diese Probleme gelöst werden können.

Beachten Sie, dass dieser Prozess ein Bild von Würfeln für alle Datensätze ist. Wenn also die Datenmenge groß ist, ist dies ein schwerer Prozess.

Immerhin wird es im Abtastknoten gemacht. image.png

Die Stichprobenmethode ist "Einfach" und die Stichprobenmethode ist "Zufällig%", was 0,2% entspricht.

Außerdem wird die zufällige Starteinstellung überprüft. Wenn Sie dies überprüfen, wird das gleiche Ergebnis zurückgegeben, wenn die Abtastung wiederholt ausgeführt wird. Wenn sich die Daten ändern, wird die Analyse instabil. Überprüfen Sie sie daher normal. Wenn Sie das Stichprobenergebnis ändern möchten, klicken Sie auf die Schaltfläche Startwert generieren und ändern Sie den Startwert, um das nächste Stichprobenergebnis zu ändern. image.png

■ Bild nach der Verarbeitung Wir haben zufällig 0,2% ausgewählt. Aus 28.599 Fällen wurden 68 Fälle extrahiert. Im Gegensatz zu den ersten N Fällen werden die Daten der ersten 100001 Kunden nicht ausgewählt, und die Transaktionen jedes Kunden werden ebenfalls nur spärlich ausgewählt.

image.png

Übrigens ist SQL-Pushback für "zufällige%" des Stichprobenknotens wirksam. Das folgende Beispiel zeigt das Anwenden von SQL-Pushback auf Db2. BERNOULLI (0.200000) REPEATABLE (377028) wird verwendet. Unterschiedliche RDBs können unterschiedliche Methoden verwenden. Insbesondere habe ich das Gefühl, dass einige RDBs kein Saatgut unterstützen (die Probenahmeergebnisse sind nicht reproduzierbar).

SELECT T0.CUSTID AS CUSTID,T0.SDATE AS SDATE,T0.PRODUCTID AS PRODUCTID,T0."L_CLASS" AS "L_CLASS",T0."M_CLASS" AS "M_CLASS",T0.SUBTOTAL AS SUBTOTAL FROM (SELECT T0.CUSTID AS CUSTID,T0.SDATE AS SDATE,T0.PRODUCTID AS PRODUCTID,T0."L_CLASS" AS "L_CLASS",T0."M_CLASS" AS "M_CLASS",T0.SUBTOTAL AS SUBTOTAL FROM SAMPLETRANDEPT4EN2019S T0 TABLESAMPLE BERNOULLI(0.200000) REPEATABLE(377028)) T0

Wie bereits erwähnt, kann die Zufallsauswahl ein schwerer Prozess sein, um alle Fälle zu verarbeiten. Daher ist es besser, die Stichprobenergebnisse zwischenzuspeichern oder in eine Datei oder Tabelle auszugeben, um eine effizientere nachfolgende Analyse zu ermöglichen. Ich werde.

image.png

Möglicherweise möchten Sie auch die Anzahl der Fälle festlegen und Stichproben auswählen. Berechnen Sie in diesem Fall das Verhältnis nach (Anzahl der Proben) / (Gesamtzahl) * 100 Minuten und stellen Sie es ein. Wenn Sie 100 Elemente mit diesen Daten zufällig auswählen möchten, beträgt diese 100/28599 * 100 = 0,349%.

Wenn Sie den zufälligen Prozentsatz auf 0,35 setzen und die maximale Anzahl auf 100 angeben, ist die Anzahl auf 100 begrenzt. image.png

■ Bild nach der Verarbeitung Es wurden 100 zufällige Stichproben gemacht. image.png

2p. ①-2. Pandas-Version mit zufälliger Stichprobe

Verwenden Sie die Stichprobenfunktion, um Stichproben mit Pandas zu erhalten. Stellen Sie das Verhältnis mit frac ein. Es ist ein Bruchteil, keine 100% -Rate (1 ist 100%). Hier werden 0,2% angegeben. Geben Sie mit random_state einen zufälligen Startwert an.

df.sample(frac=0.002, random_state = 1)

image.png

Wenn Sie den Index neu zuweisen möchten, führen Sie reset_index aus (drop = True).

df.sample(frac=0.002, random_state = 1).reset_index(drop=True)

image.png

Geben Sie bei der Angabe der Anzahl der Fälle n anstelle von frac an.

df.sample(n=100, random_state = 1)

image.png

3. Probe

Die Probe wird unten platziert.

Strom https://github.com/hkwd/200611Modeler2Python/raw/master/sample/sample.str notebook https://github.com/hkwd/200611Modeler2Python/blob/master/sample/sampling.ipynb Daten https://raw.githubusercontent.com/hkwd/200611Modeler2Python/master/data/sampletranDEPT4en2019S.csv

■ Testumgebung Modeler 18.2.1 Windows 10 64bit Python 3.6.9 pandas 0.24.1

4. Referenzinformationen

Abtastknoten https://www.ibm.com/support/knowledgecenter/ja/SS3RA7_18.2.1/modeler_mainhelp_client_ddita/clementine/mainwindow_navigationstreamsoutputtab.html

Recommended Posts

Schreiben Sie den Stichproben-Knoten von SPSS Modeler mit Python neu First: Erste N Fälle, Zufallsstichprobe
Schreiben Sie den Sampling-Knoten von SPSS Modeler mit Python (2) neu: Layered Sampling, Cluster Sampling
Schreiben Sie den Datensatzadditionsknoten von SPSS Modeler mit Python neu.
Schreiben Sie den Felderstellungsknoten von SPSS Modeler mit Python neu. Merkmalsextraktion aus Zeitreihensensordaten
Schreiben Sie den doppelten Datensatzknoten von SPSS Modeler mit Python neu. ① Identifizieren Sie den ersten gekauften Artikel. (2) Identifizierung des meistverkauften Artikels in der Produktkategorie
Ändern Sie die Einstellungen eines Knotens in einem Superknoten mit dem Python-Skript SPSS Modeler
Erster Python 3 ~ Der Beginn der Wiederholung ~
Erstellen Sie ein Kompatibilitätsbewertungsprogramm mit dem Zufallsmodul von Python.
Überprüfen Sie die Existenz der Datei mit Python
[Python3] Schreiben Sie das Codeobjekt der Funktion neu
Schreiben Sie den Filterknoten von SPSS Modeler mit Python neu
Schreiben Sie den Neukonfigurationsknoten von SPSS Modeler mit Python neu. Aggregation nach gekauften Produktkategorien
Hinweis: So erhalten Sie den letzten Tag des Monats mit Python (hinzugefügt am ersten Tag des Monats)
Bereiten Sie die Ausführungsumgebung von Python3 mit Docker vor
2016 Todai Mathematik mit Python gelöst
[Hinweis] Exportieren Sie das HTML der Site mit Python.
Berechnen Sie die Gesamtzahl der Kombinationen mit Python
Überprüfen Sie das Datum der Flaggenpflicht mit Python
Schreiben Sie den Namen des Tags mit dem Namespace in lxml neu
Konvertieren Sie den Zeichencode der Datei mit Python3
[Python] Bestimmen Sie den Typ der Iris mit SVM
Der erste Schritt des maschinellen Lernens ~ Für diejenigen, die versuchen möchten, mit Python zu implementieren ~
Zweite Hälfte des ersten Tages des Python-Studiums Versuchen Sie, die Twitter-API mit Bottle zu erreichen
Zerstören Sie den Zwischenausdruck der Sweep-Methode mit Python
Berechnen Sie den Regressionskoeffizienten der einfachen Regressionsanalyse mit Python
Zusammenfassung des grundlegenden Ablaufs des maschinellen Lernens mit Python
Aufzeichnung der ersten Herausforderung des maschinellen Lernens mit Keras
[Python] So schreiben Sie den Tabellenstil mit python-pptx um [python-pptx]
Holen Sie sich mit Python den Betriebsstatus von JR West
Warum ist das erste Argument der [Python] -Klasse selbst?
Versionsverwaltung von Node, Ruby und Python mit anyenv
der Zen von Python
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Versuchen Sie, COVID-19 Tokyo-Daten mit Python zu kratzen
Die Geschichte der Implementierung des Themas Facebook Messenger Bot mit Python
Vereinheitlichen Sie die Umgebung des Python-Entwicklungsteams, beginnend mit Poetry
Visualisieren Sie die Ergebnisse von Entscheidungsbäumen, die mit Python scikit-learn erstellt wurden
Die erste API, die mit dem Python Djnago REST-Framework erstellt wurde
Berechnen Sie mit Python Millionen von Stellen in der Quadratwurzel von 2
Ich habe die grundlegende Grammatik von Python in Jupyter Lab geschrieben
Führen Sie die Intelligenz Ihrer eigenen Python-Bibliothek mit VScode aus.
Berühren wir die API der Netatmo Weather Station mit Python. #Python #Netatmo
Die Geschichte eines Rubinisten, der mit Python :: Dict-Daten mit Pycall kämpft
[Homologie] Zählen Sie mit Python die Anzahl der Löcher in den Daten
Versuchen Sie, den Betrieb von Netzwerkgeräten mit Python zu automatisieren
Schätzen Sie die Haltung des AR-Markers mit Python + OpenCV + Drohne
Spielen Sie mit dem Passwortmechanismus von GitHub Webhook und Python
Holen Sie sich die Quelle der Seite unbegrenzt mit Python zu laden.
Ich habe versucht, die erste Frage der Mathematik-Aufnahmeprüfung 2019 der Universität Tokio mit Python Sympy zu lösen