Je fais une modélisation prédictive et j'aimerais référencer différents types de régresseurs dans scikit-learn
, juste pour voir ce qui existe et comment ils fonctionnent sur une tâche de prédiction donnée.Comment puis-je importer tous les régresseurs de sklearns?
Je me suis inspiré de faire ceci par ce kaggle kernel dans lequel l'auteur importe essentiellement manuellement un groupe de classificateurs (environ 10) et les compare.
J'ai des difficultés à trouver une liste complète des importations pour les régresseurs dans sklearn
alors j'essaie d'automatiser les instructions import
pour me renvoyer automatiquement une liste de classes que je peux utiliser.
J'ai essayé d'importer dynamiquement les classes:
from importlib import import_module
import sklearn
def all_regressors():
regressors=[]
for module in sklearn.__all__:
try:
regressors.extend([cls for cls in import_module(f'sklearn.{module}').__all__ if 'Regress' in cls ])
except:
pass
regressors.append(sklearn.svm.SVR)
return regressors
print(all_regressors())
Mais je ne reçoivent que les noms sous forme de chaînes, plutôt que les classes:
['RandomForestRegressor', 'ExtraTreesRegressor', 'BaggingRegressor',
'GradientBoostingRegressor', 'AdaBoostRegressor',
'GaussianProcessRegressor', 'IsotonicRegression', 'ARDRegression',
'HuberRegressor', 'LinearRegression', 'LogisticRegression',
'LogisticRegressionCV', 'PassiveAggressiveRegressor',
'RandomizedLogisticRegression', 'SGDRegressor', 'TheilSenRegressor',
'RANSACRegressor', 'MultiOutputRegressor', 'KNeighborsRegressor',
'RadiusNeighborsRegressor', 'MLPRegressor', 'DecisionTreeRegressor',
'ExtraTreeRegressor', <class 'sklearn.svm.classes.SVR'>]
Comment puis-je obtenir les classes réelles?