Creare il tuo primo modello predittivo in Power BI
La costruzione di un modello predittivo in Power BI prevede diversi passaggi: dalla preparazione dei dati e dal fitting del modello con R o Python, fino al deployment e al successivo monitoraggio.
Ti guideremo passo dopo passo nella creazione del tuo primo modello predittivo in Power BI usando Python e un dataset di churn dei clienti di DataCamp. Puoi anche consultare il nostro corso completo su prevedere il churn dei clienti in Python per una trattazione più approfondita del churn e della marketing analytics.
1. Scelta dell’algoritmo giusto
Scegliere l’algoritmo corretto per l’analisi predittiva in Power BI è fondamentale per ottenere risultati accurati e significativi. Nell’analisi predittiva non esiste un algoritmo valido per ogni caso: la scelta giusta dipende da dati, obiettivi e vincoli specifici.
Nel nostro esempio costruiremo un modello di classificazione, dato che la variabile target è binaria (se un cliente fa churn oppure no).
Ecco alcune linee guida per decidere quale algoritmo sia migliore per i tuoi dati:
Comprendi i tuoi dati e i tuoi obiettivi:
- Tipo di dati: considera la natura dei tuoi dati (categorici, numerici, serie temporali, ecc.).
- Obiettivo di business: identifica cosa stai cercando di prevedere (ad es. classificazione, regressione, clustering).
- Dimensione e qualità dei dati: la quantità e la qualità dei dati possono influenzare la scelta dell’algoritmo.
Adeguatezza dell’algoritmo:
- Algoritmi di regressione (come la regressione lineare) sono adatti a prevedere risultati continui, ad esempio il forecasting delle vendite.
- Algoritmi di classificazione (come la regressione logistica, gli alberi decisionali e la random forest) sono usati per prevedere esiti categorici (come il churn dei clienti nel nostro esempio).
- Algoritmi di clustering (come il k-means) sono ideali per segmentare i dati in gruppi con caratteristiche simili.
- Analisi delle serie temporali (come i modelli ARIMA) è usata per fare previsioni basate su dati temporali.
Complessità e interpretabilità: i modelli più semplici (come regressione lineare e alberi decisionali) sono più facili da interpretare e spiegare agli stakeholder. Modelli più complessi (come le reti neurali) possono offrire maggiore accuratezza in alcuni casi, ma sono più difficili da interpretare e spesso richiedono molte più risorse computazionali.
Sperimentazione e validazione: è buona pratica scegliere un modello che non solo predica con precisione la variabile target, ma generalizza bene a dati non visti. Puoi farlo sperimentando con più algoritmi e confrontandone le metriche di performance.
2. Preparazione dei dati
Inizia importando in Power BI i dati che userai per il tuo modello predittivo (i dati devono essere importati per poter usare script R e Python). Quindi puoi usare Power Query per pulire e preparare i dati all’analisi. Questo può includere la gestione dei valori mancanti, il filtraggio, la creazione di nuove colonne calcolate, ecc.
3. Scrivere uno script Python
In Power BI Desktop, devi prima abilitare gli script Python. Vai su File -> Opzioni e impostazioni -> Opzioni -> Python scripting per configurare il tuo ambiente Python.
Nel Power Query Editor, puoi selezionare Esegui script Python dalla scheda Transform del ribbon. Si aprirà una finestra di dialogo in cui inserire il tuo codice Python. Ecco lo script che usiamo per il nostro modello di churn dei clienti:
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
# Separate features from the target variable
X = dataset.drop('Churn', axis=1) # Features
y = dataset['Churn'] # Target variable
# Split the data into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
# Initialize and train the logistic regression model
model = LogisticRegression()
model.fit(X_train, y_train)
# Make predictions on the test set
y_pred = model.predict(X_test)
# Evaluate the model using various metrics like accuracy, precision, recall, etc.
# If you are happy with your model, obtain final predictions.
# Append predictions to the full dataset
dataset['Predicted_Label'] = model.predict(X)
dataset['Predicted_Probability'] = model.predict_proba(X)[:, 1]
4. Visualizzare il modello predittivo
Dopo aver eseguito lo script Python, puoi visualizzarne l’output in Power BI. Nel nostro script Python qui sopra, abbiamo aggiunto le etichette e le probabilità previste all’intero dataset. Questo ci permette di visualizzare l’impatto delle variabili esplicative sulle probabilità e costruire una dashboard che racconti una storia sui nostri dati e sulle nostre previsioni.
Se vuoi migliorare le tue competenze di data visualization in Power BI e imparare a creare report efficaci in Power BI, abbiamo corsi che possono aiutarti.

Immagine dell’autore
5. Deployment e monitoraggio del modello predittivo
Quando il modello è pronto e visualizzato, puoi pubblicare il report su Power BI Service per consentirne l’accesso in tutta l’organizzazione. Una volta su Power BI Service, puoi pianificare aggiornamenti per assicurarti che il modello utilizzi i dati più recenti. Nota che solo un Personal Gateway può essere usato per aggiornare report che contengono script Python o R.
Monitora regolarmente le performance del modello per garantirne l’accuratezza nel tempo. Se cambiano le performance del modello o emergono nuovi pattern nei dati, aggiorna il modello in Power BI Desktop e ripubblica il report. Ad esempio, una delle variabili nel modello potrebbe non essere più rilevante, oppure l’azienda potrebbe smettere di raccoglierla.
Sfide comuni e best practice per superarle
L’analisi predittiva in Power BI, come su qualsiasi piattaforma di analytics, presenta alcune sfide. Comprenderle e applicare le best practice aiuta a mitigare i potenziali problemi. Ecco alcune sfide comuni e relative soluzioni:
1. Qualità e preparazione dei dati
Sfida: l’analisi predittiva dipende fortemente dalla qualità dei dati. Problemi come valori mancanti, formati incoerenti e outlier possono influire notevolmente sull’accuratezza del modello.
Soluzione: imposta una routine di pulizia e preprocessing dei dati per mantenere la qualità e l’affidabilità dei tuoi dati e dei modelli predittivi.
2. Scelta del modello giusto
Sfida: selezionare un modello predittivo inadeguato può portare a previsioni scadenti, e scegliere l’algoritmo giusto per i tuoi dati può essere complicato.
Soluzione: definire chiaramente il problema di business e prendersi il tempo per comprendere i dati aiuta a selezionare il modello più adatto. Puoi anche testare modelli diversi e confrontarne le performance con metriche come accuracy, precision e recall per guidare la scelta.
3. Overfitting del modello
Sfida: l’overfitting si verifica quando un modello è troppo complesso e apprende il rumore nei dati di training, con prestazioni scarse su dati nuovi.
Soluzione: dividi i dati in training e test set per validare le prestazioni del modello e valuta l’uso di metodi di regolarizzazione durante l’addestramento per prevenire l’overfitting.
4. Gestione di dataset di grandi dimensioni
Sfida: Power BI può risentire di problemi di performance con dataset molto grandi, in particolare quando esegue script R e Python, poiché esiste anche il limite per cui qualsiasi script Python che gira oltre 30 minuti va in timeout.
Soluzione: importa solo i dati necessari e applica aggregazioni quando possibile per ottimizzare le prestazioni. Puoi anche considerare di addestrare i modelli predittivi separatamente e importare in Power BI solo le previsioni. Questo approccio evita di riaddestrare il modello a ogni refresh e riduce il rischio di timeout continui.
Inoltre, puoi usare parametri in Power BI per controllare quando riaddestrare il modello. Ad esempio, potresti impostare un parametro che determina se eseguire o meno il codice di training e adeguare il codice Python in base al valore del parametro:
parameter_value = int(dataset['ModelRefreshControl'][0]) # Assuming the parameter is passed as a column in the dataset
if parameter_value == 1:
# Code to train the model
# model.fit(X_train, y_train)
else:
# Code to load the pre-trained model
# model = load_model('my_model')
5. Privacy e sicurezza dei dati
Sfida: garantire sicurezza e conformità può essere complesso, soprattutto quando si trattano dati sensibili.
Soluzione: implementa rigorose policy di data governance e buone pratiche di sicurezza come la row-level security nei report di Power BI. Vale la pena notare che, affinché i report contenenti script Python vengano eseguiti correttamente quando pubblicati su Power BI Service, tutte le origini dati devono essere pubbliche. Valuta l’impatto che ciò può avere sui requisiti di privacy e sicurezza dei tuoi dati.
6. Garantire l’interpretabilità del modello
Sfida: alcuni modelli complessi (come le reti neurali) possono essere difficili da interpretare, rendendo complicata la comprensione e la spiegazione dei risultati.
Soluzione: quando possibile, usa modelli più semplici, più facili da interpretare e da spiegare agli stakeholder (come gli alberi decisionali).
Conclusione
L’interfaccia intuitiva di Power BI, gli algoritmi integrati e le sue complete capacità di gestione dei dati ti permettono di analizzare, visualizzare e prevedere trend e pattern nei tuoi dati. Power BI rende semplice costruire modelli predittivi che ti aiutano a prendere decisioni informate e restare un passo avanti alla concorrenza.
Se ti interessa una carriera come Data Analyst in Power BI, il nostro career track ti guiderà in ogni aspetto di Power BI e ti preparerà alla certificazione Microsoft PL-300.
Se hai già imparato le basi di Power BI, esplora il nostro elenco di 8 progetti Power BI che puoi realizzare per mettere in pratica le tue competenze e costruire il tuo portfolio.



Power BI è un potente strumento di business intelligence che semplifica l’analisi e la visualizzazione dei dati. Ciò che lo distingue davvero dalla concorrenza sono però le funzionalità di analisi predittiva e il supporto per R e Python, che ti permettono di portare le tue analisi al livello successivo.
In questo post, vedremo come usare Power BI per l’analisi predittiva, i suoi vantaggi e come creare il tuo primo modello predittivo in Power BI.
Puoi usare il nostro cheat sheet di Power BI per partire velocemente con Power BI–dalla creazione della tua prima visualizzazione a Power Query e ai calcoli DAX.
Come può essere usato Power BI per l’analisi predittiva?
L’analisi predittiva consiste nell’utilizzare tecniche statistiche e di machine learning per fare previsioni o stime su eventi futuri. Puoi approfondire l’analisi predittiva in un post dedicato.
Tuttavia, il successo dell’analisi predittiva in Power BI dipende in gran parte dalla qualità dei tuoi dati e dall’adeguatezza del modello scelto. È importante comprendere i concetti di statistica e machine learning per implementare in modo efficace l’analisi predittiva.
Ecco come puoi fare analisi predittiva in Power BI:
Uso di DAX per previsioni semplici. Per compiti predittivi più semplici, puoi usare DAX in Power BI per creare nuove colonne calcolate o misure. Ad esempio, supponiamo che il tempo tra una vendita e l’altra sia un predittore di quando un cliente effettuerà il prossimo acquisto. Potresti creare alcune misure DAX che calcolano il tempo medio tra le vendite per ciascun cliente e in generale, e usarle per prevedere quando potrebbe avvenire la prossima vendita.
Uso di script R e Python
Power BI supporta R e Python, linguaggi potenti per l’analisi dei dati e il machine learning. Puoi scrivere script per l’analisi predittiva direttamente in Power BI. Dopo aver eseguito gli script R o Python, puoi visualizzare i risultati in Power BI e creare dashboard efficaci che non solo mostrano cosa è successo in passato, ma offrono anche uno sguardo su ciò che è possibile in futuro.
Uso delle visualizzazioni integrate di Power BI
Puoi visualizzare trend e pattern utilizzando le visual disponibili, come scatter plot, grafici a linee, ecc. Power BI integra anche funzionalità predittive in queste visualizzazioni, come l’individuazione di cluster in uno scatter plot o la previsione delle vendite future in un grafico a linee.
Se aspiri a diventare data analyst, puoi imparare le nozioni fondamentali di Power BI con il nostro skill track, dove scoprirai la visualizzazione dei dati, DAX e come trasformare i tuoi dati. Dai un’occhiata anche al nostro webinar su come diventare data analyst con Power BI.
Vantaggi dell’uso di Power BI per l’analisi predittiva
Usare Power BI per l’analisi predittiva offre diversi vantaggi, soprattutto per chi è già familiare con l’ecosistema Microsoft. Power BI è anche un’ottima scelta per chi cerca uno strumento di analisi e forecasting accessibile, scalabile e sicuro.
Ecco alcuni dei principali vantaggi:
Interfaccia utente intuitiva
Power BI è noto per la sua interfaccia user-friendly e il report builder drag-and-drop, che lo rende accessibile anche a chi non è data scientist. Questo semplifica la manipolazione e la visualizzazione dei dati e consente di svolgere con relativa facilità attività analitiche complesse.
Algoritmi integrati
Power BI ti consente di implementare modelli di machine learning come regressione lineare o clustering direttamente all’interno di alcune visual, senza bisogno di saper programmare. In questo modo l’analisi predittiva diventa accessibile a un pubblico molto più ampio, non solo a pochi che hanno il budget per assumere team di analisti.
Per utenti avanzati, Power BI supporta script personalizzati in R e Python, consentendo modelli predittivi più sofisticati e su misura.
Gestione dati completa
Power BI può connettersi a varie origini dati, incluse quelle nel cloud e on-premise, garantendo un’analisi completa indipendentemente da dove risiedono i tuoi dati. Puoi anche connetterti direttamente ad applicazioni di terze parti, riducendo la necessità di software ETL separati.
Power BI offre inoltre strumenti potenti per trasformare e ripulire i dati, passaggio fondamentale per prepararli all’analisi predittiva.