Risultati Ricerca Intelligenza Artificiale Italia
239 risultati trovati con una ricerca vuota
- Python
In un recente sondaggio mondiale, è emerso che l'83% dei quasi 24.000 professionisti dei dati ha utilizzato Python. A scienziati e programmatori di dati piace Python perché è un linguaggio di programmazione dinamico e generico. Python sembra essere preferito per la scienza dei dati su R perché finisce per essere più veloce di R con iterazioni inferiori a 1000. Si dice anche che sia migliore di R per la manipolazione dei dati. Questo linguaggio contiene anche buoni pacchetti per l'elaborazione del linguaggio naturale e l'apprendimento dei dati ed è intrinsecamente orientato agli oggetti.
- R
R è migliore per l'analisi ad hoc e l'esplorazione di set di dati rispetto a Python. È un linguaggio e un software open source per il calcolo statistico e la grafica. Questo non è un linguaggio facile da imparare e la maggior parte delle persone trova che Python sia più facile da imparare. Con i loop che hanno più di 1000 iterazioni, R batte effettivamente Python usando la funzione lapply. Ciò potrebbe lasciare alcuni dubbi sul fatto che R sia migliore per eseguire la scienza dei dati su grandi set di dati, tuttavia, R è stato creato da statistici e riflette questo nelle sue operazioni. Le applicazioni di data science risultano più naturali in Python.
- SQL
SQL (Structured Query Language) è un linguaggio specifico del dominio utilizzato per la gestione dei dati in un sistema di gestione di database relazionali. SQL è un po' come Hadoop in quanto gestisce i dati, tuttavia, l'archiviazione dei dati è molto diversa ed è spiegata molto bene nel video sopra. Le tabelle SQL e le query SQL sono fondamentali affinché ogni data scientist le conosca e si senta a suo agio. Sebbene SQL non possa essere utilizzato esclusivamente per la scienza dei dati, è imperativo che uno scienziato dei dati sappia come lavorare con i dati nei sistemi di gestione dei database .
- Conclusione
In conclusione, Python sembra essere il linguaggio di programmazione più utilizzato oggi dai data scientist. Questo linguaggio consente l'integrazione di SQL, TensorFlow e molte altre utili funzioni e librerie per data science e machine learning. Con oltre 70.000 librerie Python, le possibilità all'interno di questo linguaggio sembrano infinite. Python consente inoltre a un programmatore di creare output CSV per leggere facilmente i dati in un foglio di calcolo. La mia raccomandazione ai nuovi aspiranti data scientist è di imparare e padroneggiare le implementazioni di data science Python e SQL prima di esaminare altri linguaggi di programmazione. È anche evidente che è imperativo che uno scienziato dei dati abbia una certa conoscenza di Hadoop.
- Che cosa è il Deep Learning ( DL )
Mi dispiace iniziare con questa definizione ma ci tengo a smentire subito un mito sul Deep Learning, ossia quello che si può trovare su altri siti web. Gli attuali modelli di Deep Learning funzionano come i modelli di apprendimento del cervello Questa affermazione è totalmente priva di senso e non ha nessun supporto scientifico. D'altronde se ciò fosse vero saremmo in una situazione apocalittica. Facciamo un passo indietro. Dopo aver visto e capito cosa è il Machine Learning e come esso è suddiviso, possiamo andare ancora più affondo e concentrarci su una sotto-branca del ML, il Deep Learning. Per chi è alle prime armi inizierei con il dire che il deep learning è una famiglia di algoritmi, spesso e volentieri complessi, i quali basandosi sui concetti base delle reti neurali riescono a creare dei modelli matematici per fare previsioni o classificare dei dati nuovi. Fino a quì sembra molto simile al Machine Learning. La differenza sottile ma fondamentale tra Machine Learning e Deep Learning sta proprio nel termine Deep. Il termine "Deep Learning" in italiano viene tradotto come " apprendimento profondo" ma la qualifica "deep/profondo" non fa riferimento ad una comprensione più profonda, anche se ad oggi è la branca più avanzata dell'intelligenza artificiale, ma si riferisce all'idea di aggiungere un numero maggiore di 2/3 Layer (o Livelli di raffinazione dei dati) . Confuso? Al prossimo Step chiariamo Tutto !! Non Arrenderti.
- Differenza Base Deep Learning e Machine Learning
Gli algoritmi di Machine Learning che utilizzano reti neurali solitamente si basano su 3 Layer o Livelli : input elaborazione/hidden output Negli algoritmi di Deep Learning arriviamo ad avere anche alcune centinaia di Layer o Livelli Ti propongo una semplice animazione per comprendere meglio i "super-poteri " del deep learning. Ma proviamo a capire il motivo per il quale gli algoritmi di Deep Learning utilizzano un numero maggiore di Layer e quale sia il vantaggio nell'usare più Livelli se un problema potrebbe essere risolto anche con meno Livelli. Quando ci troviamo a dover analizzare un problema reale per arrivare alla costruzione di un modello in grado di classificare o stimare il nostro problema, prima del Deep Learning, la prima cosa che avremmo dovuto fare è la Feature Extraction. In altre parole ci saremmo messi noi a capire quali sono le variabili che riteniamo più importanti per stimare o classificare il nostro problema, solo dopo questo passaggio le avremmo passate al nostro algoritmo che costruiva il modello. Ma qui sorge un problema, se avessimo centinaia di variabili che noi reputiamo importanti ma in realtà ne basterebbero solo dieci per arrivare a classificare o stimare il nostro output oppure se ritenessimo che basterebbero dieci variabili ma ne servirebbero cento ? Questo è uno dei motivi fondamentali per il quale è nato il Deep Learning. La potenza del Deep Learning sta nella capacità di individuare in modo autonomo le variabili che influenzano il nostro output finale, eliminando quindi tutta la parte di Feature Extraction.
- Un'Altra Differenza
Quando ci troviamo a dover analizzare un problema reale per arrivare alla costruzione di un modello in grado di classificare o stimare il nostro problema, prima del Deep Learning, la prima cosa che avremmo dovuto fare è la Feature Extraction. In altre parole ci saremmo messi noi a capire quali sono le variabili che riteniamo più importanti per stimare o classificare il nostro problema, solo dopo questo passaggio le avremmo passate al nostro algoritmo che costruiva il modello. Ma qui sorge un problema, se avessimo centinaia di variabili che noi reputiamo importanti ma in realtà ne basterebbero solo dieci per arrivare a classificare o stimare il nostro output oppure se ritenessimo che basterebbero dieci variabili ma ne servirebbero cento ? Questo è uno dei motivi fondamentali per il quale è nato il Deep Learning. La potenza del Deep Learning sta nella capacità di individuare in modo autonomo le variabili che influenzano il nostro output finale, eliminando quindi tutta la parte di Feature Extraction. L'eliminazione di questo passaggio in alcuni campi ha fatto una differenza ENORME. Pensa un attimo ai problemi della computer-vision ad esempio creare un algoritmo che sia in grado di classificare un immagine in base alla presenza o meno di un animale. Saresti capace di identificare tutte le variabili che potrebbero portare un algoritmo ad essere in grado di fare una tale classificazione? Grazie al Deep Learning ci basterebbe raccogliere un grande insieme di immagini, una buona parte con la presenza di animali e un altra parte senza la presenza di animali. Una volta pre-classificate le immagini e fatto allenare l'algoritmo di DL sulle nostre foto questo avrà creato un modello in grado di distinguere se in una nuova foto è presente o meno un animale.
- La differenza tra Reti Neurali e Deep Learning?
Sebbene fosse implicito nella spiegazione delle reti neurali, vale la pena sottolinearlo in modo più esplicito. Il "profondo" nell'apprendimento profondo si riferisce alla profondità degli strati in una rete neurale. Una rete neurale composta da più di tre livelli, che includerebbero gli input e l'output, può essere considerata un algoritmo di deep learning. Questo è generalmente rappresentato utilizzando il diagramma seguente: La maggior parte delle reti neurali profonde sono feed-forward, nel senso che fluiscono in una sola direzione dall'input all'output. Tuttavia, puoi anche addestrare il tuo modello tramite backpropagation; ovvero, spostarsi in direzione opposta dall'output all'input. La backpropagation ci consente di calcolare e attribuire l'errore associato a ciascun neurone, permettendoci di regolare e adattare l'algoritmo in modo appropriato.
- Media, Mediana e Moda
Cosa possiamo imparare guardando un gruppo di numeri? Nel Machine Learning (e nella matematica) sono spesso tre i valori che ci interessano: Media - Il valore medio Mediana - Il valore del punto medio Moda - Il valore più comune Esempio: abbiamo registrato la velocità di 13 auto: speed = [99,86,87,88,111,86,103,87,94,78,77,85,86] Qual è il valore di velocità medio, medio o più comune? Media Per calcolare la media, trova la somma di tutti i valori e dividi la somma per il numero di valori: (99+86+87+88+111+86+103+87+94+78+77+85+86) / 13 = 89.77 Per calcolarla utilizzando Python useremo il seguente codice : ( Premi Play per far eseguire il codice e divertiti a modificarlo ! ) Mediana Il valore mediano è il valore nel mezzo, dopo aver ordinato tutti i valori: 77, 78, 85, 86, 86, 86, 87, 87, 88, 94, 99, 103, 111 È importante che i numeri siano ordinati prima di poter trovare la mediana. Il modulo NumPy ha un metodo per questo: ( Premi Play per far eseguire il codice e divertiti a modificarlo ! ) Moda Il valore Mode è il valore che appare il maggior numero di volte: 99, 86, 87, 88, 111, 86, 103, 87, 94, 78, 77, 85, 86 = 86 Il modulo SciPy ha un metodo per questo. ( Premi Play per far eseguire il codice e divertiti a modificarlo ! )
- Grafici a dispersione o Scatterplot
Un grafico a dispersione è un diagramma in cui ogni valore nel set di dati è rappresentato da un punto. Il modulo Matplotlib ha un metodo per disegnare grafici a dispersione, ha bisogno di due array della stessa lunghezza, uno per i valori dell'asse x e uno per i valori dell'asse y: x = [5,7,8,7,2,17,2,9,4,11,12,9,6] y = [99,86,87,88,111,86,103,87,94,78,77,85,86] L' xarray rappresenta l'età di ogni auto. L' yarray rappresenta la velocità di ogni auto. Utilizzare il scatter()metodo per disegnare un diagramma a dispersione: Spiegazione del grafico a dispersione L'asse x rappresenta le età e l'asse y rappresenta le velocità. Quello che possiamo leggere dal diagramma è che le due auto più veloci avevano entrambe 2 anni e l'auto più lenta aveva 12 anni. Nota: sembra che più l'auto è nuova, più è veloce, ma potrebbe essere una coincidenza, dopotutto abbiamo registrato solo 13 auto. Distribuzioni casuali di dati In Machine Learning i set di dati possono contenere migliaia o addirittura milioni di valori. Potresti non avere dati del mondo reale quando stai testando un algoritmo, potresti dover usare valori generati casualmente. Come abbiamo appreso nel capitolo precedente, il modulo NumPy può aiutarci in questo! Creiamo due array che sono entrambi riempiti con 1000 numeri casuali da una normale distribuzione di dati. Il primo array avrà la media impostata su 5,0 con una deviazione standard di 1,0. Il secondo array avrà la media impostata su 10.0 con una deviazione standard di 2.0: Spiegazione del grafico a dispersione Possiamo vedere che i punti sono concentrati attorno al valore 5 sull'asse x e 10 sull'asse y. Possiamo anche vedere che lo spread è più ampio sull'asse y che sull'asse x.
- Introduzione
Questa può essere una sfida per i principianti nell'apprendimento automatico e nella scienza dei dati perché i dati provengono da fonti diverse con tipi di dati diversi. Pertanto non è possibile applicare lo stesso metodo di pulizia ed elaborazione a diversi tipi di dati. "Le informazioni possono essere estratte dai dati così come l'energia può essere estratta dal petrolio."- Adeola Adesina Devi imparare e applicare metodi a seconda dei dati che hai. Dopo aver letto questo articolo, saprai: Che cos'è l'ingegneria delle funzionalità e la selezione delle funzionalità. Diversi metodi per gestire i dati mancanti nel tuo set di dati. Diversi metodi per gestire le funzionalità continue. Diversi metodi per gestire le caratteristiche categoriche. Diversi metodi per la selezione delle caratteristiche. Cominciamo.🚀
- Cancellazione variabile
Cancellazione variabile L'eliminazione delle variabili comporta l'eliminazione delle variabili (colonne) con valori mancanti caso per caso. Questo metodo ha senso quando ci sono molti valori mancanti in una variabile e se la variabile è di importanza relativamente minore. L'unico caso in cui può valere la pena eliminare una variabile è quando i suoi valori mancanti superano il 60% delle osservazioni. # importa packages import numpy as np import pandas as pd # leggi dataset data = pd.read_csv('path/to/data') #setta threshold threshold = 0.7 # droppa colonne con i valori mancani più alti del threshold data = data[data.columns[data.isnull().mean() < threshold]] Nello snippet di codice sopra, puoi vedere come utilizzo NumPy e panda per caricare il set di dati e impostare una soglia su 0.7 . Ciò significa che qualsiasi colonna con valori mancanti superiori al 70% delle osservazioni verrà eliminata dal set di dati. Ti consiglio di impostare il valore di soglia in base alla dimensione del tuo set di dati.
- Valore più comune
Questo metodo sostituisce i valori mancanti con il valore massimo verificato in una colonna/funzione. Questa è una buona opzione per la gestione di colonne/funzioni categoriali . # Sostituisci i valori nulli con la media delle colonne di appartenenza data['column_name'].fillna(data['column_name'].value_counts().idxmax(). inplace=True) Qui utilizziamo il metodo value_counts() di panda per contare l'occorrenza di ciascun valore univoco nella colonna e quindi riempire il valore mancante con il valore più comune.
- Come gestire le funzioni continue
Le feature continue nel set di dati hanno un intervallo di valori diverso. Esempi comuni di funzionalità continue sono età, stipendio, prezzi e altezza. È molto importante gestire le funzionalità continue nel set di dati prima di addestrare gli algoritmi di apprendimento automatico. Se si addestra il modello con un intervallo di valori diverso, il modello non funzionerà bene. Cosa intendo quando dico un diverso intervallo di valori? Supponiamo che tu abbia un set di dati con due funzioni continue, età e stipendio . La fascia di età sarà diversa dalla fascia di stipendio e ciò può causare problemi. Nei prossimi step capirai di più e ci metteremo all'opera
- Normalizzazione Min-Max in Python
Per ogni valore in una caratteristica, la normalizzazione Min-Max sottrae il valore minimo nella caratteristica e quindi divide per il suo intervallo. L'intervallo è la differenza tra il massimo originale e il minimo originale. Infine, ridimensiona tutti i valori in un intervallo fisso tra 0 e 1. È possibile utilizzare il metodo MinMaxScaler di Scikit -learn che trasforma le funzionalità ridimensionando ciascuna funzionalità in un determinato intervallo: from sklearn.preprocessing import MinMaxScaler import numpy as np data = np.array([[4, 6], [11, 34], [10, 17], [1, 5]]) # creiamo lo scaler method scaler = MinMaxScaler(feature_range=(0,1)) # Scaliamo e trasformiamo i dati scaled_data = scaler.fit_transform(data) print(scaled_data) # [[0.3 0.03448276] # [1. 1. ] # [0.9 0.4137931 ] # [0. 0. ]] Come puoi vedere, i nostri dati sono stati trasformati e l'intervallo è compreso tra 0 e 1 .
