Par défaut, l'apprentissage de la régression logistique initialise les coefficients à zéro. Cependant, je voudrais initialiser les coefficients moi-même. Cela serait utile, par exemple, si un entraînement précédent s'est écrasé après plusieurs itérations - je pourrais simplement recommencer l'entraînement avec le dernier ensemble de coefficients connu. Est-ce possible avec l'une des API basées sur un ensemble de données/base de données, de préférence avec Scala?Initialisation des coefficients de régression logistique lors de l'utilisation des API ML basées sur un jeu de données Spark?
regardant le code source d'allumage, il semble qu'il y est un procédé setInitialModel
pour initialiser le modèle et ses coefficients, but it's unfortunately marked as private. L'API basée sur RDD semble permettre l'initialisation des coefficients: l'une des surcharges LogisticRegressionWithSGD.run(...)
accepte un vecteur initialWeights
. Cependant, je voudrais utiliser l'API basée sur le jeu de données au lieu de l'API basée sur RDD car (1) la première supporte la régularisation élastique nette (je ne pouvais pas comprendre comment faire net élastique avec la régression logistique basée sur RDD) (2) parce que the RDD-based API is in maintenance mode.
Je pourrais toujours essayer d'utiliser la réflexion pour appeler cette méthode setInitialModel
privée, mais je voudrais éviter cela si possible (et peut-être qui fonctionnerait même pas ... Je ne peux pas dire si setInitialModel
est marqué privé une bonne raison).