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!
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:
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
.
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, geopy
E 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