

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Amazon Neptune ML per machine learning sui grafi
<a name="machine-learning"></a>

Spesso in grandi set di dati connessi sono presenti informazioni preziose difficili da estrarre usando query basate solo sull'intuito umano. Le tecniche di machine learning (ML) consentono di trovare correlazioni nascoste nei grafi con miliardi di relazioni. Queste correlazioni possono essere utili per suggerire prodotti, prevedere l'affidabilità creditizia, identificare frodi e molte altre attività.

La funzionalità Neptune ML consente di creare e addestrare modelli di machine learning utili su grafi di grandi dimensioni in poche ore anziché in settimane. [A tal fine, Neptune ML utilizza la tecnologia Graph Neural Network (GNN) basata su [ SageMaker Amazon](https://aws.amazon.com/sagemaker/) AI [e Deep Graph Library (DGL) (](https://www.dgl.ai/)che è open source).](https://github.com/dmlc/dgl/) Le reti neurali a grafo sono un campo emergente nell'intelligenza artificiale (vedi, ad esempio, [A Comprehensive Survey on Graph Neural Networks](https://arxiv.org/abs/1901.00596)). [Per un tutorial pratico sull'utilizzo GNNs con DGL, consulta Apprendimento delle reti neurali a grafi con Deep Graph Library.](https://www.amazon.science/videos-webinars/learning-graph-neural-networks-with-deep-graph-library)

**Nota**  
I vertici del grafo nei modelli Neptune ML sono identificati come "nodi". Ad esempio, la classificazione dei vertici utilizza un modello di machine learning per la classificazione dei nodi e la regressione dei vertici utilizza un modello di regressione dei nodi.

## Cosa può fare Neptune ML
<a name="machine-learning-capabilities"></a>

Neptune supporta sia l'inferenza trasduttiva, che restituisce previsioni precalcolate al momento dell'addestramento, sulla base dei dati del grafo in quel momento, sia l'inferenza induttiva, che restituisce l'elaborazione dei dati e la valutazione del modello in tempo reale, sulla base dei dati correnti. Per informazioni, consulta [Differenza tra inferenza induttiva e trasduttiva](machine-learning-overview-evolving-data.md#inductive-vs-transductive-inference).

Neptune ML può addestrare modelli di machine learning per supportare cinque diverse categorie di inferenza:

**Tipi di attività di inferenza attualmente supportati da Neptune ML**
+ **Classificazione dei nodi**: previsione della funzionalità categoriale di una proprietà del vertice.

  Ad esempio, per il film *Le ali della libertà*, Neptune ML può prevedere la sua proprietà `genre` come `story` da un set di candidati di `[story, crime, action, fantasy, drama, family, ...]`.

  Esistono due tipi di attività di classificazione dei nodi:
  + **Classificazione a classe singola**: in questo tipo di attività, ogni nodo ha una sola funzionalità di destinazione. Ad esempio, la proprietà `Place_of_birth` di `Alan Turing` ha il valore `UK`.
  + **Classificazione multi-classe**: in questo tipo di attività, ogni nodo può avere più di una funzionalità di destinazione. Ad esempio, la proprietà `genre` del film *Il Padrino* ha i valori `crime` e `story`.
+ **Regressione dei nodi**: previsione di una proprietà numerica di un vertice.

  Ad esempio, per il film *Avengers: Endgame,* Neptune ML può prevedere che la proprietà `popularity` abbia un valore di `5.0`.
+ **Classificazione degli archi**: previsione della funzionalità categoriale di una proprietà dell'arco.

  Esistono due tipi di attività di classificazione degli archi:
  + **Classificazione a classe singola**: in questo tipo di attività, ogni arco ha una sola funzionalità di destinazione. Ad esempio, un arco delle valutazioni tra un utente e un film potrebbe avere la proprietà `liked`, con un valore "Sì" o "No".
  + **Classificazione multi-classe**: in questo tipo di attività, ogni arco può avere più di una funzionalità di destinazione. Ad esempio, un arco delle valutazioni tra un utente e un film potrebbe avere più valori per il tag della proprietà come "Divertente" "Commovente", "Agghiacciante" e così via.
+ **Regressione degli archi**: previsione di una proprietà numerica di un arco.

  Ad esempio, un arco delle valutazioni tra un utente e un film potrebbe avere la proprietà numerica `score`, per la quale Neptune ML potrebbe prevedere un valore dato un utente e un film.
+ **Previsione dei collegamenti**: previsione dei nodi di destinazione più probabili per un nodo di origine e un arco in uscita specifici oppure i nodi di origine più probabili per un nodo di destinazione e un arco in entrata specificati.

  Ad esempio, con un grafo della conoscenza per farmaco-malattia, dato `Aspirin` come nodo di origine e `treats` come arco in uscita, Neptune ML può prevedere i nodi di destinazione più pertinenti come `heart disease`, `fever` e così via.

  Oppure, con il grafo della conoscenza Wikimedia, dato `President-of` come arco o relazione e `United-States` come nodo di destinazione, Neptune ML può prevedere i presidenti più pertinenti come `George Washington`, `Abraham Lincoln`, `Franklin D. Roosevelt` e così via.

**Nota**  
La classificazione dei nodi e la classificazione degli archi supportano solo valori stringa. Ciò significa che i valori delle proprietà numeriche come `0` o `1` non sono supportati, sebbene gli equivalenti stringa `"0"` e `"1"` lo siano. Allo stesso modo, i valori delle proprietà booleane `true` e `false` non sono supportati, ma `"true"` e `"false"` funzionano.

Con Neptune ML, puoi utilizzare modelli di machine learning che rientrano in due categorie generali:

**Tipi di modelli di machine learning attualmente supportati da Neptune ML**
+ **Modelli Graph Neural Network (GNN)** — Questi includono [Relational Graph Convolutional Networks (](https://arxiv.org/abs/1703.06103)R-). GCNs I modelli GNN funzionano per tutti e tre i tipi di attività descritti in precedenza.
+ **Modelli di incorporamento dei grafi della conoscenza (KGE)**: includono i modelli `TransE`, `DistMult` e `RotatE`. Funzionano solo per la previsione dei collegamenti.

**Modelli definiti dall'utente**: Neptune ML consente inoltre di fornire l'implementazione di un modello personalizzato per tutti i tipi di attività sopra elencati. Puoi utilizzare il kit di strumenti per [Neptune ML](https://github.com/awslabs/neptuneml-toolkit) per sviluppare e testare l'implementazione del modello personalizzato basato su Python prima di utilizzare l'API di addestramento Neptune ML con il modello. Consulta [Modelli personalizzati in Neptune ML.](machine-learning-custom-models.md) per informazioni dettagliate su come strutturare e organizzare l'implementazione affinché sia compatibile con l'infrastruttura di addestramento di Neptune ML.