/lazypredict

Lazy Predict help build a lot of basic models without much code and helps understand which models works better without any parameter tuning

Primary LanguagePythonMIT LicenseMIT

Lazy Predict

Documentation Status Downloads

Lazy Predict help build a lot of basic models without much code and helps understand which models works better without any parameter tuning

Usage

To use Lazy Predict in a project:

import lazypredict

Classification

Example

from lazypredict.Supervised import LazyClassifier
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split

data = load_breast_cancer()
X = data.data
y= data.target

X_train, X_test, y_train, y_test = train_test_split(X, y,test_size=.5,random_state =123)

clf = LazyClassifier(verbose=0,ignore_warnings=True, custom_metric=None)
models,predictions = clf.fit(X_train, X_test, y_train, y_test)

print(models)


| Model                          |   Accuracy |   Balanced Accuracy |   ROC AUC |   F1 Score |   Time Taken |
|:-------------------------------|-----------:|--------------------:|----------:|-----------:|-------------:|
| LinearSVC                      |   0.989474 |            0.987544 |  0.987544 |   0.989462 |    0.0150008 |
| SGDClassifier                  |   0.989474 |            0.987544 |  0.987544 |   0.989462 |    0.0109992 |
| MLPClassifier                  |   0.985965 |            0.986904 |  0.986904 |   0.985994 |    0.426     |
| Perceptron                     |   0.985965 |            0.984797 |  0.984797 |   0.985965 |    0.0120046 |
| LogisticRegression             |   0.985965 |            0.98269  |  0.98269  |   0.985934 |    0.0200036 |
| LogisticRegressionCV           |   0.985965 |            0.98269  |  0.98269  |   0.985934 |    0.262997  |
| SVC                            |   0.982456 |            0.979942 |  0.979942 |   0.982437 |    0.0140011 |
| CalibratedClassifierCV         |   0.982456 |            0.975728 |  0.975728 |   0.982357 |    0.0350015 |
| PassiveAggressiveClassifier    |   0.975439 |            0.974448 |  0.974448 |   0.975464 |    0.0130005 |
| LabelPropagation               |   0.975439 |            0.974448 |  0.974448 |   0.975464 |    0.0429988 |
| LabelSpreading                 |   0.975439 |            0.974448 |  0.974448 |   0.975464 |    0.0310006 |
| RandomForestClassifier         |   0.97193  |            0.969594 |  0.969594 |   0.97193  |    0.033     |
| GradientBoostingClassifier     |   0.97193  |            0.967486 |  0.967486 |   0.971869 |    0.166998  |
| QuadraticDiscriminantAnalysis  |   0.964912 |            0.966206 |  0.966206 |   0.965052 |    0.0119994 |
| HistGradientBoostingClassifier |   0.968421 |            0.964739 |  0.964739 |   0.968387 |    0.682003  |
| RidgeClassifierCV              |   0.97193  |            0.963272 |  0.963272 |   0.971736 |    0.0130029 |
| RidgeClassifier                |   0.968421 |            0.960525 |  0.960525 |   0.968242 |    0.0119977 |
| AdaBoostClassifier             |   0.961404 |            0.959245 |  0.959245 |   0.961444 |    0.204998  |
| ExtraTreesClassifier           |   0.961404 |            0.957138 |  0.957138 |   0.961362 |    0.0270066 |
| KNeighborsClassifier           |   0.961404 |            0.95503  |  0.95503  |   0.961276 |    0.0560005 |
| BaggingClassifier              |   0.947368 |            0.954577 |  0.954577 |   0.947882 |    0.0559971 |
| BernoulliNB                    |   0.950877 |            0.951003 |  0.951003 |   0.951072 |    0.0169988 |
| LinearDiscriminantAnalysis     |   0.961404 |            0.950816 |  0.950816 |   0.961089 |    0.0199995 |
| GaussianNB                     |   0.954386 |            0.949536 |  0.949536 |   0.954337 |    0.0139935 |
| NuSVC                          |   0.954386 |            0.943215 |  0.943215 |   0.954014 |    0.019989  |
| DecisionTreeClassifier         |   0.936842 |            0.933693 |  0.933693 |   0.936971 |    0.0170023 |
| NearestCentroid                |   0.947368 |            0.933506 |  0.933506 |   0.946801 |    0.0160074 |
| ExtraTreeClassifier            |   0.922807 |            0.912168 |  0.912168 |   0.922462 |    0.0109999 |
| CheckingClassifier             |   0.361404 |            0.5      |  0.5      |   0.191879 |    0.0170043 |
| DummyClassifier                |   0.512281 |            0.489598 |  0.489598 |   0.518924 |    0.0119965 |

Regression

Example

from lazypredict.Supervised import LazyRegressor
from sklearn import datasets
from sklearn.utils import shuffle
import numpy as np

boston = datasets.load_boston()
X, y = shuffle(boston.data, boston.target, random_state=13)
X = X.astype(np.float32)

offset = int(X.shape[0] * 0.9)

X_train, y_train = X[:offset], y[:offset]
X_test, y_test = X[offset:], y[offset:]

reg = LazyRegressor(verbose=0,ignore_warnings=False, custom_metric=None)
models,predictions = reg.fit(X_train, X_test, y_train, y_test)

print(models)


| Model                         |   R-Squared |     RMSE |   Time Taken |
|:------------------------------|------------:|---------:|-------------:|
| SVR                           |   0.877199  |  2.62054 |    0.0330021 |
| RandomForestRegressor         |   0.874429  |  2.64993 |    0.0659981 |
| ExtraTreesRegressor           |   0.867566  |  2.72138 |    0.0570002 |
| AdaBoostRegressor             |   0.865851  |  2.73895 |    0.144999  |
| NuSVR                         |   0.863712  |  2.7607  |    0.0340044 |
| GradientBoostingRegressor     |   0.858693  |  2.81107 |    0.13      |
| KNeighborsRegressor           |   0.826307  |  3.1166  |    0.0179954 |
| HistGradientBoostingRegressor |   0.810479  |  3.25551 |    0.820995  |
| BaggingRegressor              |   0.800056  |  3.34383 |    0.0579946 |
| MLPRegressor                  |   0.750536  |  3.73503 |    0.725997  |
| HuberRegressor                |   0.736973  |  3.83522 |    0.0370018 |
| LinearSVR                     |   0.71914   |  3.9631  |    0.0179989 |
| RidgeCV                       |   0.718402  |  3.9683  |    0.018003  |
| BayesianRidge                 |   0.718102  |  3.97041 |    0.0159984 |
| Ridge                         |   0.71765   |  3.9736  |    0.0149941 |
| LinearRegression              |   0.71753   |  3.97444 |    0.0190051 |
| TransformedTargetRegressor    |   0.71753   |  3.97444 |    0.012001  |
| LassoCV                       |   0.717337  |  3.9758  |    0.0960066 |
| ElasticNetCV                  |   0.717104  |  3.97744 |    0.0860076 |
| LassoLarsCV                   |   0.717045  |  3.97786 |    0.0490005 |
| LassoLarsIC                   |   0.716636  |  3.98073 |    0.0210001 |
| LarsCV                        |   0.715031  |  3.99199 |    0.0450008 |
| Lars                          |   0.715031  |  3.99199 |    0.0269964 |
| SGDRegressor                  |   0.714362  |  3.99667 |    0.0210009 |
| RANSACRegressor               |   0.707849  |  4.04198 |    0.111998  |
| ElasticNet                    |   0.690408  |  4.16088 |    0.0190012 |
| Lasso                         |   0.662141  |  4.34668 |    0.0180018 |
| OrthogonalMatchingPursuitCV   |   0.591632  |  4.77877 |    0.0180008 |
| ExtraTreeRegressor            |   0.583314  |  4.82719 |    0.0129974 |
| PassiveAggressiveRegressor    |   0.556668  |  4.97914 |    0.0150032 |
| GaussianProcessRegressor      |   0.428298  |  5.65425 |    0.0580051 |
| OrthogonalMatchingPursuit     |   0.379295  |  5.89159 |    0.0180039 |
| DecisionTreeRegressor         |   0.318767  |  6.17217 |    0.0230272 |
| DummyRegressor                |  -0.0215752 |  7.55832 |    0.0140116 |
| LassoLars                     |  -0.0215752 |  7.55832 |    0.0180008 |
| KernelRidge                   |  -8.24669   | 22.7396  |    0.0309792 |

Warning

Regression and Classification are replaced with LazyRegressor and LazyClassifier. Regression and Classification classes will be removed in next release