Metadata-Version: 2.1
Name: funpredict
Version: 0.0.2
Summary: Introducing Fun Predict, the ultimate time-saver for machine learning! 
Author: Sushanta Das
Author-email: <imachi@skiff.com>
Keywords: python,scikit-learn,machine learning,deep learning,Computer Vision,Artificial intelligence
Description-Content-Type: text/markdown
License-File: LICENSE


# Fun Predict🤖

Fun Predict is a free, open-source Python library that helps you build and compare machine learning models easily, without writing much code. It allows you to quickly and easily evaluate a variety of models without having to write a lot of code or tune hyperparameters.



# Installation

To install Fun Predict:

``` 

pip install funpredict

```



# Usage

To use Fun Predict in a project:

```

import funpredict

```



# Classification

Example :

```

from funpredict.fun_model import PlayClassifier

from sklearn.datasets import load_wine

from sklearn.model_selection import train_test_split



# Test with a Classification model

data = load_wine()

X,y = data.data,data.target



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



clf = PlayClassifier(verbose=0,ignore_warnings=True, custom_metric=None)

models,predictions = clf.fit(X_train, X_test, y_train, y_test,'multiclass')

model_dictionary = clf.provide_models(X_train,X_test,y_train,y_test) # If you conform which model working best than choosen hare.

print(models)



                                        | Accuracy | Balanced Accuracy| F1 Score | Time Taken |

     -----------------------------------------------------------------------------------------|

    | Model :                                                                                 |

    |                                    -----------------------------------------------------+

    | ExtraTreesClassifier              | 1.00     |  1.00            |   1.00    | 0.27      |

    | RandomForestClassifier            | 1.00     |  1.00            |   1.00    | 0.40      |

    | GaussianNB                        | 1.00     |  1.00            |   1.00    | 0.02      |

    | CatBoostClassifier                | 0.99     |  0.99            |   0.99    | 3.32      |

    | KNeighborsClassifier              | 0.99     |  0.99            |   0.99    | 0.03      |

    | RidgeClassifierCV                 | 0.99     |  0.99            |   0.99    | 0.02      |

    | PassiveAggressiveClassifier       | 0.99     |  0.99            |   0.99    | 0.04      |

    | LogisticRegression                | 0.99     |  0.99            |   0.99    | 0.03      |

    | NearestCentroid                   | 0.98     |  0.98            |   0.98    | 0.03      |

    | LGBMClassifier                    | 0.98     |  0.98            |   0.98    | 0.15      |

    | Perceptron                        | 0.98     |  0.98            |   0.98    | 0.04      |

    | SGDClassifier                     | 0.98     |  0.98            |   0.98    | 0.02      |

    | LinearDiscriminantAnalysis        | 0.98     |  0.98            |   0.98    | 0.02      |

    | LinearSVC                         | 0.98     |  0.98            |   0.98    | 0.02      |

    | RidgeClassifier                   | 0.98     |  0.98            |   0.98    | 0.02      |

    | NuSVC                             | 0.98     |  0.98            |   0.98    | 0.02      |

    | SVC                               | 0.98     |  0.98            |   0.98    | 0.02      |

    | LabelPropagation                  | 0.97     |  0.97            |   0.97    | 0.02      |

    | LabelSpreading                    | 0.97     |  0.97            |   0.97    | 0.02      |

    | XGBClassifier                     | 0.97     |  0.97            |   0.97    | 0.10      |

    | BaggingClassifier                 | 0.97     |  0.97            |   0.97    | 0.11      |

    | BernoulliNB                       | 0.94     |  0.94            |   0.94    | 0.04      |

    | CalibratedClassifierCV            | 0.94     |  0.94            |   0.94    | 0.15      |

    | AdaBoostClassifier                | 0.93     |  0.93            |   0.93    | 0.29      |

    | QuadraticDiscriminantAnalysis     | 0.93     |  0.93            |   0.93    | 0.04      |

    | DecisionTreeClassifier            | 0.88     |  0.88            |   0.88    | 0.04      |

    | ExtraTreeClassifier               | 0.83     |  0.83            |   0.83    | 0.04      |

    | DummyClassifier                   | 0.34     |  0.33            |   0.17    | 0.03      |

    -------------------------------------------------------------------------------------------

```



# Regression

Example :

```

from funpredict.fun_model import PlayRegressor

from sklearn.datasets import load_diabetes

from sklearn.model_selection import train_test_split



# Test with Regressor Model

data = load_diabetes()

X,y = data.data, data.target

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



clf = PlayRegressor(verbose=0,ignore_warnings=True, custom_metric=None)

models,predictions = clf.fit(X_train, X_test, y_train, y_test)

model_dictionary = clf.provide_models(X_train, X_test,y_train,y_test) # If you confirm which model works best then choose hare.

print(models)



|-----------------------------------------------------------------------------------------|

| Model                             | Adjusted R-Squared | R-Squared |  RMSE | Time Taken | 

    |:------------------------------|-------------------:|----------:|------:|-----------:|

    | BayesianRidge                 |      0.45          |   0.48    | 54.46 |    0.04    |

    | ElasticNetCV                  |      0.46          |   0.48    | 54.41 |    0.31    |

    | RidgeCV                       |      0.45          |   0.48    | 54.51 |    0.04    |

    | LinearRegression              |      0.45          |   0.48    | 54.58 |    0.03    |

    | TransformedTargetRegressor    |      0.45          |   0.48    | 54.58 |    0.04    |

    | Lars                          |      0.45          |   0.48    | 54.58 |    0.05    |

    | Ridge                         |      0.45          |   0.48    | 54.59 |    0.03    |

    | Lasso                         |      0.45          |   0.47    | 54.69 |    0.03    |

    | LassoLars                     |      0.45          |   0.47    | 54.69 |    0.03    |

    | LassoCV                       |      0.45          |   0.47    | 54.70 |    0.28    |

    | LassoLarsCV                   |      0.45          |   0.47    | 54.71 |    0.07    |

    | PoissonRegressor              |      0.45          |   0.47    | 54.76 |    0.04    |

    | SGDRegressor                  |      0.45          |   0.47    | 54.76 |    0.04    |

    | OrthogonalMatchingPursuitCV   |      0.45          |   0.47    | 54.80 |    0.06    |

    | HuberRegressor                |      0.44          |   0.47    | 54.96 |    0.06    |

    | LassoLarsIC                   |      0.44          |   0.47    | 55.02 |    0.03    |

    | ElasticNet                    |      0.44          |   0.47    | 55.05 |    0.03    |

    | LarsCV                        |      0.43          |   0.45    | 55.72 |    0.09    |

    | AdaBoostRegressor             |      0.42          |   0.44    | 56.34 |    0.34    |

    | TweedieRegressor              |      0.41          |   0.44    | 56.40 |    0.03    |

    | ExtraTreesRegressor           |      0.41          |   0.44    | 56.60 |    0.40    |

    | PassiveAggressiveRegressor    |      0.41          |   0.44    | 56.61 |    0.03    |

    | GammaRegressor                |      0.41          |   0.43    | 56.79 |    0.02    |

    | LGBMRegressor                 |      0.40          |   0.43    | 57.04 |    0.12    |

    | CatBoostRegressor             |      0.39          |   0.42    | 57.47 |    3.26    |

    | RandomForestRegressor         |      0.38          |   0.41    | 58.00 |    0.79    |

    | HistGradientBoostingRegressor |      0.36          |   0.39    | 58.84 |    0.27    |

    | GradientBoostingRegressor     |      0.36          |   0.39    | 58.95 |    0.31    |

    | BaggingRegressor              |      0.33          |   0.36    | 60.12 |    0.11    |

    | KNeighborsRegressor           |      0.29          |   0.32    | 62.09 |    0.03    |

    | XGBRegressor                  |      0.23          |   0.27    | 64.59 |    0.21    |

    | OrthogonalMatchingPursuit     |      0.23          |   0.26    | 64.86 |    0.05    |

    | RANSACRegressor               |      0.11          |   0.15    | 69.40 |    0.33    |

    | NuSVR                         |      0.07          |   0.11    | 70.99 |    0.08    |

    | LinearSVR                     |      0.07          |   0.11    | 71.11 |    0.03    |

    | SVR                           |      0.07          |   0.11    | 71.23 |    0.04    |

    | DummyRegressor                |      0.05      -   |   0.00    | 75.45 |    0.02    |

    | DecisionTreeRegressor         |      0.13      -   |   0.08    | 78.38 |    0.03    |

    | ExtraTreeRegressor            |      0.18      -   |   0.13    | 80.02 |    0.02    |

    | GaussianProcessRegressor      |      0.99      -   |   0.90    | 04.06 |    0.07    |

    | MLPRegressor                  |      1.19      -   |   1.09    | 09.17 |    1.34    |

    | KernelRidge                   |      3.91      -   |   3.69    | 63.34 |    0.06    |

    |-------------------------------------------------------------------------------------|

```

