Skip to main content

Introducing Fun Predict, the ultimate time-saver for machine learning! No more complex coding or tedious parameter tuning - just sit back and let Fun Predict build your basic models with ease. It's like having a personal assistant for your machine learning projects, making the process simple, efficient, and, well, Fun! 🛋

Project description

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')

# If you confirm which model working best then choose hare.

model_dictionary = clf.provide_models(X_train,X_test,y_train,y_test) 

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      |

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


# Vertical bar plot

clf.barplot(predictions)

clf-bar


# Horizontal bar plot

clf.hbarplot(predictions)

clf-hbar

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)



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

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

# If you confirm which model works best then choose hare.

model_dictionary = rgs.provide_models(X_train, X_test,y_train,y_test)

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    |

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


# Vertical bar plot

rgs.barplot(predictions)

rgs-bar


# Horizontal bar plot

rgs.hbarplot(predictions)

rgs-hbar

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

funpredict-0.0.6.tar.gz (13.6 kB view details)

Uploaded Source

File details

Details for the file funpredict-0.0.6.tar.gz.

File metadata

  • Download URL: funpredict-0.0.6.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for funpredict-0.0.6.tar.gz
Algorithm Hash digest
SHA256 8ef2964cb75bb0ba2f7373803e75ab20036f0dbc352b86bf3dc3bf594e887f01
MD5 e6d07aac2e69765e71ebaab4733bfa8b
BLAKE2b-256 5a262bdf25f52d905643feeba47f93a815292eec7160c6898ff19610d2aa7022

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page