Реализация sklearn-based Transformer-а для Weight of Evidence преобразования
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
datasets/titanic
dist
images
notebooks
tests
wing
CHANGELOG.md
CONTRIBUTING.md
README.md
icon.png
setup.py

README.md

О проекте

Данный проект реализует sklearn-based Transformer для Weight of evidence преобразования.
Это одно из наиболее удобных и результативных преобразований для логистической регрессии.

Как использовать?

  1. Установите модуль:
python setup.py install
  1. Импортируйте объект и работайте с ним как sklearn Transformer:
import pandas as pd
from wingilya import WingsOfEvidence
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import Pipeline
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split

X,y = make_classification(n_samples=10000,n_features=10,n_informative=2,random_state=42)

X_train,X_test,y_train,y_test = train_test_split(X,y,stratify=y,test_size=0.3,random_state=42)

column_names = ['X%i'%i for i in range(10)]

D_train = pd.DataFrame(X_train,columns = column_names)
D_test = pd.DataFrame(X_test,columns = column_names)

# Для высокой скорости используйте optimizer='ilya-binning', для высокого качества используйте optimizer='full-search'
# Параметры, которые оказывают влияние на биннинг при optimizer='ilya-binning' обозначены ниже
# Все остальные параметры используются при optimizer='full-search'
wing = WingsOfEvidence(bin_minimal_size=0.05, bin_size_increase=0.05, is_monotone=False)
log = LogisticRegression()

pipe = Pipeline(steps=
    [
        ('wing',wing),
        ('log',log)
    ]
)

pipe.fit(D_train,y_train)

test_proba = pipe.predict_proba(D_test)