

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à.

# Ricetta con classificazione personalizzata
<a name="native-recipe-search"></a>

**Importante**  
[Ti consigliamo di utilizzare la ricetta Personalized-Ranking-v2.](native-recipe-personalized-ranking-v2.md) Può prendere in considerazione fino a 5 milioni di articoli con un addestramento più rapido e generare classificazioni più accurate con una latenza inferiore.

La ricetta Personalized-Ranking genera classifiche personalizzate degli articoli. Una *classifica personalizzata* è un elenco degli elementi raccomandati che sono riclassificati per un utente specifico. Ciò è utile se disponi di una raccolta di articoli ordinati, ad esempio risultati di ricerca, promozioni o elenchi selezionati, e desideri fornire una riclassificazione personalizzata per ciascuno dei tuoi utenti. Ad esempio, con Personalized-Ranking, Amazon Personalize può riordinare i risultati di ricerca con cui generi. [OpenSearch](personalize-opensearch.md) 

Per addestrare un modello, la ricetta Personalized-Ranking utilizza i dati del set di dati sulle interazioni tra oggetti e, se li hai creati, il set di dati Items e il set di dati Users nel gruppo di set di dati (questi set di dati sono opzionali). Con Personalized-Ranking, il set di dati Items può includere e il set di dati sulle interazioni tra Item può includere. [Metadati di testo non strutturati](items-datasets.md#text-data) [Metadati contestuali](interactions-datasets.md#interactions-contextual-metadata) Per ottenere una classifica personalizzata, utilizza l'API. [GetPersonalizedRanking](API_RS_GetPersonalizedRanking.md) 

 Dopo aver creato una versione della soluzione, assicurati di mantenere aggiornati la versione e i dati della soluzione. Con Personalized-Ranking, devi creare manualmente una nuova versione della soluzione (riqualificare il modello) per consentire ad Amazon Personalize di prendere in considerazione nuovi elementi da suggerire e aggiornare il modello con il comportamento più recente dell'utente. Quindi devi aggiornare qualsiasi campagna utilizzando la versione della soluzione. Per ulteriori informazioni, consulta [Mantenere la pertinenza delle raccomandazioni](maintaining-relevance.md). 

**Nota**  
 Se fornisci articoli senza dati di interazione per il posizionamento, Amazon Personalize restituirà questi articoli senza un punteggio di raccomandazione nella risposta GetPersonalizedRanking API. 

La ricetta ha le seguenti proprietà:
+  **Nome**: `aws-personalized-ranking`
+  **Ricetta Amazon Resource Name (ARN**) — `arn:aws:personalize:::recipe/aws-personalized-ranking`
+  **Algoritmo ARN** — `arn:aws:personalize:::algorithm/aws-personalized-ranking`
+  **ARN per la trasformazione delle funzionalità** — `arn:aws:personalize:::feature-transformation/JSON-percentile-filtering`
+  **Tipo di ricetta** — `PERSONALIZED_RANKING`

## Iperparametri
<a name="personalized-ranking-hyperparameters"></a>

La tabella seguente descrive gli iperparametri per la ricetta Personalize-Ranking. Un *iperparametro* è un parametro di algoritmo che puoi regolare per migliorare le prestazioni del modello. Gli iperparametri dell'algoritmo controllano le prestazioni del modello. Gli iperparametri di funzionalità controllano come filtrare i dati da utilizzare nel training. Il processo di scelta del valore migliore per un iperparametro è chiamato ottimizzazione iperparametri (HPO). Per ulteriori informazioni, consulta [Iperparametri e HPO](customizing-solution-config-hpo.md). 

La tabella fornisce inoltre le seguenti informazioni per ogni iperparametro:
+ **Range**: [limite inferiore, limite superiore]
+ **Value type**: Integer, Continuous (float), Categorical (booleano, elenco, stringa)
+ **HPO tunable**: il parametro può partecipare all’ottimizzazione degli iperparametri (HPO)?


| Nome | Descrizione | 
| --- | --- | 
| Iperparametri dell'algoritmo | 
| hidden\$1dimension |  Il numero di variabili nascoste utilizzate nel modello. *Le variabili nascoste* ricreano la cronologia degli acquisti degli utenti e le statistiche degli articoli per generare punteggi di classifica. Specificate un numero maggiore di dimensioni nascoste quando il set di dati sulle interazioni degli elementi include modelli più complicati. L'utilizzo di dimensioni più nascoste richiede un set di dati più grande e più tempo per l'elaborazione. Per decidere il valore ottimale, utilizza HPO. Per utilizzare HPO, imposta `performHPO` su `true` quando chiami le operazioni [CreateSolution](API_CreateSolution.md) e [CreateSolutionVersion](API_CreateSolutionVersion.md). Valore predefinito: 149 Intervallo: [32, 256] Tipo di valore: Integer HPO regolabile: sì  | 
| bptt |  Determina se utilizzare la tecnica di propagazione back-through-time. *La propagazione back-through-time* è una tecnica che aggiorna i pesi in algoritmi basati su reti neurali ricorrenti. Utilizza `bptt` per i crediti a lungo termine per collegare ricompense ritardate ai primi eventi. Ad esempio, una ricompensa ritardata può essere un acquisto effettuato dopo diversi clic. Un evento iniziale può essere un clic iniziale. Anche all'interno degli stessi tipi di eventi, ad esempio un clic, è consigliabile considerare gli effetti a lungo termine e massimizzare le ricompense totali. Per considerare gli effetti a lungo termine, utilizza valori `bptt` più grandi. L'utilizzo di un valore `bptt` maggiore richiede set di dati più grandi e più tempo per l'elaborazione. Valore predefinito: 32 Intervallo: [2, 32]. Tipo di valore: Integer HPO regolabile: sì  | 
| recency\$1mask |  Determina se il modello deve considerare le ultime tendenze di popolarità nel set di dati sulle interazioni tra elementi. Le ultime tendenze di popolarità potrebbero includere improvvisi cambiamenti nei modelli sottostanti degli eventi di interazione. Per eseguire il training di un modello che posiziona più peso sugli eventi recenti, imposta `recency_mask` su `true`. Per addestrare un modello che pesa ugualmente tutte le interazioni passate, imposta `recency_mask` su `false`. Per ottenere buone raccomandazioni utilizzando lo stesso peso, potrebbe essere necessario un set di dati di training più grande. Valore predefinito: `True` Intervallo: `True` o `False` Tipo di valore: booleano HPO regolabile: sì  | 
| Iperparametri di caratterizzazione | 
| min\$1user\$1history\$1length\$1percentile |  Il percentile minimo delle lunghezze della cronologia degli utenti da includere nell’addestramento del modello. *La lunghezza della cronologia* è la quantità totale di dati relativi a un utente. Utilizza `min_user_history_length_percentile` per escludere una percentuale di utenti con brevi periodi di cronologia. Gli utenti con una breve cronologia spesso mostrano modelli basati sulla popolarità dell'articolo anziché le esigenze o i desideri personali dell'utente. La loro rimozione può addestrare modelli con maggiore attenzione sui modelli sottostanti nei dati. Scegli un valore appropriato dopo aver esaminato le lunghezze della cronologia degli utenti, utilizzando un istogramma o uno strumento simile. Ti consigliamo di impostare un valore che conservi la maggior parte degli utenti, ma rimuove i casi limite.  Ad esempio, l'impostazione di `min__user_history_length_percentile to 0.05` e `max_user_history_length_percentile to 0.95` include tutti gli utenti tranne quelli con lunghezze della cronologia nella parte inferiore o superiore del 5%. Valore predefinito: 0.0 Intervallo: [0.0, 1.0] Tipo di valore: float HPO regolabile: no  | 
| max\$1user\$1history\$1length\$1percentile |  Il percentile massimo delle lunghezze della cronologia degli utenti da includere nell’addestramento del modello. *La lunghezza della cronologia* è la quantità totale di dati relativi a un utente. Utilizza `max_user_history_length_percentile` per escludere una percentuale di utenti con lunghi periodi di cronologia perché i dati per questi utenti tendono a contenere rumore. Ad esempio, un robot potrebbe avere un lungo elenco di interazioni automatizzate. La rimozione di questi utenti limita il rumore durante il training. Scegli un valore appropriato dopo aver esaminato le lunghezze della cronologia degli utenti utilizzando un istogramma o uno strumento simile. Ti consigliamo di impostare un valore che conservi la maggior parte degli utenti ma rimuove i casi limite. Ad esempio, l'impostazione di `min__user_history_length_percentile to 0.05` e `max_user_history_length_percentile to 0.95` include tutti gli utenti tranne quelli con lunghezze della cronologia nella parte inferiore o superiore del 5%. Valore predefinito: 0,99 Intervallo: [0.0, 1.0] Tipo di valore: float HPO regolabile: no  | 

## Notebook di esempio con classificazione personalizzata
<a name="personalized-ranking-sample-notebook"></a>

 [Per un esempio di taccuino Jupyter che mostra come utilizzare la ricetta Personalized-Ranking, vedi Personalize Ranking Example.](https://github.com/aws-samples/amazon-personalize-samples/blob/master/next_steps/core_use_cases/personalized_ranking/personalize_ranking_example.ipynb) 