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

Doppelte Knoten werden verwendet, um doppelte Datensätze in SPSS Modeler zu erfassen. Ich werde diesen doppelten Knoten erklären und ihn mit Python-Pandas neu schreiben.

Doppelte Knoten können auch verwendet werden, um vollständig doppelte Datensätze buchstäblich zu löschen. Wenn sie jedoch in Modeler verwendet werden, werden sie meiner Meinung nach häufig verwendet, um den ersten Datensatz in einer Gruppe abzurufen.

Daher werden wir hier die Verwendung der POS-Daten mit ID in den folgenden beiden Anwendungsfällen erläutern. ① Identifizieren Sie den ersten gekauften Artikel (2) Identifizierung des meistverkauften Artikels in der Produktkategorie

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. ① Identifizierung des ersten gekauften Artikels Modeler-Version

Manchmal gibt Ihnen der erste Kauf eine Vorstellung davon, was Sie danach kaufen. Wenn Sie die Merkmale des Produkts erkennen können, dass die Person, die das erste Produkt gekauft hat, wahrscheinlich ein guter Kunde ist und die Person, die ein bestimmtes Produkt gekauft hat, wahrscheinlich ohne einen zweiten Kauf abreist, das Produkt, das wahrscheinlich ein guter Kunde ist Sie können an Maßnahmen wie die prominente Zuordnung von Regalen und die Platzierung von Bannern denken.

Extrahieren wir die erste Kauftransaktion für jede CUSTID aus den Daten des POS mit ID.

image.png

Stellen Sie den Modus des doppelten Datensatzknotens auf "Nur den ersten Datensatz in jede Gruppe einschließen" ein. Das Schlüsselfeld für die Gruppierung sollte nur CUSTID sein. Dadurch wird nur ein Datensatz für eine CUSTID extrahiert. Geben Sie SDATE in aufsteigender Reihenfolge unter "Datensätze in Gruppe sortieren" an. Dadurch wird die älteste Transaktion für jede CUSTID ausgewählt.

image.png

Das Ergebnis ist wie folgt. Die erste Person mit CUSTID 100001 war BAG01 9937845. image.png

1p. ① Identifizierung der ersten gekauften Artikel-Pandas-Version

Verwenden Sie die Funktionen sort_values und drop_duplicates, um doppelte Zeilen in Pandas zu einer Zeile zu kombinieren. Sortieren Sie zunächst nach "CUSTID" in sort_values in SDATE-Reihenfolge. Dann extrahiert drop_duplicates nur die erste Zeile für jede CUSTID. Es geht darum, Duplikate nur mit "CUSTID" in der Teilmenge zu erkennen.

#Sortieren nach CUSTID und SDATE
df_sorted=df.sort_values(['CUSTID','SDATE'])
#Extrahieren Sie die erste Zeile für jede CUSTID
df_sorted.drop_duplicates(subset='CUSTID')

image.png

2m. (2) Identifizierung des meistverkauften Artikels in der Produktkategorie Modeler-Version

Doppelte Datensatzknoten werden häufig zusammen mit Datensatzaggregationsknoten verwendet, um die Nummer eins oder den schlechtesten Datensatz in den Aggregationsergebnissen zu extrahieren.

Hier werden wir versuchen, die umsatzstärksten Produkte in den Hauptproduktkategorien BAG, COSMETICS und SHOES zu extrahieren.

image.png

Berechnen Sie zunächst die Summe von SUBTOTAL, indem Sie in der Datensatzaggregation nach L_CLASS und PRODUCTID gruppieren. image.png

Der Gesamtumsatz für jedes Produkt wird jetzt berechnet. image.png

Stellen Sie als Nächstes Folgendes auf den doppelten Knoten ein. Stellen Sie den Modus auf "Nur den ersten Datensatz in jede Gruppe aufnehmen". Das Schlüsselfeld für die Gruppierung sollte nur L_CLASS sein. Dadurch wird nur ein Datensatz für eine L_CLASS extrahiert. Geben Sie SUBTOTAL_Sum in aufsteigender Reihenfolge unter "Datensätze in Gruppe sortieren" an. Damit wird für jede L_CLASS das umsatzstärkste Produkt ausgewählt.

image.png

Das Ergebnis ist wie folgt. Das meistverkaufte BAG-Produkt war 9900307, das 1.781.615 Yen verkaufte.

image.png

2p. (2) Identifizierung des meistverkauften Artikels in der Pandas-Version der Produktkategorie

Verwenden Sie die Funktionen groupby, sort_values und drop_duplicates, um mit Pandas die Nummer eins aus den aggregierten Ergebnissen zu extrahieren. Der Vorgang ist der gleiche wie bei Verwendung des Aggregationsknotens und des doppelten Datensatzknotens in Modeler.

Gruppieren Sie zunächst nach L_CLASS und PRODUCTID, um die Summe von SUBTOTAL zu berechnen. Als nächstes sortieren Sie nach 'L_CLASS' in sort_values in absteigender Reihenfolge von 'SUBTOTAL'. Dann extrahiert drop_duplicates nur die erste Zeile für jede L_CLASS.

#Berechnung des Gesamtumsatzes nach Hauptklassifizierung und PRODUKT-ID
df_sum=df[['L_CLASS','PRODUCTID','SUBTOTAL']].groupby(['L_CLASS','PRODUCTID'],as_index=False).sum()
#Sortieren nach Verkäufen innerhalb der Hauptkategorien
df_sum_sorted=df_sum.sort_values(['L_CLASS','SUBTOTAL'],ascending=[True,False])
#Extrahieren Sie die erste Zeile der Hauptklassifikation
df_sum_sorted.drop_duplicates(['L_CLASS'])

Ich konnte wie folgt extrahieren. image.png

3. Probe

Die Probe wird unten platziert.

Strom https://github.com/hkwd/200611Modeler2Python/raw/master/distinct/distinct.str notebook https://github.com/hkwd/200611Modeler2Python/blob/master/distinct/distinct.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

Doppelter Datensatzknoten https://www.ibm.com/support/knowledgecenter/ja/SS3RA7_18.2.1/modeler_mainhelp_client_ddita/clementine/distinct_settingstab.html

Recommended Posts

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
Schreiben Sie den Neukonfigurationsknoten von SPSS Modeler mit Python neu. Aggregation nach gekauften Produktkategorien
Schreiben Sie den Datensatzadditionsknoten von SPSS Modeler mit Python neu.
Schreiben Sie den Filterknoten von SPSS Modeler mit Python neu
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