Skip to main content

This package helps the Data Scientist to train there model on dataset with different models without copy pasting the code again and again, this package is a Sklearn wrapper which does performs the model training. this saves time of developer and it also helps with detail metrics and for quick scan which model best fits for dataset

Project description

skwrapper

This package helps the Data Scientist to train there model on dataset with different models without copy pasting the code again and again, this package is a Sklearn wrapper which does performs the model training. this saves time of developer and it also helps with detail metrics and for quick scan which model best fits for dataset

Features

  • Supports regression and classifications models
  • Computes common regression and classificatons metrics.
  • Optional display of predicted values.
  • Easy-to-use unified interface for training and evaluation.

Installation

pip install skwrapper

Usage Example

## Import class from Library
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from skwrapper import sc, sr

df = pd.read_csv("Social_Network_Ads.csv")

selected_row = df.loc[:, 'Age': 'Purchased']

from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
# first we have to define X and y where X is the variable or feature input and y is the output target basically
x = selected_row[['Age', 'EstimatedSalary']]
y = selected_row['Purchased']

## Split the Data
X_train, x_test, Y_train, y_test = train_test_split( x, y, train_size=0.8, random_state=48 )

X_train.shape, x_test.shape


# doing standardization
scaler = StandardScaler()

#fit the scaler to the train set, it will learn the parameter
scaler.fit(X_train)  ## learn mean and std from the train dataset
X_train_scaled = scaler.transform(X_train)  ## Apply sacling
X_test_scaler = scaler.transform(x_test) ## Apply same scaling on X_test as well

#convert the numpy 2D arry to pd dataframes with column names on it as numpy array dont have column name after scaling
X_train_scaled_df = pd.DataFrame(X_train_scaled, columns=X_train.columns)  
X_test_scaler_df = pd.DataFrame(X_test_scaler, columns=x_test.columns) 

print(X_train_scaled_df.describe())
print(X_train.describe())


# Initialize class
sc = sc() ## Supervised Classifications class
sr = sr() ## Supervised Regression class

# Train and evaluate Models
|
## Single Model Execution for sr(Supervised Classification Models)
sc.perform(
    case=["logistic"],
    xy_train=[X_train_scaled_df, y_train],
    xy_test=[X_test_scaler_df, y_test],

    ## Optional Parameter
    show_pred=True # If True, predicted_values will be printed. If False, only evaluation metrics will be displayed.
)

## Multiple Model Execution for sr(Supervised Regression Models)
result = sc.perform(
    case=[" logistic", "svc", "knc"],
    xy_train=[X_train_scaled_df, y_train],
    xy_test=[X_test_scaler_df, y_test],

    ## Optional Parameter
    show_pred=True # If True, predicted_values will be printed. If False, only evaluation metrics will be displayed.
)

#----------------and for Supervised Regression Models-------------------#
## Single Model Execution:
sr.perform(
    case=["linearR"],
    xy_train=[X_train, y_train],
    xy_test=[X_test, y_test],

    #Optional Parameter
    show_pred=True # If True, predicted_values will be printed. If False, only evaluation metrics will be displayed.
)

## Multiple Model Execution:
sr.perform(
    case=["linearR", "svr", "knr"],
    xy_train=[X_train, y_train],
    xy_test=[X_test, y_test]
)

print(result) ## This will print all the metrics for all defiend models in **case**

# Access specific model metrics or predection value model object,
print("MSE for Linear Regression:", sc.metrics["linearR"]["mse"])
print("predicted_value for SVR:", sc.metrics["svr"]["predicted_value"])

# dont do this
result = sc.perform( case=["logistic"], xy_train=[X_train_scaled_df, y_train], xy_test=[X_test_scaler_df, y_test],show_pred=True )
print("predicted_value for SVR:", result.metrics["svr"]["predicted_value"]) 

## You Can Plot the predicted Values
sns.scatterplot(sc.metrics['svr']['predicted_value'])
plt.show()

Using Scikit-learn Parameters

This library acts as a wrapper around scikit-learn models, so you can pass model parameters exactly the same way you would in scikit-learn. All keyword arguments (**kwargs) are forwarded to the underlying scikit-learn model.

Example

from skwrapper import sc, sr
sr = sr()

sr.perform(
    case=["rfr"],
    xy_train=(X_train, y_train),
    xy_test=(X_test, y_test),
    n_estimators=200,
    max_depth=10,
    random_state=42
)
- **Note: Model parameters must match the parameters of the corresponding scikit-learn estimator. Invalid parameters will raise an error.**

Supported Models

  • Wrapper class for multiple sklearn regression models.:
Model Description
linearR Linear Regression
ridge Ridge Regression
lasso Lasso Regression
svr Support Vector Regression
knr K-Nearest Neighbors Regressor
gbr Gradient Boosting Regressor
rfr Random Forest Regressor
dtr Decision Tree Regressor

Metrics

  • metrics computed automatically:
- Mean Squared Error (MSE)
- Mean Absolute Error (MAE)
- Root Mean Squared Error (RMSE)
- R² Score

  • Wrapper class for multiple sklearn Classifications models.:
Model Description
logistic Logistic Regression Classifier
svc Support Vector Classifier (SVC)
rfc Random Forest Classifier
gbc Gradient Boosting Classifier
knc K-Nearest Neighbors Classifier
dtc Decision Tree Classifier

Metrics

  • metrics computed automatically:
- accuracy
- confusion_matrix
- classification_report

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

skwrapper-0.1.2.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

skwrapper-0.1.2-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file skwrapper-0.1.2.tar.gz.

File metadata

  • Download URL: skwrapper-0.1.2.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for skwrapper-0.1.2.tar.gz
Algorithm Hash digest
SHA256 d3739d41a5011bddf8389757ad053baa1f1fd4aa2c944f7422db93c8625a9aa7
MD5 0b9eab7e2ffeeb8ad8c090cf248aaa8f
BLAKE2b-256 a87029657955059588e2c524296971fae27faeeb3f62a092a2d248cdf7e4dd1f

See more details on using hashes here.

File details

Details for the file skwrapper-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: skwrapper-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 10.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for skwrapper-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1555837bd5d0bf3efe650e2a54a68786e25a5fe55571c654aafddef9335e4686
MD5 e6c372fe241e5ee90db377c015455348
BLAKE2b-256 7006d1be66c759059fd44e056af8dd9a3de167f5ac8421c760920f8e20411847

See more details on using hashes here.

Supported by

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