Propriétés du tALSModel pour Apache Spark Batch - 6.5

Machine Learning

author
Talend Documentation Team
EnrichVersion
6.5
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Real-Time Big Data Platform
task
Création et développement > Systèmes tiers > Composants Machine Learning
Gouvernance de données > Systèmes tiers > Composants Machine Learning
Qualité et préparation de données > Systèmes tiers > Composants Machine Learning
EnrichPlatform
Studio Talend

Ces propriétés sont utilisées pour configurer le tALSModel s'exécutant dans le framework de Jobs Spark Batch.

Le composant tALSModel Spark Batch appartient à la famille Machine Learning.

Ce composant est disponible dans les produits Talend Platform avec Big Data et dans Talend Data Fabric.

Basic settings

Define a storage configuration component

Sélectionnez le composant de configuration à utiliser pour fournir les informations de configuration pour la connexion au système de fichiers cible, comme HDFS.

Si vous laissez cette case décochée, le système de fichiers cible est le système local.

Le composant de configuration à utiliser doit se trouver dans le même Job. Par exemple, si vous avez ajouté un composant tHDFSConfiguration dans votre Job, vous pouvez le sélectionner pour écrire le résultat dans un système HDFS donné.

Feature table

Complétez cette table afin de mapper les colonnes d'entrée aux trois facteurs requis pour le calcul du modèle de recommandation.
  • Input column : dans la liste déroulante, sélectionnez la colonne d'entrée utilisée.

    Les colonnes sélectionnées doivent contenir les ID des utilisateurs, les ID des produits. De plus, les notes et les données doivent être des valeurs numériques.

  • Feature type : sélectionnez le facteur auquel chaque colonne d'entrée sélectionnée doit être mappée. Les trois facteurs sont User_ID, Product_ID et Rating.

Ce mapping permet au tASLModel de lire le bon type de données pour chaque facteur requis.

Training percentage

Saisissez le pourcentage (exprimé sous forme décimale) des données d'entrée à utiliser pour l'apprentissage du modèle de recommandation. Les autres données dont utilisées pour tester le modèle.

Number of latent factors

Saisissez le nombre de facteurs latents avec lesquels chaque caractéristique utilisateur ou produit est mesurée.

Number of iterations

Saisissez le nombre d'itérations que vous souhaitez que le Job effectue pour l'apprentissage du modèle.

Ce nombre doit être inférieur à 30 afin d'éviter des problèmes de dépassement de pile. En pratique, le résultat de la convergence (racine carrée de l'erreur quadratique moyenne ou RMSE) peut généralement être obtenu avant que vous ayez besoin d'utiliser un nombre supérieur à 30.

Cependant, si vous devez effectuer plus de 30 itérations, vous devez augmenter la taille de la pile utilisée pour exécuter le Job. Pour ce faire, vous pouvez ajouter l'argument -Xss, -Xss2048k par exemple, dans la table JVM Settings de l'onglet Advanced settings de la vue Run. Pour plus d'informations concernant la table JVM Settings, consultez le Guide utilisateur du Studio Talend .

Regularization factor

Saisissez le nombre de régularisations que vous souhaitez utiliser afin d'éviter le surapprentissage.

Build model for implicit feedback data set

Cochez cette case pour permettre au tALSModel de gérer les ensembles de données implicites.

À la différence des ensembles de données explicites, comme la note d'un produit, un ensemble de données implicite interprète les préférences des utilisateurs, par exemple, un enregistrement montre à quelle fréquence un utilisateur achète un produit donné.

Si vous laissez la case décochée, le tALSModel gère les ensembles de données explicites uniquement.

Pour plus d'informations concernant comment le modèle ALS gère les ensembles de données implicites, consultez la documentation de Spark à l'adresse suivante :https://spark.apache.org/docs/latest/mllib-collaborative-filtering.html (en anglais).

Confidence coefficient for implicit training

Saisissez le nombre pour indiquer le niveau de confiance en les préférences utilisateurs observées.

Parquet model path

Saisissez le répertoire dans lequel stocker le modèle de recommandation généré dans le système de fichiers à utiliser.

Le bouton pour parcourir votre système ne fonctionne pas en mode Local de Spark. Si vous utilisez le mode Yarn ou Standalone de Spark, assurez-vous d'avoir correctement configuré la connexion dans un composant de configuration au sein du même Job, comme le tHDFSConfiguration.

Parquet model name

Saisissez le nom à utiliser pour le modèle de recommandation.

Utilisation

Règle d'utilisation

Ce composant est utilisé en tant que composant de fin et requiert un lien d'entrée.

Notez que les paramètres que vous devez définir sont des paramètres libres. Leurs valeurs peuvent donc être fournies par des essais, des suppositions empiriques ou autres. Ils n'ont aucune valeur optimale applicable pour les ensembles de données. Par conséquent, vous devez effectuer l'apprentissage du modèle généré à l'aide de différents ensembles de valeurs afin d'obtenir la racine carrée de l'erreur quadratique moyenne (RMSE) minimale. Le résultat est écrit dans la console de la vue Run à chaque exécution du Job.

Installation de MLlib

Dans la version 1.3 de Spark ou dans les versions antérieures, la bibliothèque d'apprentissage automatique de Spark, MLlib, utilise la bibliothèque gfortran runtime. Vous devez vous assurer que cette bibliothèque est présente dans chaque nœud du cluster Spark utilisé.

Pour plus d'informations concernant MLlib et sa bibliothèque, consultez la documentation correspondante de Spark.

RMSE

Ces scores peuvent être écrits en sortie dans la console de la vue Run lorsque vous exécutez le Job, une fois ajouté le code suivant dans la vue Log4j de la boîte de dialogue [Project Settings].
<!-- DataScience Logger -->
<logger name= "org.talend.datascience.mllib" additivity= "false" >
<level value= "INFO" />
<appender-ref ref= "CONSOLE" />
</logger>

Ces scores sont écrits en sortie avec les autres informations Log4j de niveau INFO. Si vous souhaitez empêcher l'écriture en sortie d'informations non pertinentes, vous pouvez, par exemple, passer le niveau Log4j de ce type d'informations à WARN. Vous devez laisser le niveau de DataScience Logger à INFO.

Si vous utilisez une solution Talend soumise à souscription, l'activité de ce composant peut être journalisée avec la fonctionnalité log4j. Pour plus d'informations sur cette fonctionnalité, consultez le Guide utilisateur du Studio Talend .

Pour plus d'informations sur les niveaux de logs du log4j, consultez la documentation d'Apache : http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html (en anglais).