Cette page fait partie du cours de polytech PeiP1 et 2 Bio
Suivre le tutoriel suivant : Train all Classification or Regression models in one line of Python Code.
Il suffit de lancer Anaconda Prompt sous Windows (ouvrir un terminal sous Linux) et exécuter la commande :
> pip install lazypredict
La trace de l'exécution figure ici.
Une autre solution consiste à installer lazypredict à partir des sources depuis GitHub ou en obtenant le tarball.
On décompresse par exemple le tarball, puis on réalise l'installation :
> tar -xzf shankarpandala-lazypredict-v0.2.9-2-g9fea921.tar.gz
> cd shankarpandala-lazypredict-9fea921/
> python setup.py install
A partir de ce moment, l'utilisation de lazypredict provoque une erreur :
> python lazypredict_example.py
Traceback (most recent call last):
File "lazypredict_example.py", line 1, in
from lazypredict.Supervised import LazyClassifier
File "/home/richer/anaconda3/envs/nn/lib/python3.6/site-packages/lazypredict-0.2.9-py3.6.egg/lazypredict/Supervised.py", line 16, in
from sklearn.utils.testing import all_estimators
ModuleNotFoundError: No module named 'sklearn.utils.testing'
Pour solutionner le problème il faut utiliser une version moins récente de scikit-learn :
> conda install scikit-learn=0.23.2
Reproduire les exemples et essayez d'obtenir les mêmes résultats que ceux qui suivent :
Utiliser les classifieurs :
clf = LazyClassifier(verbose=0,ignore_warnings=True, custom_metric=None)
models,predictions = clf.fit(X_train, X_test, y_train, y_test)
print(models)
Accuracy Balanced Accuracy ROC AUC F1 Score Time Taken
Model
LinearSVC 0.99 0.99 0.99 0.99 0.01
Perceptron 0.99 0.98 0.98 0.99 0.01
LogisticRegression 0.99 0.98 0.98 0.99 0.01
SVC 0.98 0.98 0.98 0.98 0.01
XGBClassifier 0.98 0.98 0.98 0.98 0.23
LabelPropagation 0.98 0.97 0.97 0.98 0.06
LabelSpreading 0.98 0.97 0.97 0.98 0.01
BaggingClassifier 0.97 0.97 0.97 0.97 0.03
PassiveAggressiveClassifier 0.98 0.97 0.97 0.98 0.02
SGDClassifier 0.98 0.97 0.97 0.98 0.01
RandomForestClassifier 0.97 0.97 0.97 0.97 0.11
CalibratedClassifierCV 0.98 0.97 0.97 0.98 0.02
QuadraticDiscriminantAnalysis 0.96 0.97 0.97 0.97 0.05
ExtraTreesClassifier 0.97 0.96 0.96 0.97 0.08
RidgeClassifierCV 0.97 0.96 0.96 0.97 0.01
LGBMClassifier 0.96 0.96 0.96 0.96 0.09
RidgeClassifier 0.97 0.96 0.96 0.97 0.01
AdaBoostClassifier 0.96 0.96 0.96 0.96 0.12
KNeighborsClassifier 0.96 0.96 0.96 0.96 0.01
BernoulliNB 0.95 0.95 0.95 0.95 0.02
LinearDiscriminantAnalysis 0.96 0.95 0.95 0.96 0.08
GaussianNB 0.95 0.95 0.95 0.95 0.01
NuSVC 0.95 0.94 0.94 0.95 0.01
ExtraTreeClassifier 0.94 0.93 0.93 0.94 0.01
NearestCentroid 0.95 0.93 0.93 0.95 0.01
DecisionTreeClassifier 0.93 0.93 0.93 0.93 0.01
DummyClassifier 0.53 0.50 0.50 0.53 0.01
Utiliser les régressions :
reg = LazyRegressor(verbose=0, ignore_warnings=False, custom_metric=None)
models, predictions = reg.fit(X_train, X_test, y_train, y_test)
print(models)
Adjusted R-Squared R-Squared RMSE Time Taken
Model
SVR 0.83 0.88 2.62 0.01
BaggingRegressor 0.83 0.88 2.63 0.03
NuSVR 0.82 0.86 2.76 0.02
RandomForestRegressor 0.81 0.86 2.78 0.22
XGBRegressor 0.81 0.86 2.79 0.08
GradientBoostingRegressor 0.81 0.86 2.84 0.10
ExtraTreesRegressor 0.79 0.84 2.98 0.13
AdaBoostRegressor 0.78 0.83 3.04 0.06
HistGradientBoostingRegressor 0.77 0.83 3.06 0.29
PoissonRegressor 0.77 0.83 3.11 0.01
LGBMRegressor 0.77 0.83 3.11 0.04
KNeighborsRegressor 0.77 0.83 3.12 0.01
DecisionTreeRegressor 0.65 0.74 3.79 0.01
MLPRegressor 0.65 0.74 3.80 0.30
HuberRegressor 0.64 0.74 3.84 0.01
GammaRegressor 0.64 0.73 3.88 0.01
LinearSVR 0.62 0.72 3.96 0.01
RidgeCV 0.62 0.72 3.97 0.01
BayesianRidge 0.62 0.72 3.97 0.01
Ridge 0.62 0.72 3.97 0.01
TransformedTargetRegressor 0.62 0.72 3.97 0.01
LinearRegression 0.62 0.72 3.97 0.04
ElasticNetCV 0.62 0.72 3.98 0.04
LassoCV 0.62 0.72 3.98 0.04
LassoLarsIC 0.62 0.72 3.98 0.01
LassoLarsCV 0.62 0.72 3.98 0.02
Lars 0.61 0.72 3.99 0.04
LarsCV 0.61 0.71 4.02 0.02
SGDRegressor 0.60 0.70 4.07 0.01
TweedieRegressor 0.59 0.70 4.12 0.01
GeneralizedLinearRegressor 0.59 0.70 4.12 0.01
ElasticNet 0.58 0.69 4.16 0.02
Lasso 0.54 0.66 4.35 0.01
RANSACRegressor 0.53 0.65 4.41 0.04
OrthogonalMatchingPursuitCV 0.45 0.59 4.78 0.01
PassiveAggressiveRegressor 0.37 0.54 5.09 0.01
GaussianProcessRegressor 0.23 0.43 5.65 0.03
OrthogonalMatchingPursuit 0.16 0.38 5.89 0.01
ExtraTreeRegressor 0.08 0.32 6.17 0.01
DummyRegressor -0.38 -0.02 7.56 0.00
LassoLars -0.38 -0.02 7.56 0.01
KernelRidge -11.50 -8.25 22.74 0.02