Data Science Workspace guida

Questo documento fornisce una guida dettagliata per Adobe Experience Platform Data Science Workspace. Questa esercitazione illustra un flusso di lavoro generale di data scienziist e come potrebbero affrontare e risolvere un problema utilizzando l'apprendimento automatico.

Prerequisiti

  • Un account Adobe ID registrato
    • L'account Adobe ID deve essere stato aggiunto a un'organizzazione con accesso ad Adobe Experience Platform e Data Science Workspace.

Caso di utilizzo al dettaglio

Un rivenditore deve affrontare molte sfide per rimanere competitivo nel mercato attuale. Una delle principali preoccupazioni del rivenditore è quella di decidere il prezzo ottimale di un prodotto e di prevedere le tendenze di vendita. Con un modello di previsione accurato, un rivenditore potrebbe trovare la relazione tra le politiche di domanda e di prezzo e prendere decisioni di prezzo ottimizzate per massimizzare le vendite e i ricavi.

La soluzione del Data Scienziato

La soluzione di uno scienziato informatico è quella di sfruttare la ricchezza di informazioni storiche fornite da un rivenditore, di prevedere le tendenze future e di ottimizzare le decisioni di prezzo. Questa procedura dettagliata utilizza i dati di vendita passati per formare un modello di machine learning e utilizza il modello per prevedere le tendenze di vendita future. Con questo, puoi generare informazioni utili per apportare modifiche ottimali ai prezzi.

Questa panoramica rispecchia i passi che un esperto di dati dovrebbe compiere per prendere un set di dati e creare un modello per prevedere le vendite settimanali. Questa esercitazione illustra le sezioni seguenti del Sample Retail Sales Notebook su Adobe Experience Platform Data Science Workspace:

Notebook in Data Science Workspace

Nell'interfaccia utente di Adobe Experience Platform, selezionare Notebooks dalla scheda Data Science per passare alla pagina della Notebooks panoramica. Da questa pagina, selezionare la scheda JupyterLab per avviare l'ambiente JupyterLab. La pagina di destinazione predefinita per JupyterLab è Launcher.

Questa esercitazione utilizza Python 3 in JupyterLab Notebooks per mostrare come accedere ed esplorare i dati. Nella pagina Launcher sono disponibili alcuni blocchi appunti di esempio. Il notebook di esempio Retail Sales è utilizzato negli esempi forniti di seguito.

Configurazione

Con il blocco appunti Vendite al dettaglio aperto, la prima cosa da fare è caricare le librerie necessarie per il flusso di lavoro. L'elenco seguente fornisce una breve descrizione per ciascuna libreria utilizzata negli esempi nei passaggi successivi.

  • numpy: Libreria di informatica scientifica che aggiunge il supporto per array e matrici multidimensionali di grandi dimensioni
  • panda: Libreria che offre strutture e operazioni di dati utilizzate per la manipolazione e l'analisi dei dati
  • matplotlib.pyplot: Libreria di plottaggio che fornisce un'esperienza simile a MATLAB durante la stampa
  • marinaio : Libreria di visualizzazione dei dati dell'interfaccia di alto livello basata su matplotlib
  • sklearn: Libreria di machine learning con classificazione, regressione, supporto di algoritmi vettoriali e cluster
  • avvertenze: Libreria che controlla i messaggi di avviso

Esplora dati

Carica dati

Una volta caricate le librerie, è possibile iniziare a osservare i dati. Il seguente codice Python utilizza la struttura di dati DataFrame dei panda e la funzione read_csv() per leggere il CSV ospitato su Github nel DataFrame panda:

La struttura dati DataFrame dei panda è una struttura dati con etichetta bidimensionale. Per visualizzare rapidamente le dimensioni dei dati, è possibile utilizzare df.shape. Questo restituisce un tupla che rappresenta la dimensione del DataFrame:

Infine, potete visualizzare un'anteprima dell'aspetto dei dati. È possibile utilizzare df.head(n) per visualizzare le prime righe n del DataFrame:

Riepilogo statistico

È possibile utilizzare la libreria panda Python’s per ottenere il tipo di dati di ciascun attributo. L’output della seguente chiamata fornisce informazioni sul numero di voci e sul tipo di dati per ciascuna colonna:

df.info()

Questa informazione è utile perché conoscere il tipo di dati per ogni colonna ci permetterà di sapere come trattare i dati.

Guardiamo ora il riepilogo statistico. Vengono visualizzati solo i tipi di dati numerici in modo che date, storeType e isHoliday non vengano inviati:

df.describe()

Con questo, potete vedere 6435 istanze per ciascuna caratteristica. Inoltre, vengono fornite informazioni statistiche come la media, la deviazione standard (std), il min, il max e gli interquartili. Questo ci dà informazioni sulla deviazione per i dati. Nella sezione successiva, passerai alla visualizzazione che funziona insieme a queste informazioni per darci una comprensione completa dei tuoi dati.

Osservando i valori minimo e massimo per store, è possibile notare che sono presenti 45 archivi univoci che i dati rappresentano. Ci sono anche storeTypes che differenziano ciò che è uno store. per visualizzare la distribuzione di storeTypes, effettuate le seguenti operazioni:

Ciò significa che 22 store sono di storeType A, 17 sono storeType B e 6 sono storeType C.

Visualizzare i dati

Ora che conosci i valori dei frame dei dati, vuoi integrarli con le visualizzazioni per rendere le cose più chiare e facili da identificare. Questi grafici sono utili anche per trasmettere i risultati a un pubblico.

Grafici univoci

I grafici univoci sono grafici di una singola variabile. Un grafico universale comune usato per visualizzare i dati sono i grafici a scatola e a sussurro.

Utilizzando il set di dati per la vendita al dettaglio da prima, potete generare il grafico box e whisker per ciascuno dei 45 negozi e le loro vendite settimanali. Il grafico viene generato utilizzando la funzione seaborn.boxplot.

Una trama scatola e sussurro è usato per mostrare la distribuzione dei dati. Le linee esterne della trama mostrano i quarti superiori e inferiori mentre la scatola si estende per l'intervallo interquartile. La linea nella casella indica la mediana. I punti di dati più di 1,5 volte il quartile superiore o inferiore sono contrassegnati come un cerchio. Questi punti sono considerati fuorvianti.

Successivamente, puoi tracciare le vendite settimanali con il tempo. Verrà visualizzato solo l'output del primo store. Il codice nel notebook genera 6 punti corrispondenti a 6 dei 45 punti vendita del nostro set di dati.

Con questo diagramma potete confrontare le vendite settimanali su un periodo di 2 anni. È facile vedere picchi di vendita e attraverso schemi nel tempo.

Grafici multivariati

I grafici multivariati sono utilizzati per visualizzare l'interazione tra le variabili. Con la visualizzazione, gli esperti di dati possono verificare se esistono correlazioni o pattern tra le variabili. Un grafico multivariato comune usato è una matrice di correlazione. Con una matrice di correlazione, le dipendenze tra più variabili vengono quantificate con il coefficiente di correlazione.

Utilizzando lo stesso dataset per la vendita al dettaglio, potete generare la matrice di correlazione.

Osservate la diagonale di quelle che si trovano al centro. Questo indica che quando confronta una variabile con se stessa, ha una correlazione positiva completa. Una forte correlazione positiva avrà una grandezza più vicina a 1, mentre le correlazioni deboli saranno più vicine a 0. La correlazione negativa è mostrata con un coefficiente negativo che mostra una tendenza inversa.

Progettazione delle funzioni

In questa sezione, la funzionalità di progettazione viene utilizzata per apportare modifiche al dataset Retail eseguendo le seguenti operazioni:

  • Aggiungi colonne settimana e anno
  • Converti storeType in una variabile indicatore
  • Converti isHoliday in una variabile numerica
  • Predicazione settimanaleVendite della settimana prossima

Aggiungi colonne settimana e anno

Il formato corrente per la data (2010-02-05) può rendere difficile distinguere che i dati sono per ogni settimana. Per questo motivo, è necessario convertire la data in modo che contenga settimana e anno.

Ora la settimana e la data sono le seguenti:

Converti storeType in variabile indicatore

Quindi, si desidera convertire la colonna storeType in colonne che rappresentano ogni storeType. Esistono 3 tipi di store, (A, B, C), dai quali si stanno creando 3 nuove colonne. Il valore impostato in ogni è un valore booleano in cui viene impostato '1' a seconda di quanto era storeType e 0 per le altre due colonne.

La colonna storeType corrente viene eliminata.

Converti isHoliday in tipo numerico

La modifica successiva consiste nel modificare il valore booleano isHoliday in una rappresentazione numerica.

Predicazione settimanaleVendite della settimana prossima

Ora puoi aggiungere le vendite settimanali precedenti e future a ciascun set di dati. A tal fine, potete eseguire l'offset del weeklySales. Inoltre, viene calcolata la differenza weeklySales. Questo avviene sottraendo weeklySales con il weeklySales della settimana precedente.

Poiché si sta effettuando l'offset dei weeklySales set di dati 45 in avanti e 45 in indietro per creare nuove colonne, i primi e gli ultimi 45 punti dati hanno valori NaN. È possibile rimuovere questi punti dal dataset utilizzando la funzione df.dropna() che rimuove tutte le righe che hanno valori NaN.

Di seguito è riportato un riepilogo del set di dati dopo le modifiche:

Formazione e verifica

Ora, è il momento di creare alcuni modelli di dati e selezionare quale modello è il migliore per prevedere le vendite future. Verranno valutati i 5 algoritmi seguenti:

  • Regressione lineare
  • Albero decisionale
  • Foresta casuale
  • Incremento sfumatura
  • K Vicini

Dividi set di dati a sottoinsiemi di formazione e test

È necessario un modo per sapere quanto accurato sarà il modello in grado di prevedere i valori. Questa valutazione può essere effettuata assegnando una parte del dataset da utilizzare come convalida e il resto come dati di formazione. Poiché weeklySalesAhead è il valore futuro effettivo di weeklySales, è possibile utilizzarlo per valutare la precisione con cui il modello è in grado di prevedere il valore. La divisione è effettuata di seguito:

È ora possibile X_train e y_train preparare i modelli e X_test e y_test per la valutazione in un secondo momento.

Algoritmi di controllo spot

In questa sezione, tutti gli algoritmi vengono dichiarati in una matrice denominata model. Quindi, ripetete questo array e per ogni algoritmo, inserite i dati di formazione con model.fit() che crea un modello mdl. Utilizzando questo modello, è possibile prevedere weeklySalesAhead con i dati X_test.

Per il punteggio, si sta prendendo la differenza percentuale media tra il valore previsto weeklySalesAhead e i valori effettivi nei dati y_test. Poiché si desidera ridurre al minimo la differenza tra la previsione e il risultato effettivo, Regressore incremento sfumatura è il modello con le prestazioni migliori.

Visualizzare le previsioni

Infine, puoi visualizzare il modello di previsione con i valori di vendita settimanali effettivi. La linea blu rappresenta i numeri effettivi, mentre quella verde rappresenta la previsione utilizzando Incremento sfumatura. Il codice seguente genera 6 appezzamenti che rappresentano 6 dei 45 punti vendita del dataset. Qui è riportato solo Store 1:

Passaggi successivi

Questo documento ha trattato un flusso di lavoro generale di analisi dei dati per risolvere un problema di vendita al dettaglio. Per riepilogare:

  • Caricate le librerie necessarie per il flusso di lavoro.
  • Una volta caricate le librerie, è possibile iniziare a osservare i dati utilizzando riepiloghi statistici, visualizzazioni e grafici.
  • Successivamente, la funzionalità di progettazione viene utilizzata per apportare modifiche al set di dati per la vendita al dettaglio.
  • Infine, creare modelli di dati e selezionare quale modello è il più performante per prevedere le vendite future.

Una volta pronti, leggete la Guida utente di JupyterLab per una rapida panoramica dei notebook in Adobe Experience Platform Data Science Workspace. Inoltre, se siete interessati a conoscere Modelli e Ricette, iniziare leggendo l'esercitazione vendita al dettaglio e dataset. Questa esercitazione prepara le esercitazioni di Data Science Workspace successive, che possono essere visualizzate nella pagina delle esercitazioni di Data Science Workspace .

In questa pagina

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now