Il potere dell’intelligenza geospaziale e dell’analisi della similarità per la mappatura dei dati |  di Kirsten Jiayi Pan |  Febbraio 2024

 | Intelligenza-Artificiale

Miglioramento strategico della mappatura degli indirizzi durante l’integrazione dei dati utilizzando la geocodificazione e la corrispondenza delle stringhe

Molti individui nel settore dei big data potrebbero trovarsi di fronte al seguente scenario: l’acronimo “TIL” è equivalente alla frase “Oggi ho imparato” quando si estraggono queste due voci da sistemi distinti? Anche il tuo programma potrebbe confondersi quando i record arrivano con nomi diversi anche se significano la stessa cosa. Poiché raccogliamo dati con discrepanze da diversi sistemi operativi, il processo di acquisizione dei dati può richiedere più tempo di quanto si pensasse inizialmente!

Immagine recuperata da: https://unsplash.com/photos/turned-on-canopy-lights-g_V2rt6iG7A

Ora lavori per un’azienda della filiera alimentare i cui clienti provengono dal settore della ristorazione. L’azienda fornisce due estratti di dati sulle informazioni di contatto dei clienti e sui dettagli del ristorante da diversi sistemi operativi. È necessario collegarli insieme in modo che il team del dashboard front-end possa ottenere più informazioni dai dati popolati. Sfortunatamente, non esistono chiavi primarie univoche per collegare queste due fonti di dati, ma solo alcune informazioni geografiche e nomi di ristoranti. Questo articolo migliorerà la tua soluzione di mappatura geografica combinandola geopy E fuzzywuzzy oltre alla mappatura manuale.

Utilizzando pandas leggi le due fonti dati:

Immagine dell’autore: custom_master.csv
Immagine dell’autore: client_profile.csv

Pulizia dei dati di base e mappatura manuale

Quando si ha a che fare con set di dati di grandi dimensioni, è necessario considerare ogni fattore che potrebbe influenzare l’accuratezza della mappatura. Includere la pulizia di base dei dati e la mappatura manuale come primo passaggio può migliorare la coerenza e l’allineamento dei dati per risultati più accurati.

*Il seguente codice deve essere applicato a entrambe le origini dati.

1: Capitalizzazione (es. 123 Main St e 123 MAIN ST dovrebbero essere mappati)

2: Spazi involontari e punteggiatura non necessaria (es. 123 Main St_whitespace_ o 123 Main St; dovrebbe essere mappato con 123 Main St)

3: Standardizzazione dell’abbreviazione postale (es. 123 Main Street dovrebbe essere mappato con 123 Main St)

Si prega di considerare l’utilizzo della tabella completa di mappatura delle abbreviazioni postali standardizzata da Abbreviazioni dei suffissi stradali del servizio postale degli Stati Uniti in applicazioni pratiche per una maggiore coerenza e precisione nella mappatura delle posizioni geografiche.

Altri potenziali fattori che potrebbero influenzare l’accuratezza della mappatura includono errori di ortografia negli indirizzi (es. 123 Mian St e 123 Main St) e indirizzi abbreviati (es. 123 Forest Hill e 123 Frst Hl) potrebbe essere difficile da affrontare utilizzando un approccio di mappatura manuale, che dovrebbe essere introdotto con una tecnica di mappatura più avanzata.

Geopia

Geopy è una libreria Python open source che svolge un ruolo cruciale nel panorama geospaziale convertendo indirizzi leggibili dall’uomo in coordinate geografiche precise attraverso la geocodifica degli indirizzi. Utilizza calcoli della distanza ortodromica per calcolare con precisione la latitudine e la longitudine durante il processo di geocodificazione. È possibile prendere in considerazione anche altre API di geocodifica come l’API di geocodifica di Google Maps, l’API di geocodifica OpenCage e l’API Smarty in base ai requisiti aziendali specifici del progetto.

Dopo il processo di geocodifica, possiamo unire i due DataFrame utilizzando LATITUDE E LONGITUDE colonne con pandas libreria e controlla il numero di righe mappate correttamente. Gli indirizzi che non possono essere mappati verranno passati alla fase di mappatura successiva.

Fuzzy Wuzzy

Fuzzywuzzy è un’altra libreria Python progettata per facilitare la corrispondenza fuzzy delle stringhe, fornendo una serie di strumenti per confrontare e misurare la somiglianza tra le stringhe. La libreria utilizza algoritmi come la distanza di Levenshtein per quantificare il grado di somiglianza tra le stringhe, che è particolarmente utile per dati contenenti errori di battitura o discrepanze. Per ogni confronto di indirizzi verrà popolato un punteggio di confidenza, ovvero un valore numerico compreso tra 0 e 100. Un punteggio più alto suggerisce una somiglianza più forte tra le stringhe, mentre un punteggio più basso indica un grado di somiglianza minore. Nel nostro caso, possiamo usare fuzzywuzzy per affrontare le righe rimanenti che non possono essere mappate geopy.

Immagine dell’autore: output del codice precedente utilizzando fuzzywuzzy per mostrare confidenza_score per le righe rimanenti che non erano mappate.

La demo sopra utilizza solo la colonna ADDRESS per la corrispondenza delle stringhe, aggiungendo un’altra colonna in comune CLENT_NAME a questo processo è possibile avanzare la mappatura in questo scenario aziendale che porta risultati più accurati.

Conclusione

Questa tecnica di mappatura degli indirizzi è versatile in vari settori. La combinazione di mappatura manuale, geopyE fuzzywuzzy fornisce un approccio completo per migliorare la precisione della mappatura geografica, rendendola una risorsa preziosa per le aziende di diversi settori che devono affrontare sfide simili nell’acquisizione e nell’integrazione dei dati.

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *