Nelle versioni di Apache Spark 1.x gli RDD erano lo standard per la memorizzazione distribuita dei dati. Un RDD è una collezione di dati che sono partizionati (con ridondanza) tra i nodi del cluster. RDD sta per resilient distributed dataset, la chiave è il termine resilient, ovvero resistente. Un RDD è resistente alla perdita dei dati, ovvero la memorizzazione dei dati è ridondante per cui se un nodo del cluster dovesse andare giù, il RDD comunque non subirebbe una perdita dei dati. In questo articolo vediamo un esempio di come operare con gli RDD.

In questo articolo voglio vedere come unire 2 DataFrame di Pandas. Il problema è: dati due DataFrame che contengono dati diversi voglio combinare questi due in modo da avere un unico DataFrame alla fine del processo. Pandas mette a disposizione la funzione merge() per fare questa unione. L’unione verrà fatta sulla base di una chiave (id nellesempio), gli elementi dei due DataFrame con lo stesso id vengono combinati in una unica riga nel nuovo DataFrame. Se un id non è comune ai due DataFrame… ci sono diverse possibilità. Nell’esempio sotto ho fatto un inner merge in cui ho usato solo gli id comuni ai due DataFrame di partenza. Vedremo più avanti le altre possibilità.

In questo articolo voglio muovere i primi passi in Pytorch. Vedremo come programmare una rete neurale completamente connessa partendo da una base teorica che do per acquisita. Abbiamo bisogno di un set di dati (dataset), un modello di rete neurale, la definizione di una funzione errore, la scelta di un ottimizzatore.
Inizieremo analizzando gli elementi che ci servono per definire una rete neurale semplice, limitandoci a layer lineari e ReLU.
In seguito vedremo come mettere insieme i layer per costruire il modello di una rete.
Alla fine implementeremo una rete e la ottimizzeremo per un problema specifico.