Crea un'API ML incredibilmente semplice con GCP

Blog

CasaCasa / Blog / Crea un'API ML incredibilmente semplice con GCP

Nov 13, 2023

Crea un'API ML incredibilmente semplice con GCP

Member-only story Jason Huynh Follow DataDrivenInvestor -- 1 Listen Share In the

Storia riservata ai membri

Jason Huynh

Seguire

Investitore guidato dai dati

--

1

Ascoltare

Condividere

Nel mondo dell'intelligenza artificiale, tutto ruota attorno agli input che puoi inserire in un modello di deep learning. Ad esempio, input di testo in GPT-3 che riepilogano automaticamente gli appunti della riunione o input in DALL-E che portano a immagini straordinarie.

Tuttavia, ho scoperto che non sempre ho bisogno di tali API di machine learning.

A volte, ho solo bisogno di un'API che etichetti automaticamente alcuni dati.

Ad esempio, sono piuttosto pigro al lavoro. Non mi piace davvero dover fare tutto manualmente, soprattutto quando si tratta dell'etichettatura manuale dei set di dati.

So che posso creare regole "if else" per etichettare ogni riga separatamente, ma se le mie esperienze di vita mi hanno insegnato qualcosa quando scrivo più di 3 righe di codice, probabilmente ho già scritto un bug.

Quindi, ho avuto l'idea di non utilizzare semplicemente l'apprendimento automatico per etichettare automaticamente i dati, ed è quello che ho fatto esattamente, tranne che presto mi sono reso conto che dovevo avere questi dati su una dashboard per la visualizzazione.

E adesso?

Poi ho avuto quest'altra brillante idea: perché non creare semplicemente un'API e inserirla nella dashboard?

Quindi è quello che ho fatto esattamente.

Ora fingo semplicemente di lavorare sodo sui fogli di calcolo al lavoro lasciando che la magia del cloud computing faccia il suo lavoro.

In questo articolo utilizzeremo Google Cloud Platform per creare un'API di output di machine learning incredibilmente semplice.

Prima di iniziare, ecco il repository se vuoi prima dare un'occhiata al codice.

Prima ancora di iniziare su Google Cloud Platform (GCP), la prima parte è eseguire la discussione dei dati e far funzionare la nostra funzione di apprendimento automatico.

Puoi farlo in qualsiasi IDE come VS Code, Google Colab o Kaggle per citarne alcuni.

Per quanto mi riguarda, lo faremo su Kaggle perché sento che sono piuttosto generosi con i loro servizi e l'IDE sembra elegante.

Abbiamo bisogno solo di 2 semplici librerie per questa API: Pandas e Sci-kit learn.

Sono andato avanti e ho deciso quale algoritmo utilizzerò per questo articolo.

Utilizzeremo Kmeans come apprendimento automatico perché utilizzeremo solo dati numerici e vorremmo un'etichettatura automatica basata su elementi comuni, il che significa che per questo tutorial abbiamo bisogno solo di un algoritmo di apprendimento automatico non supervisionato.

Per questo articolo utilizzeremo il set di dati mpg perché è semplice.

Questo set di dati riguarda le conclusioni sul carburante nelle automobili. Puoi leggere ulteriori informazioni sul sito web dell'Università della California, Irvine.

Inoltre, non voglio annoiarti e confonderti con i passaggi di pulizia dei dati come nostro obiettivo per creare rapidamente un'API ML.

In questo caso, importerò un CSV ma, più realisticamente, effettuerai query da un database SQL o non SQL o effettuerai chiamate API.

Diciamo con cosa stiamo lavorando.

Non sono davvero un grande fan dei campi oggetto quando provo a lavorare con un algoritmo semplice come Kmeans.

Certo, possiamo codificarli a caldo, ma semplicemente scrivere il codice di pulizia dei dati farebbe sprecare il tempo necessario per leggere questo articolo, quindi eliminiamo semplicemente le colonne che non ci servono.

Come accennato, il nostro obiettivo è essere semplice, quindi rimuoveremo tutte le colonne contenenti stringhe e manterremo solo quelle con campi numerici.

Abbiamo alcuni numeri interi nel set di dati, li trasformeremo anche in numeri per coerenza.

Kmeans funziona misurando la distanza di un punto dati da un altro punto. I punti dati vicini tra loro formano un cluster. Questa distanza è misurata dalla distanza euclidea. Fondamentalmente, immagina l'ipotenusa di un triangolo e questa è la distanza. Puoi saperne di più dall'articolo di Wikipedia qui.

Puoi impostare il numero di cluster nell'algoritmo e se vuoi che gli output siano gli stessi a seconda dello stato casuale con cui inizi. Puoi leggere ulteriori informazioni sull'implementazione di kmeans da parte di sci-kit learn qui.

Ora abbiamo le etichette, quindi tutto ciò che dobbiamo fare è allegarle al nostro set di dati. Questi sono fondamentalmente i cluster in cui rientra ciascuna riga di dati.