Modèle de rang faible

Les modèles à faible rang généralisé (GLRM) sont un algorithme de réduction de la dimensionnalité d`un jeu de données. Il s`agit d`un algorithme d`optimisation parallélisé général qui s`applique à une variété de fonctions de perte et de régularisation. Les colonnes catégorielles sont gérées par expansion dans des colonnes d`indicateurs de 0/1 pour chaque niveau. Avec cette approche, GLRM est utile pour reconstruire les valeurs manquantes et identifier les caractéristiques importantes dans les données hétérogènes. Si vous utilisez LowRankModels pour le travail publié, nous vous encourageons à citer le logiciel. Les GLRMs forment un modèle de rang bas pour les données tabulaires A avec m lignes et n colonnes, qui peuvent être entrées sous forme de tableau ou tout objet de type tableau (par exemple, un bloc de données). Il est très bien si seulement certaines des entrées ont été observées (c.-à-d., les autres sont manquantes ou NA); le GLRM ne sera adapté qu`aux OBS des entrées observées. Le modèle désiré est spécifié en choisissant un rang k pour le modèle, un tableau de pertes de fonctions de perte, et deux regularizers, RX et Ry. Les données sont modélisées comme X` * Y, où X est une matrice KXM et Y est une matrice kxn. X et Y sont trouvées en résolvant le problème d`optimisation si toutes les entrées ne sont pas présentes dans votre tableau de données, il suffit de dire au GLRM quelles observations pour s`adapter au modèle en énumérant les tuples de leurs indices dans OBS.

Ensuite, initialisez le modèle à l`aide de ces modèles peuvent être utilisés dans un pipeline ScikitLearn, et chaque hyperparamètre peut être accordé avec GridSearchCV. Consultez le code pour l`utilisation. Tout argument de mot clé valide pour un objet GLRM, tel qu`une valeur initiale pour X ou Y ou une liste d`observations, peut également être utilisé avec ces modèles standard de bas rang. Par exemple, le code suivant forme un modèle k-means avec k = 5 sur la matrice 100×100 A: ch donne l`historique de convergence afin que le succès de l`optimisation puisse être surveillé; ch. objective stocke les valeurs objectives, et ch. Times capte les temps ces valeurs objectives ont été atteintes. Essayez de tracer ceci pour voir si vous avez juste besoin d`augmenter max_iter pour converger vers un meilleur modèle. Un certain nombre de fonctions utiles sont disponibles pour vous aider à vérifier si un modèle de rang inférieur donné suradapte à l`ensemble de données de test. Ces fonctions devraient vous aider à choisir une régularisation adéquate pour votre modèle. Le type de base utilisé par LowRankModels. Jl est le GLRM.

Pour former un GLRM, l`utilisateur spécifie si A est un DataFrame et que vous voulez juste que le modèle ignore toute entrée qui est de type NA, vous pouvez utiliser la fonction ajustement! utilise une méthode de gradient proximale de directions alternées pour minimiser l`objectif. Cette méthode n`est pas garantie de converger vers l`optimum, ou même à un minimum local. Si votre code n`est pas convergeant ou converge vers un modèle que vous n`aimez pas, il y a un certain nombre de paramètres que vous pouvez modifier. Peut-être tout cela sonne comme trop de travail. Peut-être vous arrive d`avoir un DF DataFrame traîner que vous aimeriez un rang bas (par exemple, k = 2) modèle pour.