top of page

Risultati Ricerca Intelligenza Artificiale Italia

331 risultati trovati per "ChatGPT business"

  • Come rimuovere e gestire i valori anomali con python nel machine learning

    Durante la modellazione, è importante pulire il campione di dati per garantire che le osservazioni rappresentino al meglio il problema. A volte un set di dati può contenere valori estremi che sono al di fuori dell'intervallo di ciò che è previsto e diversi dagli altri dati. Questi sono chiamati valori anomali e spesso la modellazione dell'apprendimento automatico e l'abilità dei modelli in generale possono essere migliorati comprendendo e persino rimuovendo questi valori anomali. In questo tutorial scoprirai i valori anomali e come identificarli e rimuoverli dal tuo set di dati di machine learning. Dopo aver completato questo tutorial, saprai: Che un valore anomalo sia un'osservazione improbabile in un set di dati e possa avere una delle molte cause. Come utilizzare semplici statistiche univariate come la deviazione standard e l'intervallo interquartile per identificare e rimuovere valori anomali da un campione di dati. Come utilizzare un modello di rilevamento dei valori anomali per identificare e rimuovere righe da un set di dati di addestramento al fine di migliorare le prestazioni della modellazione predittiva. Panoramica sulla gestione dei valori anomali con python Questo tutorial è diviso in cinque parti : Cosa sono i valori anomali? Test set di dati Gestire i valori anomali con il Metodo di deviazione standard Gestire i valori anomali con il Metodo dell'intervallo interquartile Rilevamento automatico dei valori anomali Cosa sono i valori anomali? Un valore anomalo è un'osservazione che è diversa dalle altre osservazioni. È raro, o distinto, o non si adatta in qualche modo. Generalmente definiremo valori anomali come campioni eccezionalmente lontani dal mainstream dei dati. I valori anomali possono avere molte cause, come ad esempio: Errore di misurazione o input. Corruzione dei dati. Vera osservazione anomala (ad es. Michael Jordan nel basket). Non esiste un modo preciso per definire e identificare i valori anomali in generale a causa delle specificità di ciascun set di dati. Invece, tu o un esperto di dominio dovete interpretare le osservazioni grezze e decidere se un valore è un valore anomalo o meno. Anche con una comprensione approfondita dei dati, i valori anomali possono essere difficili da definire. […] Bisogna fare molta attenzione a non rimuovere o modificare frettolosamente i valori, soprattutto se la dimensione del campione è piccola. Tuttavia, possiamo utilizzare metodi statistici per identificare osservazioni che sembrano essere rare o improbabili dati i dati disponibili. L'identificazione di valori anomali e dati errati nel set di dati è probabilmente una delle parti più difficili della pulizia dei dati e richiede tempo per essere corretta. Anche se hai una profonda conoscenza delle statistiche e di come i valori anomali potrebbero influenzare i tuoi dati, è sempre un argomento da esplorare con cautela. Ciò non significa che i valori identificati siano valori anomali e debbano essere rimossi. Tuttavia, gli strumenti descritti in questo tutorial possono essere utili per far luce su eventi rari che potrebbero richiedere una seconda occhiata. Un buon consiglio è prendere in considerazione la possibilità di tracciare i valori anomali identificati, magari nel contesto di valori non anomali per vedere se esistono relazioni o schemi sistematici con i valori anomali. Se c'è, forse non sono valori anomali e possono essere spiegati, o forse gli stessi valori anomali possono essere identificati in modo più sistematico. Test set di dati Prima di esaminare i metodi di identificazione dei valori anomali, definiamo un set di dati che possiamo utilizzare per testare i metodi. Genereremo una popolazione di 10.000 numeri casuali estratti da una distribuzione gaussiana con una media di 50 e una deviazione standard di 5. I numeri estratti da una distribuzione gaussiana avranno valori anomali. Cioè, in virtù della distribuzione stessa, ci saranno alcuni valori che saranno molto lontani dai valori medi e rari che possiamo identificare come valori anomali. Useremo la funzione randn() per generare valori gaussiani casuali con una media di 0 e una deviazione standard di 1, quindi moltiplichiamo i risultati per la nostra deviazione standard e aggiungiamo la media per spostare i valori nell'intervallo preferito. Il generatore di numeri pseudocasuali viene seminato per garantire che otteniamo lo stesso campione di numeri ogni volta che viene eseguito il codice. # generiamo dei dati from numpy.random import seed from numpy.random import randn from numpy import mean from numpy import std # impostiamo il seed seed(1) # generiamo delle osservazioni data = 5 * randn(10000) + 50 # riassumiamo print('mean=%.3f stdv=%.3f' % (mean(data), std(data))) L'esecuzione dell'esempio genera il campione e quindi stampa la media e la deviazione standard. Come previsto, i valori sono molto vicini ai valori attesi. mean=50.049 stdv=4.994 Grstire gli outliers con il Metodo di deviazione standard Se sappiamo che la distribuzione dei valori nel campione è gaussiana o simile a quella gaussiana, possiamo utilizzare la deviazione standard del campione come cut-off per identificare i valori anomali. La distribuzione gaussiana ha la proprietà che la deviazione standard dalla media può essere utilizzata per riassumere in modo affidabile la percentuale di valori nel campione. Ad esempio, entro una deviazione standard della media coprirà il 68% dei dati. Quindi, se la media è 50 e la deviazione standard è 5, come nel set di dati del test sopra, tutti i dati nel campione tra 45 e 55 rappresenteranno circa il 68% del campione di dati. Possiamo coprire più del campione di dati se espandiamo l'intervallo come segue: 1 Deviazione standard dalla media: 68% 2 Deviazioni standard dalla media: 95% 3 deviazioni standard dalla media: 99,7% Un valore che non rientra in 3 deviazioni standard fa parte della distribuzione, ma è un evento raro o improbabile a circa 1 su 370 campioni. Tre deviazioni standard dalla media sono un limite comune in pratica per identificare i valori anomali in una distribuzione gaussiana o simile a quella gaussiana. Per campioni di dati più piccoli, può essere utilizzato forse un valore di 2 deviazioni standard (95%) e per campioni più grandi, può essere utilizzato forse un valore di 4 deviazioni standard (99,9%). I Dati mu e sigma, un modo semplice per identificare i valori anomali è calcolare uno z-score per ogni xi, che è definito come il numero di deviazioni standard da xi è dalla media […] Valori di dati che hanno uno z-score sigma maggiore di una soglia, ad esempio di tre, sono dichiarati valori anomali. Rendiamolo concreto con un esempio. A volte, i dati vengono prima standardizzati (ad es. su un punteggio Z con media zero e varianza unitaria) in modo che il rilevamento dei valori anomali possa essere eseguito utilizzando valori di cut-off del punteggio Z standard. Questa è una comodità e non è richiesta in generale, ed eseguiremo i calcoli nella scala originale dei dati qui per chiarire le cose. Possiamo calcolare la media e la deviazione standard di un dato campione, quindi calcolare il cut-off per identificare i valori anomali come più di 3 deviazioni standard dalla media. # calcoliamo le statistiche di base data_mean, data_std = mean(data), std(data) # identifichiamo gli outl cut_off = data_std * 3 lower, upper = data_mean - cut_off, data_mean + cut_off Possiamo quindi identificare i valori anomali come quegli esempi che cadono al di fuori dei limiti inferiore e superiore definiti. # identifichiamo gli outliers outliers = [x for x in data if x < lower or x > upper] In alternativa, possiamo filtrare dal campione quei valori che non rientrano nei limiti definiti. # rimuoviamo gli outliers outliers_removed = [x for x in data if x > lower and x < upper] Possiamo mettere tutto questo insieme al nostro set di dati di esempio preparato nella sezione precedente. L'esempio completo è elencato di seguito. from numpy.random import seed from numpy.random import randn from numpy import mean from numpy import std seed(1) data = 5 * randn(10000) + 50 data_mean, data_std = mean(data), std(data) cut_off = data_std * 3 lower, upper = data_mean - cut_off, data_mean + cut_off outliers = [x for x in data if x < lower or x > upper] print('Identified outliers: %d' % len(outliers)) outliers_removed = [x for x in data if x >= lower and x <= upper] print('Non-outlier observations: %d' % len(outliers_removed)) Copia e incolla il codice sul nostro editor Python online preconfigurato per il machine learning e data science L'esecuzione dell'esempio stamperà prima il numero di valori anomali identificati e quindi il numero di osservazioni che non sono valori anomali, dimostrando come identificare e filtrare rispettivamente i valori anomali. Identified outliers: 29 Non-outlier observations: 9971 Finora abbiamo parlato solo di dati univariati con una distribuzione gaussiana, ad esempio una singola variabile. È possibile utilizzare lo stesso approccio se si dispone di dati multivariati, ad esempio dati con più variabili, ciascuna con una distribuzione gaussiana diversa. Puoi immaginare limiti in due dimensioni che definirebbero un'ellisse se hai due variabili. Le osservazioni che non rientrano nell'ellisse sarebbero considerate valori anomali. In tre dimensioni, questo sarebbe un ellissoide e così via in dimensioni superiori. In alternativa, se si conosce meglio il dominio, è possibile che venga identificato un valore anomalo superando i limiti di una o di un sottoinsieme delle dimensioni dei dati. Metodo dell'intervallo interquartile Non tutti i dati sono normali o abbastanza normali da considerarli come tratti da una distribuzione gaussiana. Una buona statistica per riassumere un campione di dati con distribuzione non gaussiana è l'Interquartile Range, o IQR in breve. L'IQR viene calcolato come la differenza tra il 75° e il 25° percentile dei dati. Ricorda che i percentili possono essere calcolati ordinando le osservazioni e selezionando i valori in base a indici specifici. Il 50° percentile è il valore medio, o la media dei due valori medi per un numero pari di esempi. Se avessimo 10.000 campioni, il 50° percentile sarebbe la media dei valori 5000 e 5001. Ci riferiamo ai percentili come quartili (" quart " significa 4) perché i dati sono divisi in quattro gruppi tramite i valori 25, 50 e 75. L'IQR definisce il 50% centrale dei dati o il corpo dei dati. Le tecniche di rilevamento dei valori anomali basati su statistiche presuppongono che i punti dati normali appaiano nelle regioni ad alta probabilità di un modello stocastico, mentre i valori anomali si verificherebbero nelle regioni a bassa probabilità di un modello stocastico. L'IQR può essere utilizzato per identificare i valori anomali definendo limiti sui valori del campione che sono un fattore k dell'IQR al di sotto del 25° percentile o al di sopra del 75° percentile. Il valore comune per il fattore k è il valore 1,5. Un fattore k di 3 o più può essere utilizzato per identificare valori che sono valori anomali estremi o " lontani " . Questi limiti sono disegnati come recinzioni sui baffi (o sulle linee) che vengono tracciati dalla scatola. I valori che non rientrano in questi valori vengono disegnati come punti. Possiamo calcolare i percentili di un set di dati usando la funzione percentile() NumPy che prende il set di dati e la specifica del percentile desiderato. L'IQR può quindi essere calcolato come la differenza tra il 75° e il 25° percentile. # calcoliamo il rancge interquartile q25, q75 = percentile(data, 25), percentile(data, 75) iqr = q75 - q25 Possiamo quindi calcolare il limite per i valori anomali come 1,5 volte l'IQR e sottrarre questo limite dal 25° percentile e aggiungerlo al 75° percentile per fornire i limiti effettivi sui dati. # calcoliamo gli outlier cutoff cut_off = iqr * 1.5 lower, upper = q25 - cut_off, q75 + cut_off Possiamo quindi utilizzare questi limiti per identificare i valori anomali. # adesso identifichiamo gli outliers outliers outliers = [x for x in data if x < lower or x > upper] Possiamo anche utilizzare i limiti per filtrare i valori anomali dal set di dati. # rimuoviamo gli outliers outliers_removed = [x for x in data if x > lower and x < upper] Possiamo collegare tutto questo insieme e dimostrare la procedura sul set di dati di test. L'esempio completo è elencato di seguito. from numpy.random import seed from numpy.random import randn from numpy import percentile seed(1) data = 5 * randn(10000) + 50 q25, q75 = percentile(data, 25), percentile(data, 75) print('Percentiles: 25th=%.3f, 75th=%.3f, IQR=%.3f' % (q25, q75, iqr)) cut_off = iqr * 1.5 lower, upper = q25 - cut_off, q75 + cut_off outliers = [x for x in data if x < lower or x > upper] print('Identified outliers: %d' % len(outliers)) outliers_removed = [x for x in data if x >= lower and x <= upper] print('Non-outlier observations: %d' % len(outliers_removed)) Copia e incolla il codice sul nostro editor Python online preconfigurato per il machine learning e data science, senza dover perdere tempo per installare le librerie. L'esecuzione dell'esempio stampa prima il 25° e il 75° percentile identificato e l'IQR calcolato. Viene stampato il numero di outlier individuato seguito dal numero di osservazioni non outlier. Percentiles: 25th=46.685, 75th=53.359, IQR=6.674 Identified outliers: 81 Non-outlier observations: 9919 L'approccio può essere utilizzato per dati multivariati calcolando a turno i limiti di ciascuna variabile nel set di dati e prendendo i valori anomali come osservazioni che cadono al di fuori del rettangolo o dell'iper-rettangolo. Rilevamento automatico dei valori anomali Nell'apprendimento automatico, un approccio per affrontare il problema del rilevamento dei valori anomali è la classificazione a una classe . La classificazione di una classe, o OCC in breve, implica l'adattamento di un modello sui dati " normali " e la previsione se i nuovi dati sono normali o un'anomalia/anomalia. Un classificatore a una classe mira a catturare le caratteristiche delle istanze di formazione, in modo da essere in grado di distinguerle dai potenziali valori anomali che appaiono. Un classificatore a una classe è adatto a un set di dati di addestramento che contiene solo esempi della classe normale. Una volta preparato, il modello viene utilizzato per classificare nuovi esempi come normali o non normali, ovvero valori anomali o anomalie. Un approccio semplice per identificare i valori anomali consiste nell'individuare quegli esempi che sono lontani dagli altri esempi nello spazio delle caratteristiche. Questo può funzionare bene per gli spazi delle caratteristiche con una bassa dimensionalità (poche funzioni), sebbene possa diventare meno affidabile all'aumentare del numero di funzioni, indicato come la maledizione della dimensionalità. Il fattore anomalo locale, o LOF in breve, è una tecnica che tenta di sfruttare l'idea dei vicini più vicini per il rilevamento dei valori anomali. A ogni esempio viene assegnato un punteggio di quanto sia isolato o quanto sia probabile che siano valori anomali in base alle dimensioni del suo quartiere locale. È più probabile che gli esempi con il punteggio più alto siano valori anomali. Introduciamo un outlier locale (LOF) per ogni oggetto nel set di dati, indicando il suo grado di outlier-ness. La libreria scikit-learn fornisce un'implementazione di questo approccio nella classe LocalOutlierFactor . Possiamo dimostrare il metodo LocalOutlierFactor su un set di dati di modellazione predittiva. Useremo il problema della regressione immobiliare di Boston che ha 13 input e un target numerico e richiede l'apprendimento della relazione tra le caratteristiche dei sobborghi e i prezzi delle case. Puoi trovare qualsiasi dataset tu abbia in mente per provare qui Guardando nel set di dati, dovresti vedere che tutte le variabili sono numeriche. 0.00632,18.00,2.310,0,0.5380,6.5750,65.20,4.0900,1,296.0,15.30,396.90,4.98,24.00 0.02731,0.00,7.070,0,0.4690,6.4210,78.90,4.9671,2,242.0,17.80,396.90,9.14,21.60 0.02729,0.00,7.070,0,0.4690,7.1850,61.10,4.9671,2,242.0,17.80,392.83,4.03,34.70 0.03237,0.00,2.180,0,0.4580,6.9980,45.80,6.0622,3,222.0,18.70,394.63,2.94,33.40 0.06905,0.00,2.180,0,0.4580,7.1470,54.20,6.0622,3,222.0,18.70,396.90,5.33,36.20 ... Non è necessario scaricare il set di dati, lo scaricheremo automaticamente. Innanzitutto, possiamo caricare il set di dati come un array NumPy, separarlo in variabili di input e output e quindi dividerlo in set di dati di training e test. L'esempio completo è elencato di seguito. from pandas import read_csv from sklearn.model_selection import train_test_split url = 'https://raw.githubusercontent.com/jbrownlee/Datasets/master/housing.csv' df = read_csv(url, header=None) data = df.values X, y = data[:, :-1], data[:, -1] print(X.shape, y.shape) X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=1) print(X_train.shape, X_test.shape, y_train.shape, y_test.shape) L'esecuzione dell'esempio carica il set di dati e prima riporta il numero totale di righe e colonne nel set di dati, quindi il numero di dati degli esempi allocati al treno e ai set di dati di test. (506, 13) (506,) (339, 13) (167, 13) (339,) (167,) È un problema di modellazione predittiva di regressione, il che significa che prevediamo un valore numerico. Tutte le variabili di input sono anche numeriche. In questo caso, adatteremo un algoritmo di regressione lineare e valuteremo le prestazioni del modello addestrando il modello sul set di dati del test ed effettuando una previsione sui dati del test e valuteremo le previsioni utilizzando l'errore medio assoluto (MAE). L'esempio completo di valutazione di un modello di regressione lineare sul set di dati è elencato di seguito. from pandas import read_csv from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_absolute_error url = 'https://raw.githubusercontent.com/jbrownlee/Datasets/master/housing.csv' df = read_csv(url, header=None) data = df.values X, y = data[:, :-1], data[:, -1] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=1) model = LinearRegression() model.fit(X_train, y_train) mae = mean_absolute_error(y_test, yhat) print('MAE: %.3f' % mae) L'esecuzione dell'esempio adatta e valuta il modello, quindi segnala il MAE. Nota : i risultati possono variare a causa della natura stocastica dell'algoritmo o della procedura di valutazione, o delle differenze nella precisione numerica. Esegui l'esempio alcune volte e confrontare il risultato medio. In questo caso, possiamo vedere che il modello ha raggiunto un MAE di circa 3.417. MAE: 3.417 Successivamente, possiamo provare a rimuovere i valori anomali dal set di dati di addestramento. L'aspettativa è che i valori anomali inducano il modello di regressione lineare ad apprendere un pregiudizio o una comprensione distorta del problema e che la rimozione di questi valori anomali dal set di addestramento consentirà di apprendere un modello più efficace. Possiamo raggiungere questo obiettivo definendo il modello LocalOutlierFactor e utilizzandolo per fare una previsione sul set di dati di addestramento, contrassegnando ogni riga nel set di dati di addestramento come normale (1) o un valore anomalo (-1). Utilizzeremo gli iperparametri predefiniti per il modello di rilevamento dei valori anomali, sebbene sia una buona idea ottimizzare la configurazione in base alle specifiche del set di dati. lof = LocalOutlierFactor() yhat = lof.fit_predict(X_train) Possiamo quindi utilizzare queste previsioni per rimuovere tutti i valori anomali dal set di dati di addestramento. # seleziona tutte le righe che non sono valori anomali mask = yhat != -1 X_train, y_train = X_train[mask, :], y_train[mask] Possiamo quindi adattare e valutare il modello come di consueto. L'esempio aggiornato di valutazione di un modello di regressione lineare con valori anomali eliminati dal set di dati di addestramento è elencato di seguito. from pandas import read_csv from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.neighbors import LocalOutlierFactor from sklearn.metrics import mean_absolute_error url = 'https://raw.githubusercontent.com/jbrownlee/Datasets/master/housing.csv' df = read_csv(url, header=None) data = df.values X, y = data[:, :-1], data[:, -1] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=1) print(X_train.shape, y_train.shape) lof = LocalOutlierFactor() yhat = lof.fit_predict(X_train) mask = yhat != -1 X_train, y_train = X_train[mask, :], y_train[mask] print(X_train.shape, y_train.shape) model = LinearRegression() model.fit(X_train, y_train) yhat = model.predict(X_test) mae = mean_absolute_error(y_test, yhat) print('MAE: %.3f' % mae) L'esecuzione dell'esempio adatta e valuta il modello di regressione lineare con valori anomali eliminati dal set di dati di addestramento. Nota : i risultati possono variare a causa della natura stocastica dell'algoritmo o della procedura di valutazione, o delle differenze nella precisione numerica. Considera di eseguire l'esempio alcune volte e confrontare il risultato medio. In primo luogo, possiamo vedere che il numero di esempi nel set di dati di addestramento è stato ridotto da 339 a 305, il che significa che sono state identificate ed eliminate 34 righe contenenti valori anomali. Possiamo anche vedere una riduzione del MAE da circa 3,417 da un adattamento del modello sull'intero set di dati di addestramento, a circa 3,356 su un adattamento del modello sul set di dati con i valori anomali rimossi. (339, 13) (339,) (305, 13) (305,) MAE: 3.356 La libreria Scikit-Learn fornisce altri algoritmi di rilevamento anomali che possono essere utilizzati allo stesso modo dell'algoritmo IsolationForest. Estensioni Questa sezione elenca alcune idee per estendere il tutorial che potresti voler esplorare. Sviluppa il tuo set di dati di test gaussiano e traccia i valori anomali e non anomali su un istogramma. Testare il metodo basato su IQR su un set di dati univariato generato con una distribuzione non gaussiana. Scegli un metodo e crea una funzione che filtrerà i valori anomali per un determinato set di dati con un numero arbitrario di dimensioni. Se esplori una di queste estensioni, ci piacerebbe saperlo nei commenti

  • Cosa sono i dati sintetici? La guida completa sui dati sintetici

    Sebbene i dati possano sembrare utili, possono anche essere dannosi se utilizzati in modo errato. Cosa sono i dati sintetici? Questo articolo discute la differenza tra dati sintetici e dati reali e come generare dati sintentici. Cosa sono i dati sintetici? I dati sintetici sono tutte le informazioni prodotte artificialmente che rappresentano eventi o oggetti nel mondo reale. Gli algoritmi creano dati sintetici utilizzati nei set di dati del modello per scopi di test o addestramento. I dati sintetici possono imitare i dati operativi o di produzione e aiutare ad addestrare modelli di machine learning (ML) o testare modelli matematici. I dati sintetici offrono numerosi vantaggi importanti: riducono al minimo i vincoli associati all'uso di dati regolamentati o sensibili, possono essere utilizzati per personalizzare i dati in modo che corrispondano a condizioni che i dati reali non consentono e possono essere utilizzati per generare grandi set di dati di addestramento senza richiedere etichettatura manuale dei dati. Perché i dati sintetici sono importanti? Gli sviluppatori spesso richiedono set di dati di grandi dimensioni e accuratamente etichettati durante l'addestramento dei modelli di intelligenza artificiale. Le reti neurali raggiungono una maggiore precisione se addestrate con dati più diversi. Tuttavia, potrebbe essere irrealisticamente dispendioso in termini di tempo e denaro raccogliere ed etichettare questi grandi set di dati con migliaia o addirittura milioni di oggetti. I dati sintetici possono ridurre notevolmente il costo di generazione dei dati di addestramento. Ad esempio, un'immagine di addestramento che costa $ 5 se proveniente da un servizio di etichettatura dei dati potrebbe costare solo $ 0,05 se generata artificialmente. Oltre a ridurre i costi, i dati sintetici aiutano a risolvere i problemi di privacy associati a dati potenzialmente sensibili provenienti dal mondo reale. Può anche ridurre la distorsione rispetto ai dati reali, che potrebbero non riflettere accuratamente l'intera gamma di informazioni sul mondo reale. I dati sintetici possono fornire una maggiore diversità includendo casi rari che rappresentano possibilità realistiche ma possono essere difficili da ricavare da dati autentici. Casi d'uso per dati sintetici I dati sintetici possono essere utilizzati per creare dati di addestramento per algoritmi di machine learning. Un generatore di dati sintetici può essere eseguito più volte per simulare diversi set di dati di input. Questi dati vengono elaborati utilizzando algoritmi di apprendimento automatico e convalidati utilizzando set di test. I dati sintetici possono essere generati da un data scientist in risposta alle esigenze dell'azienda. Tali set di dati sono in genere necessari per lo sviluppo e il test del modello o per la creazione di dati di addestramento per algoritmi di machine learning. Vantaggi dei dati sintetici: Ai data scientist non dovrebbe importare se i dati che utilizzano sono autentici o sintetici, purché rappresentino modelli accurati, siano equilibrati, imparziali e di alta qualità. I dati sintetici consentono l'arricchimento e l'ottimizzazione, il che consente ai data scientist di sbloccare diversi vantaggi: Qualità dei dati : oltre a essere complicati e costosi da raccogliere, i dati del mondo reale sono spesso pieni di errori, contengono imprecisioni o rappresentano un pregiudizio che può influire sulla qualità di una rete neurale. I dati sintetici garantiscono una maggiore qualità, equilibrio e varietà dei dati. I dati generati artificialmente possono riempire automaticamente i valori mancanti e applicare etichette, consentendo previsioni più accurate. Scalabilità : l'apprendimento automatico richiede enormi quantità di dati. Spesso è difficile ottenere dati rilevanti sulla scala necessaria per addestrare e testare un modello predittivo. I dati sintetici aiutano a colmare le lacune, integrando i dati del mondo reale per ottenere una scala più ampia di input. Facilità d'uso : i dati sintetici sono spesso più semplici da generare e utilizzare. Quando si raccolgono dati del mondo reale, è spesso necessario garantire la privacy, filtrare gli errori o convertire i dati da formati diversi. I dati sintetici eliminano imprecisioni e duplicati e garantiscono che tutti i dati abbiano un formato e un'etichettatura uniformi. Che cos'è un set di dati sintetico? Un set di dati sintetico è un set di dati contenente dati generati da un algoritmo o modello anziché essere generato da umani. Un utilizzo importante per i set di dati sintetici è fornire dati robusti e versatili sufficienti per scopi di formazione ML. I dati sintetici devono avere proprietà specifiche per essere utili per i modelli di machine learning come gli algoritmi di classificazione. Un set di dati sintetico può contenere dati binari, numerici, categorici o dati non strutturati come immagini e video. È importante controllare i processi casuali che generano dati basati su distribuzioni statistiche o modelli generativi, per garantire che il risultato sia sufficientemente diversificato, ma comunque realistico. I dati sintetici dovrebbero essere personalizzabili. Ad esempio, può essere utile regolare il grado di separazione delle classi per simulare problemi di classificazione più difficili o più facili. D'altra parte, altre attività come la regressione possono trarre vantaggio dalla generazione di dati utilizzando processi non lineari. Quando usare i dati sintetici? I dati sintetici dovrebbero rappresentare accuratamente i dati originali che aumentano. I dati sintetici di alta qualità possono sostituire i dati di produzione sensibili effettivi in ​​un ambiente non di produzione (ad esempio, formazione, test, analisi, sviluppo, ecc.). I dati sintetici aiutano anche i data scientist a conformarsi alle normative sulla privacy dei dati come HIPAA, GDPR, CCPA e CPA. I dati sintetici sono ideali per l'utilizzo sicuro di set di dati sensibili a scopo di formazione o test. Le aziende possono estrarre approfondimenti da tali dati senza influire sulla conformità alla privacy. I casi d'uso tipici per i dati sintetici includono: Testing : i dati di test sintetici sono più facili da generare rispetto ai dati di test basati su regole e offrono flessibilità, scalabilità e realismo. Questi dati sono essenziali per i test basati sui dati e lo sviluppo del software. Addestramento del modello AI/ML: l'addestramento del modello AI si basa sempre più su dati sintetici. La sintesi dei dati può aumentare i dati reali e sovracampionare eventi o pattern più rari, consentendo all'algoritmo di addestrarsi in modo più efficace. I dati di addestramento sintetici in genere hanno prestazioni migliori rispetto ai dati del mondo reale e sono fondamentali per la creazione di modelli di intelligenza artificiale di alta qualità. Governance : i dati sintetici aiutano a rimuovere i pregiudizi presenti nei dati del mondo reale. I dati sintetici sono utili anche per sottoporre a stress test un modello di intelligenza artificiale con punti dati che raramente si verificano nel mondo reale. I dati sintetici sono essenziali per l'intelligenza artificiale spiegabile e forniscono informazioni su come si comportano i modelli. Tipi di dati sintetici: I data scientist utilizzano dati sintetici generati casualmente per mascherare informazioni riservate pur mantenendo le caratteristiche statisticamente rilevanti dei dati originali. I dati sintetici generalmente rientrano in tre categorie principali: Completamente sintetico : non conserva nulla dei dati originali. Il programma di generazione dei dati in genere identifica le caratteristiche dei dati del mondo reale, come la densità delle caratteristiche, per stimare parametri realistici. Quindi genera in modo casuale dati basati su densità di caratteristiche stimate o utilizzando metodi generativi. Non vengono utilizzati dati reali con questa tecnica, quindi fornisce una solida protezione della privacy a scapito della veridicità dei dati. Parzialmente sintetico : sostituisce i valori di determinate funzioni selezionate con valori sintetici mantenendo alcuni dei dati reali o permuta i dati non strutturati esistenti. È anche utile per colmare le lacune nei dati originali. I data scientist utilizzano metodi basati su modelli e di imputazione per generare dati parzialmente sintetici. Per i dati strutturati soggetti a restrizioni sulla privacy, questa tecnica di solito maschera solo le caratteristiche dei dati ad alto rischio o protetti dalla privacy. Ibrido : combina dati reali e sintetici. I dati sintetici ibridi accoppiano record casuali da un set di dati reale con record sintetici ravvicinati. Offre i vantaggi di dati completamente e parzialmente sintetici, fornendo un'elevata utilità e protezione della privacy. Lo svantaggio di questo tipo di dati è il tempo di elaborazione più lungo e la memoria richiesta. Limiti dei dati sintetici: I dati sintetici offrono vantaggi convincenti, ma non è facile realizzarli. La generazione di dati sintetici richiede specialisti di intelligenza artificiale altamente qualificati che comprendano come funzionano i dati e siano in grado di utilizzare gli strumenti sofisticati che generano e analizzano i set di dati. Le organizzazioni devono anche stabilire un framework per convalidare il successo dei loro progetti di generazione di dati. Ecco alcune delle sfide coinvolte nella generazione di dati sintetici: Realismo: i dati sintetici devono riflettere accuratamente i dati originali del mondo reale. Tuttavia, i reparti aziendali, i clienti o i revisori possono anche richiedere garanzie sulla tutela della privacy. Può essere difficile generare dati realistici che non espongano dati privati ​​effettivi. D'altra parte, se i dati sintetici non sono sufficientemente accurati, non rifletteranno i modelli cruciali per il progetto di formazione o test. Gli sforzi di modellazione basati su dati non realistici non possono generare intuizioni utili. Bias : spesso si insinua nei modelli ML addestrati su set di dati generati artificialmente. Sia i dati del mondo reale che quelli sintetici possono contenere un pregiudizio intrinseco o storico. Se i dati sintetici imitano accuratamente l'originale, possono riprodurre gli stessi pregiudizi nei dati appena generati. I data scientist devono adattare i modelli ML per tenere conto dei bias e garantire che il set di dati sintetici sia più rappresentativo. Privacy : alcuni tipi di dati sintetici si basano su dati del mondo reale. Se i dati sintetici generati dal modello sono troppo simili ai dati originali, ciò potrebbe creare problemi di privacy. Ciò è particolarmente vero se i dati originali utilizzati contengono informazioni di identificazione personale (PII), che possono essere soggette a norme sulla protezione della privacy. Metodi per la generazione di dati sintetici Per generare dati sintetici, i data scientist devono creare un modello robusto che modelli un set di dati reale. Sulla base delle probabilità che determinati punti dati si verifichino nel set di dati reale, possono generare punti dati sintetici realistici. Le reti neurali sono particolarmente abili nell'apprendere una distribuzione dei dati sottostante e generalizzarla. Ciò consente a un'architettura di rete neurale di creare punti dati simili, ma non identici, ai campioni della distribuzione originale. Ecco alcune tecniche neurali all'avanguardia utilizzate per generare dati sintetici. Codificatori automatici variazionali (VAE) I VAE sono modelli generativi non supervisionati che possono apprendere la distribuzione sottostante dei dati e generare un modello complesso. Operano prendendo una distribuzione originale, trasformandola in una distribuzione latente e riportandola nello spazio originale (questo è noto come codificato-decodificato). Questo processo si traduce in un "errore di ricostruzione", che il modello mira a minimizzare. I VAE sono molto utili per i dati continui ma meno efficaci per i dati categorici. Sono inoltre limitati nella loro capacità di generare immagini o altri tipi di dati non strutturati. Generative Adversarial Network (GAN) GAN è un modello generativo supervisionato che può essere utilizzato per generare rappresentazioni realistiche e altamente dettagliate. Funziona addestrando due reti neurali, una che genera punti dati falsi (un generatore) e l'altra che mira a distinguere punti dati falsi da quelli reali (un discriminatore). Nel corso di migliaia di cicli di addestramento, il generatore diventa sempre più efficace nel generare punti dati falsi altamente realistici che possono "ingannare" il generatore. I GAN hanno particolarmente successo nella generazione sintetica di immagini, video e altri dati non strutturati. Il loro punto debole è che richiedono competenze specializzate per costruire e addestrare, e che il modello può "collassare" e iniziare a produrre un insieme limitato di punti dati falsi molto simili. Campo di radianza neurale (NeRF) NeRF è un metodo per generare nuove viste da una scena 3D parzialmente nota. L'algoritmo acquisisce una serie di immagini, le interpola e aggiunge nuovi punti di vista dello stesso oggetto. Funziona trattando la scena statica come una funzione continua a 5 dimensioni e utilizzando una rete neurale completamente connessa per prevedere il contenuto di ciascun voxel. Per ogni raggio, fornisce un volume previsto per un voxel, riempiendo così un'intera immagine mancante nella scena. NeRF è un modo molto utile per generare immagini aggiuntive e realistiche da un set di immagini esistente. I suoi punti deboli sono che è lento da addestrare, lento da rendere e potrebbe generare immagini di bassa qualità o con alias. Sono ora disponibili diversi algoritmi di rendering neurale che affrontano queste sfide. In che modo i dati sintetici possono aiutare la visione artificiale? Ecco alcuni modi in cui i dati sintetici possono essere utili per la visione artificiale. Creazione di set di dati più rapida ed economica su larga scala Può essere dispendioso in termini di tempo e proibitivo raccogliere i dati visivi desiderati dal mondo reale, garantendo al tempo stesso una diversità sufficiente. Etichettare correttamente i punti dati è essenziale perché i dati etichettati in modo errato potrebbero generare un risultato impreciso. La raccolta dei dati e i processi di etichettatura o annotazione potrebbero richiedere mesi, consumando ampie risorse aziendali. I dati sintetici generati in modo programmatico non richiedono la raccolta manuale dei dati o sforzi di annotazione. I data scientist possono impostare dati sintetici che includono le etichette e le annotazioni appropriate all'inizio. Previsione dei casi limite I set di dati del mondo reale spesso contengono uno squilibrio, perché i casi limite, che non si verificano frequentemente nella vita reale, non sono sufficientemente rappresentati. Ciò può creare distorsioni in un modello di machine learning, perché il modello potrebbe non disporre di dati sufficienti per apprendere come elaborare correttamente il caso limite. I casi limite non sono necessariamente irrilevanti: potrebbero non verificarsi molto spesso nel mondo reale, ma potrebbero essere molto significativi per il processo modellato. Se un sistema di visione artificiale apprende solo da eventi reali, potrebbe non mancare un'esposizione sufficiente a esempi di casi limite. Ad esempio, potrebbe non essere realistico esporre naturalmente le auto a guida autonoma all'intera gamma di possibili eventi sulla strada, quindi l'algoritmo potrebbe non prevedere scenari insoliti che potrebbero portare a un incidente automobilistico. Gli input sintetici, come video o immagini di incidenti automobilistici, possono includere diverse condizioni ed eventi (ad esempio, condizioni di luce e meteorologiche, tipi e numero di veicoli, ambienti). Gli algoritmi dei veicoli autonomi addestrati con diversi dati sintetici possono produrre una visione artificiale più sicura per le auto, tenendo conto di una più ampia varietà di rari eventi del mondo reale. Protezione della privacy dei dati Le leggi e i regolamenti sulla privacy dei dati possono influire sulla raccolta e l'archiviazione dei dati visivi. Il mancato rispetto di regolamenti come il GDPR può comportare gravi conseguenze legali, finanziarie o commerciali. I set di dati contenenti dati privati ​​presentano un rischio perché il loro utilizzo nei modelli di addestramento potrebbe comportare una violazione della conformità. Ad esempio, gli utenti con accesso API a un sistema di riconoscimento facciale possono estrarre immagini di volti riconoscibili e abbinarle ai nomi di persone reali, rappresentando una potenziale violazione della privacy. I dati sintetici evitano il rischio di esporre informazioni private perché non contengono informazioni reali riconducibili a persone reali. Anche se un dataset sintetico si basa su dati reali (ad esempio immagini di persone reali), può preservare le caratteristiche rilevanti dei dati originali senza utilizzare alcuna informazione identificabile, eliminando il rischio di conformità.

  • OpenAI o1: La Rivoluzione dell'Intelligenza Artificiale nel Ragionamento Complesso

    Sviluppato dalla stessa azienda che ha creato ChatGPT e GPT-4, il modello o1 rappresenta un cambiamento risiede nella sua capacità di trasformare un modello di linguaggio di grandi dimensioni (LLM) in un chatbot

  • Migliori APP con intelligenza artificiale IA per android e ios

    Comprendendo l'impatto significativo dell'intelligenza artificiale sul business, aziende leader come Per sfruttare tutti i vantaggi di questi sistemi e favorire la crescita del business, gli imprenditori Sebbene i tipi di app di intelligenza artificiale non si limitino a chatbot e assistenti vocali, l'IA Implementazioni chiave dell'IA: assistente chatbot. 6. Implementazioni chiave dell'IA: terapista chatbot. 7.

  • Data Scientist vs Ingegnere di Intelligenza Artificiale che differenze ci sono?

    IDC ha riferito che la spesa globale per le tecnologie di intelligenza artificiale raggiungerà i 97,9 miliardi di dollari entro la fine del 2023. Secondo il rapporto Emerging Jobs 2020 di LinkedIn, gli ingegneri dell'intelligenza artificiale e gli scienziati dei dati continuano a fare una buona figura come i principali ruoli lavorativi emergenti per il 2022 con il 74% annuo crescita negli ultimi 4 anni. Introduzione Data Scientist vs Ingegnere di Intelligenza Artificiale Queste statistiche mostrano che la crescita nell'implementazione di soluzioni di intelligenza artificiale sta alimentando la domanda delle competenze necessarie per renderle un successo. La scienza dei dati e l'intelligenza artificiale sono i razzi che stanno decollando nell'era post-pandemia con stipendi redditizi e vantaggi gratificanti. Non è un segreto che gli scienziati dei dati e gli ingegneri dell'intelligenza artificiale siano incoronati come i ruoli di lavoro dinamici e in più rapida crescita al mondo al momento che sono cruciali per lo sviluppo di prodotti software di intelligenza più grandi. Scienziato dei dati vs ingegnere dell'intelligenza artificiale: due ruoli lavorativi nel settore dei dati che vengono spesso utilizzati in modo intercambiabile a causa delle loro competenze sovrapposte, ma in realtà sono diversi. Un data scientist non deve essere confuso con un ingegnere di intelligenza artificiale. Sebbene ci sia un'enorme sovrapposizione di competenze, c'è una differenza tra uno scienziato di dati e un ingegnere di intelligenza artificiale, il primo è tipicamente matematico e competente nella programmazione, ma si affidano a ingegneri di intelligenza artificiale altamente qualificati per implementare i loro modelli e distribuirli nella produzione ambiente. Sia i data scientist che gli ingegneri dell'intelligenza artificiale sono ruoli professionali complementari con competenze sovrapposte che lavorano bene insieme in armonia e sono ugualmente importanti per il successo di un progetto di intelligenza artificiale. Senza troppi indugi, esploriamo e comprendiamo le differenze tra: Data Scientist vs Ingegnere di Intelligenza Artificiale Scienziato dei dati vs Ingegnere di intelligenza artificiale Chi è uno Scienziato dei dati? Un data scientist è colui che utilizza algoritmi, matematica, statistica, progettazione, programmazione, comunicazione e capacità di gestione per ricavare informazioni significative e fruibili da grandi quantità di dati e creare un impatto aziendale positivo. I data scientist utilizzano ampiamente metodi statistici, architettura distribuita, strumenti di visualizzazione e diverse tecnologie orientate ai dati come Hadoop, Spark, Python, SQL, R per raccogliere informazioni dai dati. Le informazioni estratte dai data scientist vengono utilizzate per guidare vari processi aziendali, analizzare le metriche degli utenti, prevedere potenziali rischi aziendali, valutare le tendenze del mercato e prendere decisioni migliori per raggiungere gli obiettivi organizzativi. Chi è un ingegnere di intelligenza artificiale? Dallo sviluppo di una mano robotica per risolvere il cubo di Rubik ai sistemi di riconoscimento vocale, gli ingegneri dell'intelligenza artificiale sono coloro che trasmettono l'intelletto umano alle macchine. Un ingegnere di intelligenza artificiale è responsabile della produzione di modelli autonomi intelligenti e della loro integrazione nelle applicazioni. Gli ingegneri dell'intelligenza artificiale utilizzano l'apprendimento automatico, il deep learning, i principi dell'ingegneria del software, i calcoli algoritmici, le reti neurali e la PNL per creare, mantenere e distribuire soluzioni di intelligenza artificiale end-to-end. Lavorano in collaborazione con le parti interessate aziendali per creare soluzioni di intelligenza artificiale che possono aiutare a migliorare le operazioni, la fornitura di servizi e lo sviluppo del prodotto per la redditività aziendale. Gli ingegneri di intelligenza artificiale di alcune organizzazioni sono più concentrati sulla ricerca e lavorano per trovare il modello giusto per risolvere un compito durante la formazione, il monitoraggio, e il mantenimento del modello. Scienziato dei dati vs Ingegnere di intelligenza artificiale, ruoli e responsabilità Capiamo cosa fanno un data scientist e un ingegnere di intelligenza artificiale e cosa comporta il loro ruolo lavorativo. Cosa fa uno data Scienziato dei dati? I data scientist fanno tutto bene, dalla configurazione di un server alla presentazione degli approfondimenti al consiglio di amministrazione. Ecco alcune attività principali che un data scientist esegue: Identifica i problemi aziendali e raccogli set di dati rilevanti e di grandi dimensioni per risolverli. Prepara, pulisci, trasforma ed esplora i dati prima dell'analisi. Utilizzare metodi all'avanguardia per il data mining per generare nuove informazioni. Scegli e implementa una famiglia di algoritmi di machine learning appropriata per un problema aziendale. Utilizza varie tecniche di modellazione statistica e apprendimento automatico per misurare e migliorare il risultato di un modello. Metti a punto e ottimizza gli iperparametri del modello. Utilizza vari metodi analitici e modelli di machine learning per identificare tendenze, modelli e correlazioni in set di dati di grandi dimensioni. Collabora con analisti di dati, ingegneri di intelligenza artificiale e altre parti interessate per supportare un migliore processo decisionale aziendale. Comunicare le intuizioni a vari stakeholder aziendali in modo convincente. Cosa fa un ingegnere di intelligenza artificiale? Crea e distribuisci algoritmi di intelligenza artificiale intelligenti per funzionare. Sviluppa API scalabili, flessibili e affidabili per integrare i prodotti dati e l'origine nelle applicazioni. Utilizza le tecnologie Docker per creare versioni distribuibili del modello. Costruisci l'infrastruttura come codice: assicurati che gli ambienti creati durante lo sviluppo e l'addestramento del modello possano essere facilmente replicati per la soluzione finale basata sull'intelligenza artificiale. Sviluppa e mantieni l'architettura utilizzando i principali framework di intelligenza artificiale. Utilizza strumenti come GIT e TFS per l'integrazione continua e il controllo delle versioni per tenere traccia delle iterazioni del modello e di altri aggiornamenti del codice. Testare e distribuire i modelli. Creare tutte le interfacce utente necessarie per visualizzare una vista più approfondita dei modelli. Implementa altri concetti di ingegneria del software come la distribuzione continua, la scalabilità automatica e il monitoraggio delle applicazioni. Sviluppa applicazioni MVP che incapsulano tutto, dallo sviluppo del modello al test del modello. Esamina le esigenze complessive del progetto AI. A molti in ITALIA questa distinzione tra Scienziato dei dati e Ingegnere di intelligenza artificiale non è molto chiara, per questo motivo gli esempi sono di posizioni lavorative all'estero. Scienziato dei dati vs Ingegnere di intelligenza artificiale, competenze tecniche Gli ingegneri dell'intelligenza artificiale si sovrappongono ai data scientist in termini di competenze tecniche, ad esempio, entrambi potrebbero utilizzare i linguaggi di programmazione Python o R per implementare modelli ed entrambi devono avere conoscenze matematiche e statistiche avanzate. Tuttavia, ci si aspetta che gli ingegneri dell'IA siano più altamente qualificati quando si tratta di PNL, scienze cognitive, deep learning e abbiano anche una solida conoscenza delle piattaforme di produzione come GCP, Amazon AWS, Microsoft Azure e dei servizi di intelligenza artificiale offerti da queste piattaforme per distribuire i modelli nell'ambiente di produzione. Competenze necessarie per diventare un Data Scientist: Solide basi matematiche e statistiche. Programmazione in Python e R Conoscenza di strumenti per big data come Hadoop, Spark, Pig, Hive e altri. Competenza nell'uso di SQL e nell'interrogazione di altri sistemi di gestione di database relazionali.a Strumenti di visualizzazione dei dati come Tableau, QlikView e altri. Avere una buona conoscenza delle tecniche di data mining, pulizia dei dati e gestione dei dati. Competenze necessarie per diventare un ingegnere di intelligenza artificiale: Competenza in linguaggi di programmazione come Python e R. Fondamenti di informatica e ingegneria del software Solide conoscenze matematiche e algoritmiche Valutazione dei dati e progettazione dell'architettura. Buon comando su comandi basati su Linux/Unix poiché la maggior parte dell'elaborazione nell'IA avviene su macchine basate su Linux. Conoscenza del calcolo distribuito poiché gli ingegneri dell'IA lavorano con grandi quantità di dati che non possono essere archiviati su una singola macchina. Scienze cognitive per comprendere il ragionamento umano, il linguaggio, la percezione, le emozioni e la memoria. Una visione più approfondita del processo del pensiero umano è un'abilità indispensabile per gli ingegneri dell'IA. Machine Learning, Deep learning, architetture di reti neurali, elaborazione delle immagini, visione artificiale e PNL. Conoscenza delle tecniche di elaborazione del segnale per l'estrazione di feature. Scienziato dei dati vs Ingegnere di intelligenza artificiale: in poche parole Quindi, dovresti diventare uno scienziato dei dati o un ingegnere di intelligenza artificiale? Secondo il World Economic Forum, l'intelligenza artificiale ha creato 58 milioni di nuovi posti di lavoro entro la fine del 2020 . Gli scienziati dei dati e gli ingegneri dell'intelligenza artificiale sono in ascesa e non è una sorpresa. Il New York Times ha riferito che ci sono meno di 10.000 ingegneri di intelligenza artificiale qualificati in tutto il mondo, decisamente troppo meno rispetto alla domanda riportata. Il settore soffre di un enorme divario di competenze per set di competenze basati sulla tecnologia come l'analisi dei dati, la scienza dei dati, l'apprendimento automatico e l'intelligenza artificiale che continuano a essere richiesti. La ricerca di Livemint ha rilevato che solo il 35% dei professionisti dell'IA entra nel settore con competenze di intelligenza artificiale, mentre il 65% apprende e aggiunge l'intelligenza artificiale alle competenze che ha già acquisito. Il mercato del lavoro per i professionisti della scienza dei dati e dell'intelligenza artificiale è in piena espansione in tutto il mondo, rendendolo una scelta di carriera desiderabile. Gli ingegneri dell'intelligenza artificiale e gli scienziati dei dati sono entrambi ruoli lavorativi intrecciati e hanno il potenziale per aiutare un professionista a sfruttare gratificanti opportunità di crescita professionale.

  • Scegliere l'algoritmo di clustering giusto per i tuoi dati

    Applicare un algoritmo di clustering è molto più semplice di selezionare quello migliore. Ogni tipo offre vantaggi e svantaggi che devono essere considerati se stai cercando una struttura di cluster ordinata. In questo articolo ti spiegheremo come scegliere l'algoritmo di clustering giusto per i tuoi dati. Il clustering dei dati è un passaggio essenziale nella predisposizione di un modello di dati corretto e completo. Per completare un'analisi, il volume delle informazioni dovrebbe essere ordinato in base ai punti in comune. La domanda principale è quale parametro di comunanza fornisce i migliori risultati e cosa è implicato nella definizione di "migliore" Introduzione sulla scelta dell'algoritmo di clustering giusto per i tuoi dati Questo articolo dovrebbe essere utile per i data scientist alle prime armi o per gli esperti che desiderano rinfrescare la propria memoria sull'argomento. Include gli algoritmi di clustering più diffusi e la loro revisione approfondita. A seconda delle particolarità di ciascun metodo, vengono fornite le raccomandazioni che considerano la loro applicazione. Che cosa sono gli algoritmi di clustering? Gli algoritmi di clustering vengono utilizzati per raggruppare i dati in gruppi di elementi simili. I cluster sono utili perché consentono di trovare modelli e tendenze nei dati. Sono disponibili molti diversi algoritmi di clustering tra cui scegliere. Il miglior algoritmo di clustering da utilizzare dipenderà dal tuo set di dati specifico. Dipenderà anche da cosa stai cercando di ottenere con il tuo set di dati. Vantaggio degli algoritmi di clustering Gli algoritmi di clustering sono un ottimo modo per raggruppare punti dati simili in un set di dati. Un algoritmo di clustering è uno strumento matematico che fornisce un modo per raggruppare dati simili. Ciò è utile perché quando si raggruppano dati simili, è possibile trovare facilmente schemi nei dati. Puoi utilizzare algoritmi di clustering per fare molte cose, come trovare modelli nei dati, identificare valori anomali o trovare dati simili ai dati che hai. Gli algoritmi di clustering sono utilizzati in una varietà di campi, come la biologia e l'astronomia. Vengono utilizzati anche per trovare elementi simili in un set di dati. Ad esempio, un algoritmo di clustering può essere utilizzato per trovare articoli simili in un set di dati di abbigliamento per proporre unj nuovo acquisto al cliente. Gli algoritmi di clustering sono davvero utili e sono disponibili in una varietà di forme diverse, Come scegliere l'algoritmo di clustering giusto? Quattro algoritmi di base e come sceglierne uno A seconda dei modelli di clusterizzazione, si differenziano quattro classi comuni di algoritmi. Ci sono non meno di 100 algoritmi in generale, ma la loro popolarità è piuttosto moderata, così come il loro campo di applicazione. Come scegliere l'algoritmo di clustering giusto 1. Clustering basato sulla connettività La clusterizzazione, basata sul calcolo delle distanze tra gli oggetti dell'intero set di dati, è chiamata basata sulla connettività o gerarchica. A seconda della "direzione" dell'algoritmo, può unire o, inversamente, dividere l'array di informazioni: i nomi agglomerati e divisivi sono apparsi da questa esatta variazione. Il tipo più diffuso e ragionevole è quello agglomerato, dove si inizia inserendo il numero di punti dati, che poi vengono uniti in cluster sempre più grandi, fino al raggiungimento del limite. L'esempio più importante di clusterizzazione basata sulla connettività è la classificazione delle piante. L '"albero" del set di dati inizia con una specie particolare e termina con alcuni regni di piante, ciascuno costituito da ammassi ancora più piccoli (phyla, classi, ordini, ecc.) Dopo aver applicato uno degli algoritmi basati sulla connettività, ricevi un dendrogramma di dati, che ti presenta la struttura delle informazioni piuttosto che la sua distinta separazione sui cluster. Tale caratteristica può avere sia il vantaggio che il danno: la complessità dell'algoritmo può risultare eccessiva o semplicemente inapplicabile per set di dati con una gerarchia minima o nulla. Mostra anche scarse prestazioni: a causa dell'abbondanza di iterazioni, l'elaborazione completa richiederà una quantità di tempo irragionevole. Inoltre, non otterrai una struttura precisa usando l'algoritmo gerarchico. Allo stesso tempo, i dati in ingresso richiesti dal contatore si riducono al numero di punti dati, che non influenza sostanzialmente il risultato finale, o alla metrica di distanza preimpostata, che è anche grossolana e approssimativa. Come scegliere l'algoritmo di clustering giusto 2. Clustering basato su centroide Il clustering basato su centroide, dalla mia esperienza, è il modello più frequente grazie alla sua semplicità comparativa. Il modello ha lo scopo di classificare ogni oggetto del set di dati in un particolare cluster. Il numero di cluster ( k ) è scelto casualmente, che è probabilmente la più grande “debolezza” del metodo. Questo algoritmo k - mean è particolarmente popolare nell'apprendimento automatico grazie alla somiglianza con il metodo k-nearest neighbors (kNN). Il processo di calcolo consiste in più passaggi. In primo luogo, vengono scelti i dati in entrata, che è il numero approssimativo dei cluster in cui dovrebbe essere suddiviso il set di dati. I centri dei cluster dovrebbero essere situati il ​​più lontano possibile l'uno dall'altro, ciò aumenterà l'accuratezza del risultato. In secondo luogo, l'algoritmo trova le distanze tra ogni oggetto del set di dati e ogni cluster. La coordinata più piccola (se stiamo parlando di rappresentazione grafica) determina in quale cluster viene spostato l'oggetto. Successivamente, il centro del cluster viene ricalcolato in base alla media delle coordinate di tutti gli oggetti. Il primo passaggio dell'algoritmo si ripete, ma con un nuovo centro del cluster che è stato ricalcolato. Tali iterazioni continuano a meno che non vengano raggiunte determinate condizioni. Ad esempio, l'algoritmo potrebbe terminare quando il centro del cluster non si è spostato o si è spostato in modo insignificante rispetto all'iterazione precedente. Nonostante la semplicità, sia matematica che di codifica, k-means ha alcuni inconvenienti che non mi consentono di usarlo ovunque possibile. Quello include: un bordo negligente di ogni cluster, perché le priorità sono fissate al centro del cluster, non ai suoi confini; l'impossibilità di creare una struttura di un set di dati con oggetti che possono essere classificati in più cluster in egual misura; la necessità di indovinare il numero k ottimale o la necessità di eseguire calcoli preliminari per specificare questo indicatore. Esempio Python: Come scegliere l'algoritmo di clustering giusto 3. Clustering di massimizzazione delle aspettative L'algoritmo di massimizzazione delle aspettative , allo stesso tempo, consente di evitare tali complicazioni fornendo un livello di accuratezza ancora più elevato. In poche parole, calcola la probabilità di relazione di ciascun punto del set di dati con tutti i cluster che abbiamo specificato. Il principale "strumento" utilizzato per questo modello di clusterizzazione è il Gaussian Mixture Models (GMM) , il presupposto che i punti del set di dati generalmente seguano la distribuzione gaussiana . L'algoritmo k-mean è, fondamentalmente, una versione semplificata del principio EM. Entrambi richiedono l'immissione manuale del numero dei cluster e questa è la principale complessità dei metodi. A parte questo, i principi del calcolo (o per GMM o k-mean) sono semplici: l'intervallo approssimativo del cluster viene specificato gradualmente ad ogni nuova iterazione. A differenza dei modelli basati sul centroide, l'algoritmo EM consente di classificare i punti per due o più cluster: ti presenta semplicemente la possibilità di ciascun evento, utilizzando il quale puoi condurre ulteriori analisi. Inoltre, i bordi di ogni ammasso compongono ellissoidi di misure diverse a differenza delle k-medie, dove l'ammasso è rappresentato visivamente come un cerchio. Tuttavia, l'algoritmo semplicemente non funzionerebbe per set di dati in cui gli oggetti non seguono la distribuzione gaussiana. Questo è il principale svantaggio del metodo: è più applicabile a problemi teorici piuttosto che alle misurazioni o osservazioni effettive. Come scegliere l'algoritmo di clustering giusto 4. Clustering basato sulla densità Infine, arriva il clustering basato sulla densità , il preferito non ufficiale dei cuori degli scienziati dei dati . Il nome comprende il punto principale del modello: per dividere il set di dati in cluster, il contatore immette il parametro ε, la distanza di "quartiere". Se l'oggetto si trova all'interno del cerchio (sfera) del raggio ε, quindi si riferisce all'ammasso. Passo dopo passo, l'algoritmo DBSCAN (Density-Based Spatial Clustering of Applications with Noise) controlla ogni oggetto, cambia il suo stato in "visualizzato", lo classifica nel cluster OR noise, fino a quando l'intero set di dati non viene elaborato. I cluster determinati con DBSCAN possono avere forme arbitrarie, quindi sono estremamente accurati. Inoltre, l'algoritmo non ti fa calcolare il numero di cluster: viene determinato automaticamente. Tuttavia, anche un capolavoro come DBSCAN ha uno svantaggio. Se il set di dati è costituito da cluster a densità variabile, il metodo mostra scarsi risultati. Potrebbe anche non essere una tua scelta se il posizionamento degli oggetti è troppo vicino e il parametro ε non può essere stimato facilmente. Conclusione sulla scelta l'algoritmo di clustering giusto per i tuoi dati Riassumendo, non esiste un algoritmo scelto male: alcuni di essi sono semplicemente più adatti per le particolari strutture del set di dati. Per scegliere sempre l'algoritmo migliore (leggi - più adatto), è necessario avere una comprensione completa dei loro vantaggi, svantaggi e peculiarità. Alcuni algoritmi potrebbero essere esclusi fin dall'inizio se, ad esempio, non corrispondono alle specifiche del set di dati. Per evitare lavori strani, puoi dedicare un po' di tempo a memorizzare le informazioni invece di scegliere il percorso per tentativi ed errori e imparare dai tuoi stessi errori. Ti auguriamo di scegliere sempre il miglior algoritmo all'inizio.

  • Grok 3 il nuovo modello AI di Elon Musk che sfida OpenAI e Google

    Questo modello di distribuzione segue una strategia simile a quella adottata da OpenAI con ChatGPT Plus Grok 3 domina la Chatbot Arena: il nuovo campione degli LLM Il debutto di Grok 3  non è passato inosservato : ha conquistato il primo posto nella Chatbot Arena Leaderboard , stabilendo un nuovo standard nel settore

  • Trading algoritmico e apprendimento automatico con Python

    Il commercio nel 21° secolo si è evoluto in modo esponenziale sin dal suo inizio. Sebbene, qualche decennio fa, fosse molto disorganizzato e lento a causa della funzionalità analogica. Nel frattempo, la moderna tecnologia informatica ha sviluppato sistemi di trading automatizzati più veloci, sostenibili e senza stress, orientando l'apprendimento automatico e l'intelligenza artificiale. Trading algoritmico e apprendimento automatico Ogni volta che si parla di machine learning e intelligenza artificiale nel trading, spesso si è obbligati anche a includere il linguaggio di programmazione Python nella discussione. Con l'apprendimento automatico in Python, i sistemi di trading algoritmico hanno iniziato a offrire opportunità di trading algoritmico più veloci e prive di esseri umani. Di conseguenza, i robot di trading sono diventati uno strumento di trading standard moderno. Quindi, il trading algoritmico sta guadagnando popolarità grazie alla funzionalità di trading più veloce e priva di errori umani. Questo articolo tratterà gli approcci per avviare approcci di trading algoritmico con l'apprendimento automatico in Python. Perché utilizzare l'apprendimento automatico nel trading algoritmico? L'apprendimento automatico facilita i trader più del tradizionale trading algoritmico. Ad esempio, gli algoritmi di apprendimento automatico possono trovare modelli valutando grandi volumi di dati, sebbene i metodi convenzionali possano elaborare meno quantità. Allo stesso modo, i trader rilevano le tendenze di trading utilizzando l'apprendimento automatico e prendono decisioni mettendo alla prova l'algoritmo sui dati storici. Inoltre, lo sviluppo degli attuali sistemi cloud ha aperto la strada a una nuova era nell'informatica sofisticata. Allo stesso modo, chiunque può utilizzare il computing all'avanguardia per testare e utilizzare i propri algoritmi di apprendimento automatico utilizzando sistemi cloud distribuiti come MQL5 Cloud Network . Quindi, l'apprendimento automatico in Python è diventato ancora più popolare grazie alla disponibilità di tecnologie di backtesting. In particolare, la richiesta di una potenza di calcolo inferiore ha un impatto sull'evoluzione più rapida di Python. Perché Python per il trading algoritmico? Python, C++, Java, C# e R sono i cinque linguaggi di programmazione più comuni disponibili per i potenziali trader. Ma Python offre alcune caratteristiche eccellenti che lo rendono la prima scelta. Il codice Python è facile da leggere e capire. Meno codifica rispetto ad altri linguaggi grazie alle librerie complete. Quindi, meno codifica, più trading. È un linguaggio interpretato che esegue le istruzioni di codice, costruendo un debug completo. Inoltre, l'esecuzione di un singolo errore velocizza l'intero processo di costruzione. Python ha un'incredibile potenza di calcolo per sovvenzionare il tuo portafoglio e la tua scalabilità. Inoltre, correggere un nuovo modulo in Python e renderlo esteso è più semplice di qualsiasi altro linguaggio. Ha un'ampia libreria di supporto composta dalle attività del linguaggio di programmazione più popolari al loro interno in un metodo semplicistico. Come integrare Python con il modulo di trading MetaTrader 5? MetaTrader 5 è una piattaforma di trading di terze parti che offre pacchetti progettati per un'elaborazione e comunicazione dei dati adeguata e veloce direttamente dal terminale MetaTrader 5. I dati ricevuti possono essere ulteriormente utilizzati per calcoli statistici e apprendimento automatico. Ha anche una comunità online chiamata MQL5 Community per la comunicazione di trader e sviluppatori e gli sviluppatori possono vendere diverse soluzioni di trading e fare carriera. Vediamo come integrare Python e MetaTrader 5: 1. Scarica l'ultima versione del linguaggio di programmazione Python. Inoltre, seleziona "Aggiungi Python 3.10.1 a PATH%" per eseguire gli script Python direttamente dalla riga di comando del PC. 2. Esegui la riga di comando ed esegui un comando per installare MetaTrader 5 con Python. pip install MetaTrader5 3. Installa le librerie Python pip install matplotlib pip install pandas 4. Avviare questo codice script per testare l'integrazione. from datetime import datetime import matplotlib.pyplot as plt import pandas as pd from pandas.plotting import register_matplotlib_converters register_matplotlib_converters() import MetaTrader5 as mt5 # connettiamoci a MetaTrader 5 if not mt5.initialize(): print("initialize() failed") mt5.shutdown() # stampiamo le info di connessione print(mt5.terminal_info()) # stampiamo la MetaTrader 5 version print(mt5.version()) # scarichiamo 1000 ticks da EURAUD euraud_ticks = mt5.copy_ticks_from("EURAUD", datetime(2020,1,28,13), 1000, mt5.COPY_TICKS_ALL) # scarichiamo ticks da AUDUSD da 2019.04.01 13:00 - 2019.04.02 13:00 audusd_ticks = mt5.copy_ticks_range("AUDUSD", datetime(2020,1,27,13), datetime(2020,1,28,13), mt5.COPY_TICKS_ALL) # altri esempi eurusd_rates = mt5.copy_rates_from("EURUSD", mt5.TIMEFRAME_M1, datetime(2020,1,28,13), 1000) eurgbp_rates = mt5.copy_rates_from_pos("EURGBP", mt5.TIMEFRAME_M1, 0, 1000) eurcad_rates = mt5.copy_rates_range("EURCAD", mt5.TIMEFRAME_M1, datetime(2020,1,27,13), datetime(2020,1,28,13)) # spengiamo MetaTrader 5 mt5.shutdown() #DATI print('euraud_ticks(', len(euraud_ticks), ')') for val in euraud_ticks[:10]: print(val) print('audusd_ticks(', len(audusd_ticks), ')') for val in audusd_ticks[:10]: print(val) print('eurusd_rates(', len(eurusd_rates), ')') for val in eurusd_rates[:10]: print(val) print('eurgbp_rates(', len(eurgbp_rates), ')') for val in eurgbp_rates[:10]: print(val) print('eurcad_rates(', len(eurcad_rates), ')') for val in eurcad_rates[:10]: print(val) #GRAFICI # creiamo un DataFrame ticks_frame = pd.DataFrame(euraud_ticks) # convertiamo i secondi nel datetime format ticks_frame['time']=pd.to_datetime(ticks_frame['time'], unit='s') # grafico plt.plot(ticks_frame['time'], ticks_frame['ask'], 'r-', label='ask') plt.plot(ticks_frame['time'], ticks_frame['bid'], 'b-', label='bid') plt.legend(loc='upper left') plt.title('EURAUD ticks') plt.show() Usa il trading algoritmico con l'apprendimento automatico in Python L'idea del machine learning Python nel trading algoritmico è uno degli argomenti più estesi di questo tempo. Qui discuteremo brevemente alcuni dei metodi che puoi applicare all'apprendimento automatico di Python per la tua attività di trading algoritmico. Creazione e backtesting di una strategia di trading SMA (Simple Moving Average). La Simple Moving Average (SMA) è il prezzo medio per un determinato periodo di tempo. Funziona come un'indicazione tecnica ed è ampiamente utilizzato per creare strategie di trading. Di solito, vengono calcolati due SMA (Shorter e Longer) per costruire una strategia di trading. Costruiremo una semplice strategia di crossover per consentire al computer di eseguire un'operazione quando la SMA calcola per un breve periodo e incrocia al di sopra del periodo più lungo. Condizione dichiarata: SE SMA(BREVE PERIODO) > SMA(LUNGO PERIODO) => ACQUISTA SE SMA(LUNGO PERIODO) > SMA(BREVE PERIODO) => VENDI Utilizzeremo la libreria Python Panda per i frame di dati, Richieste di chiamate API, NumPy per gli array e Matplotlib per creare grafici. Estrai dati dal cloud Innanzitutto, è necessario estrarre i dati storici di Microsoft utilizzando l'API del cloud IEX. Puoi usare il cloud che desideri; può variare da utente a utente. def get_historic_data(symbol): ticker = symbol iex_api_key = 'Tsk_30a2677082**********675d84baf94b' api_url = f'https://sandbox.iexapis.com/stable/stock/{ticker}/chart/max?token={iex_api_key}' df = requests.get(api_url).json() date = [] open = [] high = [] low = [] close = [] for i in range(len(df)): date.append(df[i]['date']) open.append(df[i]['open']) high.append(df[i]['high']) low.append(df[i]['low']) close.append(df[i]['close']) date_df = pd.DataFrame(date).rename(columns = {0:'date'}) open_df = pd.DataFrame(open).rename(columns = {0:'open'}) high_df = pd.DataFrame(high).rename(columns = {0:'high'}) low_df = pd.DataFrame(low).rename(columns = {0:'low'}) close_df = pd.DataFrame(close).rename(columns = {0:'close'}) frames = [date_df, open_df, high_df, low_df, close_df] df = pd.concat(frames, axis = 1, join = 'inner') return df msft = get_historic_data('MSFT') msft = msft.set_index('date') msft = msft[msft.index >= '2020-01-01'] msft.index = pd.to_datetime(msft.index) msft.to_csv('msft.csv') msft = pd.read_csv('msft.csv').set_index('date') msft.index = pd.to_datetime(msft.index) Calcolo SMA Ora calcoleremo due valori SMA, SMA 20 e SMA 50 e utilizzeremo questi due valori nel dataframe. def sma(data, n): sma = data.rolling(window = n).mean() return pd.DataFrame(sma) n = [20, 50] for i in n: msft[f'sma_{i}' ] = sma(msft['close'], i) msft.tail() Produzione Inoltre, se vuoi saperne di più sull'uso di Python e degli algoritmi di apprendimento automatico nel trading, in tal caso, dovresti esaminare questa implementazione di Perceptron multistrato e algoritmo di backpropagation in Python da una prospettiva diversa. Conclusione trading, Machine Learning e Python L'inaugurazione del trading algoritmico ha portato enormi cambiamenti nel settore finanziario. E ora, con la benedizione dell'intelligenza artificiale e dell'apprendimento automatico, ha aperto le porte a opportunità illimitate. Sebbene Python sia molto più semplice e pratico di altri linguaggi di programmazione, la maggior parte delle società commerciali e dei trader si concentra sulla propria attività utilizzando l'apprendimento automatico in Python.

  • Come Iniziare a Utilizzare l'Intelligenza Artificiale (I.A.) Nella Tua Azienda o Nel Tuo Progetto

    Trasforma il tuo business con l'intelligenza artificiale Le aziende possono utilizzare l'intelligenza artificiale per migliorare i propri risultati di business in tre modi principali: fornire servizi più

  • Framework e Strumenti di Intelligenza Artificiale Generativa: Guida Essenziale per Ogni Sviluppatore AI/ML

    simili a ChatGPT o soluzioni su misura. Ecco un semplice esempio di come utilizzare LangChain in Python per creare un chatbot basato su LLM: print("Chatbot: Ciao! Quindi, possiamo interagire con il chatbot inserendo le nostre richieste e ricevendo le risposte generate console.log("Chatbot: Ciao!

  • Caratteristiche dei Data Scientists di successo

    Ci abbiamo riflettuto un po' e abbiamo trovato le 5 caratteristiche di quello che crediamo definisca un data scientist di successo. Quali sono alcune delle caratteristiche intrinseche del data scientist di successo? Quelle che accompagnano il data scientist alla professione vera e propria o quelle che possono essere sviluppate dopo aver raggiunto la professione? Ecco le cinque caratteristiche che ci sono venute in mente che aiutano a distinguere il data scientist dalle altre professioni e ti aiutano a definire una carriera di successo. Premettiamo questo facendo notare che tutti i ruoli di data scientist sono diversi, ma hanno tutti alcuni fili di collegamento comuni . Data Scientists di successo 1) Mentalità di analisi predittiva La mentalità dell'analisi predittiva è una delle principali caratteristiche distintive del data scientist, forse più di ogni altra. È l'unica caratteristica distintiva? Certo che no . Avrebbe dovuto essere utilizzato in un diagramma di flusso per separare il data scientist da tutte le altre occupazioni? A posteriori, no, probabilmente no . I data scientist eseguono analisi predittive? Assolutamente SI . Anche i non data scientist? Certo . Non è solo l'applicazione dell'analisi predittiva in situazioni particolari; è una mentalità. E non è solo una mentalità analitica (meno quella predittiva ), ma pensa sempre a come potremmo essere in grado di sfruttare ciò che già sappiamo per scoprire ciò che ancora non sappiamo. Ciò suggerisce che la predizione è parte integrante dell'equazione. I data scientist non hanno solo in mente la previsione, ma, a nostro avviso, lavorare all'interno di questa mentalità è una delle caratteristiche che definiscono il ruolo e che molte altre professioni, legate ai dati o meno, non condividono. Altri che condividono questa caratteristica probabilmente lo collocano più in basso nell'elenco di quelli valutati per la professione in questione. Data Scientists di successo 2) Curiosità Cercare di usare ciò che sappiamo per scoprire ciò che non sappiamo non è abbastanza, ovviamente. I data scientist devono avere una curiosità su di loro che altri ruoli non devono necessariamente avere (nota che non ho detto che altri non hanno assolutamente questa curiosità). La curiosità è quasi il rovescio della medaglia della mentalità dell'analisi predittiva: mentre la mentalità dell'analisi predittiva sta cercando di risolvere X con Y , la curiosità determinerà in primo luogo cosa sia Y. "Come possiamo aumentare le vendite?" "Perché il tasso di abbandono è più alto in alcuni mesi che in altri?" "Perché questo deve essere fatto così ? " "Cosa succede se facciamo da X a Y?" "Come interviene X in quello che succede qui?" "Ci abbiamo provato...?" E così via... Se mentre analizzi i tuoi dati non ti viene spontaneo farti certe domande, molto probabilmente quei dati o quel progetto non ti entusiasmano così tanto. È necessaria una curiosità naturale per essere un utile scienziato dei dati, fine della storia. Se sei il tipo di persona che si sveglia la mattina e passa l'intera giornata senza pensare troppo e senza domandarsi continuamente il perchè di certi eventi, a qualsiasi livello, la scienza dei dati non fa per te. Data Scientists di successo 3) Pensiero sistemico Ecco un pezzo di filosofia che colpisce duramente: il mondo è un luogo complesso. Tutto è connesso in qualche modo, ben oltre l'ovvio, il che porta a strati su strati di complessità del mondo reale. I sistemi complessi interagiscono con altri sistemi complessi per produrre sistemi complessi aggiuntivi propri, e così va fino alla fine dell'universo. Questo gioco di complessità va oltre il semplice riconoscimento del quadro generale: dove si inserisce questo quadro generale nel quadro più ampio, e così via? Ma questo non è solo filosofico. Questa rete infinita di complessità del mondo reale è riconosciuta dai data scientist. Sono interessati a sapere tutto sulle interazioni rilevanti, latenti o meno, mentre affrontano i loro problemi. Cercano elementi noti , incogniti e sconosciuti dipendenti dalla situazione , comprendendo che qualsiasi cambiamento potrebbe avere conseguenze indesiderate altrove. È compito dello scienziato dei dati sapere quanto più possibile sui loro sistemi rilevanti e sfruttare la loro curiosità e la loro mentalità analitica predittiva per tenere conto del maggior numero possibile di operazioni e interazioni di questi sistemi, al fine di mantenerli funzionanti senza intoppi anche quando sono ottimizzato. Se non sei in grado di capire perché nessuna persona è in grado di spiegare completamente come funziona l'economia, la scienza dei dati non fa per te. Data Scientists di successo 4) Creatività Ora siamo arrivati ​​alla nostra caratteristica caratteristica di "pensare fuori dagli schemi". Incoraggiamo tutti a farlo? Certo che lo facciamo. Ma non intendo allo stesso modo qui. Ricorda che i data scientist non lavorano da soli; lavoriamo con tutti i tipi di ruoli diversi e incontriamo tutti i tipi di esperti di domini diversi nei nostri viaggi. Questi esperti di domini hanno modi particolari di guardare ai loro domini particolari, anche quando pensano fuori dagli schemi. In qualità di data scientist, con un insieme unico di abilità e un particolare tipo di mentalità puoi affrontare i problemi dall'esterno vedendo cose che gli esperti di quel dominio non vedono. Puoi essere il nuovo paio di occhi che guarda un problema sotto una nuova luce, a condizione, ovviamente, che tu capisca il problema abbastanza bene. La tua creatività ti aiuterà a evocare nuove idee e prospettive per farlo. Questo non è per sminuire gli esperti di dominio; in effetti, è il contrario. Noi data scientist siamo il loro supporto e, portando un insieme di competenze addestrate a fare ciò che facciamo, siamo (si spera) in grado di portare una nuova prospettiva nel nostro ruolo di supporto per contribuire agli esperti di dominio in grado di eccellere in ciò che fanno . Questa nuova prospettiva sarà guidata dal pensiero creativo del data scientist, una creatività che, se abbinata alla curiosità, porterà a essere in grado di porre domande e cercare risposte. Certo, abbiamo bisogno delle competenze tecniche, statistiche e aggiuntive per poter dare seguito a queste domande, ma queste competenze sono inutili se non abbiamo la creatività per pensare a modi interessanti e non ovvi per poter indagare e infine fornire risposte. Questo è il motivo per cui i data scientist devono essere intrinsecamente creativi. Data Scientists di successo 5) Comunicazione Tutti devono essere in grado di comunicare efficacemente con gli altri, indipendentemente dalla loro posizione nella vita. I data scientist non sono diversi. Ma anche oltre a ciò, i data scientist spesso devono tenersi per mano quando spiegano il loro lavoro ad altre parti interessate che potrebbero non essere completamente immerse nell'Universo dell'Analisi Statistica e della programmazione di Modelli. Un data scientist deve essere in grado di narrare a qualcuno come è arrivato dai dati del punto A a delle risposte per il punto B, anche se quel qualcuno ha poca idea di cosa siano, esattamente, uno di questi punti . In parole povere, lo storytelling è essere in grado di raccontare una narrazione realistica da alcuni dati e dal tuo processo analitico: come siamo passati da questo a questo . Questo non si limita a dichiarare semplicemente i fatti; lo scienziato dei dati deve vedere dove si inserisce lo stakeholder nell'equazione e rendere rilevante il viaggio narrativo, magari con elementi visivi utili o altri oggetti di scena per aiutare a chiudere il proverbiale accordo. Questa narrazione non è come la narrazione di fantasia; è più come "spiegare fantasia" o fornire una spiegazione intuitiva su misura per l'ascoltatore. Non racconteresti una storia di Stephen King a un bambino di cinque anni prima di coricarsi, proprio come non approfondiresti una narrativa secca e prolissa sulle metriche della catena di approvvigionamento a qualcuno che lavora nella ricerca e sviluppo. Sii consapevole del tuo pubblico. Anche questa narrazione non è di natura persuasiva; è esplicativa. Non siamo politici dei dati, siamo scienziati dei dati . Non ne viene mai niente di buono dagli scienziati che travisano le statistiche per piegare gli altri alla loro volontà. Lascia che siano i funzionari eletti. Spero che questo abbia contribuito a dipingere un quadro ricco di quelle che riteniamo essere caratteristiche importanti di un data scientist di successo. Ti auguriamo di riuscire a sviluppare tutte queste skill mentre prosegui nella tua carriera.

  • Esempi di Algebra Lineare nel Machine Learning o Apprendimento Automatico

    Filtro collaborativo cos'è e come implementarlo con python Come creare un Chatbot in Python passo dopo

  • Cos'è la Retrieval-Augmented Generation o Generazione potenziata da Recupero (RAG)

    I LLM sono una tecnologia chiave dell'intelligenza artificiale (IA) che alimenta chatbot intelligenti atteggiamento può avere un impatto negativo sulla fiducia dell'utente e non è qualcosa che vuoi che i tuoi chatbot Implementazione economica Lo sviluppo di chatbot inizia tipicamente utilizzando un modello fondamentale Ad esempio, considera un chatbot intelligente che può rispondere a domande sulle risorse umane per un'organizzazione

  • Google Gemini API , come usare l'IA di google nei tuoi progetti

    Introduzione Dall'uscita di ChatGPT e dei modelli GPT di OpenAI, in collaborazione con Microsoft, l'attenzione Google ha rilasciato l'API Gemini, che testeremo in questa guida e, infine, costruiremo un semplice chatbot dimostrato di raggiungere prestazioni all'avanguardia nei benchmark e addirittura di superare i modelli ChatGPT Il terzo è il framework web streamlit, con cui lavoreremo per creare un'interfaccia di chat simile a ChatGPT

  • Come diventare un Data Scientist freelance nel 2023

    Il panorama del lavoro oggi è cambiato radicalmente a causa della pandemia di Covid-19. Oltre al loro lavoro a tempo pieno, le persone ora hanno la flessibilità di affrontare le faccende secondarie che fungono da ulteriore fonte di reddito. Quando siamo passati al campo della scienza dei dati, il nostro obiettivo iniziale era trovare lavoro nel settore. Una volta ottenuto un lavoro diurno, tuttavia, ci siamo resi conto di avere la capacità di fare di più. (Molto di più ) Lavorare da casa significava che non dovevamo socializzare così spesso. Non dovevamo più viaggiare avanti e indietro per lavorare. Questo non ha solo fatto risparmiare tempo. Abbiamo risparmiato energia. Non eravamo più esausti alla fine di una giornata lavorativa, il che significava che potevo assumere compiti al di fuori del nostro lavoro. In questo articolo, ti guiderò attraverso la mia esperienza di freelance per la scienza dei dati. Ti fornirò anche suggerimenti su come iniziare come freelance di data science. Innanzitutto, esaminiamo i pro e i contro del libero professionista per la scienza dei dati. Vantaggi del libero professionista per la scienza dei dati. La parte migliore dell'avere una carriera da freelance è che puoi lavorare con persone provenienti da tutto il mondo. Le opportunità sono infinite e impari a guardare un problema da molte prospettive diverse. Puoi anche scegliere i tipi di progetti su cui lavorare, cosa che non è sempre possibile quando hai un lavoro a tempo pieno. Inoltre, come dipendente a tempo pieno, puoi lavorare solo in un singolo settore. Quando sei un freelance, ogni progetto su cui lavori ti fornirà un'esperienza di dominio in una nuova area. Quando lavori su una varietà di attività in molti domini diversi, il tuo portafoglio cresce. Non sei bloccato con un unico modo di fare le cose e puoi adattarti rapidamente a nuovi flussi di lavoro. La tua capacità di imparare migliorerà. Svantaggi del libero professionista per la scienza dei dati. Ci sono alcuni aspetti negativi nel diventare un libero professionista di data science. In primo luogo, è disponibile un numero limitato di lavori di data science freelance, soprattutto qui in italia. ( La mia esperienza da freelance per la maggior parte è stata svolta all'estero ) Di solito sono le aziende di medie e grandi dimensioni che assumono data scientist e queste aziende tendono ad assumere dipendenti a tempo pieno piuttosto che freelance. C'è una maggiore richiesta di sviluppatori web/designer freelance rispetto ai data scientist, ma tranquilli arriverà il nostro momento. Inoltre, una carriera da freelance non garantisce la sicurezza del lavoro e devi essere attivamente alla ricerca di nuovi compiti. Per questo motivo, è una buona idea mantenere il tuo lavoro a tempo pieno mentre assumi ruoli da freelance, soprattutto all'inizio. Cosa fa un Data scientist freelance ? In qualità di data scientist freelance, puoi creare modelli di apprendimento automatico per le organizzazioni su base una tantum. A volte, potresti persino essere pagato per mantenere e aggiornare continuamente questo modello man mano che arrivano nuovi dati. Tuttavia, le tue opzioni non si limitano alla costruzione di modelli. Poiché il mio lavoro a tempo pieno è nel campo del marketing, ho una certa esperienza in questo settore. Lo uso, insieme alle mie competenze sui dati, per aiutare i clienti a identificare il loro pubblico di destinazione e elaborare strategie di marketing. Un'altra abilità molto richiesta è la raccolta dei dati. Ho lavorato con individui e aziende per raccogliere dati esterni per aiutare con le loro attività di ricerca o costruzione di modelli. Ho lavorato come scrittore tecnico freelance per un po' di tempo. Scrivo tutorial sulla scienza dei dati e suggerimenti per le pubblicazioni, sia una tantum. Mi è stato anche chiesto di condurre seminari di formazione sulla scienza dei dati e corsi online per principianti del settore. Ci sono molte altre attività che puoi svolgere a seconda delle tue abilità. Puoi aiutare le organizzazioni a distribuire e monitorare i propri modelli di machine learning. Puoi consultare le aziende e fornire loro consigli in base ai dati che analizzi. Se sei un esperto di visualizzazioni di dati, puoi creare dashboard interattivi per i clienti in base ai dati disponibili. Come trovare un lavoro da data scientist freelance Quando le persone pensano per la prima volta di diventare freelance e lo cercano su internet i primi risultati che gli usciranno saranno dei consigli che nella maggior parte delle volte di conclude con il fatto che potrai ottenere successo con Friverr o UpWork. Tuttavia, la semplice registrazione su questi siti e l'invio di proposte di lavoro non è sufficiente per farti ottenere molti lavori. Queste piattaforme sono altamente sature. Per farti notare su di loro, devi costruire il tuo portafoglio ottenendo prima alcuni lavori. Suggerisco di creare prima un portafoglio al di fuori di queste piattaforme. La maggior parte dei datori di lavoro mi ha contattato al di fuori della piattaforma, tramite LinkedIn o via e-mail. Scrivete su quanti più siti, blog possibili di argomenti di vostra porta, spiegando come potreste aiutare possibili lettori. ( Potresti iniziare a scrivere un articolo per IntelligenzaArtificialeItalia.net per farti notare e sfruttare la loro visibilità ) Un cliente ha visto il mio tutorial sullo scraping di Twitter pubblicato su youtube mi ha assunto per costruire un web-scraper per lui. Un'altra azienda mi ha assunto a causa di un'analisi che ho pubblicato su linkedin, poiché volevano qualcosa di simile per identificare il loro pubblico di destinazione. Ho anche ottenuto alcuni lavori grazie alla mia rete. Amici universitari e colleghi di lavoro mi hanno consigliato per lavori in passato. Le persone preferiscono assumere quando c'è fiducia. È più probabile che tu ottenga un lavoro da qualcuno che è stato assicurato dal suo pari delle tue capacità, rispetto a una persona a cui hai appena inviato una proposta su Upwork. Se diventi un libero professionista a tempo pieno, uno svantaggio è che finisci per perdere questa rete. Non hai più colleghi o manager che ti consigliano per i ruoli. Per questo motivo, suggerisco di partecipare a eventi di data science locali o comunità online ( Come questa piattaforma ) in cui puoi interagire con altri esperti dello stesso settore. Come sviluppare le competenze necessarie per diventare un data scientist freelance ? Per diventare un data scientist freelance, è necessario possedere una solida base di competenze in diverse aree, come statistica, analisi dei dati, programmazione e machine learning. Un modo efficace per sviluppare queste competenze è seguire un percorso di studi universitario o post-laurea in scienza dei dati o in un campo correlato. Tuttavia, anche una formazione autodidatta può essere efficace, soprattutto se si ha già una base di conoscenze in queste aree. Ci sono molti corsi online, libri e tutorial disponibili per imparare le competenze necessarie per diventare un data scientist freelance. Inoltre, il nostro sito intelligenzaartificialeitalia.net è il punto di riferimento in Italia per iniziare ad avvicinarsi a questo mondo e acquisire le competenze necessarie per diventare un data scientist freelance di successo. È anche importante fare pratica e mettere in pratica ciò che si impara, ad esempio partecipando a hackathon o progetti open source. Un altro modo per sviluppare le competenze è lavorare come data scientist freelance in progetti a breve termine o in stage presso aziende o organizzazioni. In questo modo, si avrà la possibilità di acquisire esperienza pratica e di imparare da professionisti esperti nel settore. Come gestire la propria attività di data scientist freelance ? Gestire la propria attività di data scientist freelance richiede molta pianificazione e organizzazione. È importante avere una chiara comprensione delle proprie competenze e dei servizi che si offrono, nonché del mercato e dei concorrenti. Una volta che si è definita la propria nicchia di mercato e si è stabilito un piano d'azione, è importante creare una presenza online forte e professionale, ad esempio attraverso il proprio sito web e i profili sui social media. Inoltre, è importante mantenere una buona comunicazione con i clienti attuali e potenziali, fornendo loro aggiornamenti regolari e rispondendo tempestivamente alle loro richieste. Un altro aspetto importante è gestire il tempo in modo efficace, assegnando priorità alle attività e utilizzando strumenti di pianificazione e organizzazione del lavoro. Infine, è importante essere flessibili e adattarsi rapidamente ai cambiamenti del mercato e delle esigenze dei clienti. Gestire la propria attività di data scientist freelance può essere sfidante, ma con la giusta pianificazione e organizzazione, può anche essere molto gratificante. Suggerimenti aggiuntivi Dopo aver completato un'attività da freelance, assicurati di chiedere una raccomandazione al tuo cliente. I consigli sono la prova che hai svolto un lavoro soddisfacente e forniranno ai futuri clienti fiducia nei tuoi risultati. Ciò aumenta le tue possibilità di essere assunto di nuovo. Piattaforme come Upwork e Fiverr generalmente mostrano i loro freelance più votati nella prima pagina di ogni categoria. Se lavori su queste piattaforme, una raccomandazione aumenterà le tue possibilità di visibilità. Questo rende più probabile che tu venga assunto di nuovo per una posizione simile. Inoltre, assicurati di fornire sempre un lavoro di alta qualità per il tuo cliente. Molti dei miei accordi da freelance sono iniziati una tantum e, poiché il cliente ha apprezzato la qualità del lavoro, ha deciso di continuare a lavorare con me. Se fornisci costantemente i tuoi risultati in tempo e soddisfi le aspettative del tuo cliente, prenderanno anche in considerazione l'assunzione di te per attività future che si presentano invece di avvicinarsi ad altri candidati. Questo è tutto per questo articolo! Speriamo che tu l'abbia trovato utile e buona fortuna per il tuo viaggio nella scienza dei dati.

bottom of page