Wrapper
The implementation of krmining.external.Wrapper Beta version¶
In [1]:
Copied!
from krmining.external import Wrapper
from krmining.clustering import KMeans
from krmining.datasets import get_example_covid_id
import dill
from krmining.external import Wrapper
from krmining.clustering import KMeans
from krmining.datasets import get_example_covid_id
import dill
Create the model¶
In [2]:
Copied!
# Make model and save
df = get_example_covid_id()
for column in df.columns:
df[column] = df[column] / df[column].max()
kmeans = KMeans(k=3, init="kmeans++")
kmeans.fit(df)
test_object = dill.dumps(kmeans)
# Make model and save
df = get_example_covid_id()
for column in df.columns:
df[column] = df[column] / df[column].max()
kmeans = KMeans(k=3, init="kmeans++")
kmeans.fit(df)
test_object = dill.dumps(kmeans)
c:\Users\Bina Umat\Desktop\Project\krmining_project\keyar-mining\krmining\clustering\_kmeans.py:22: UserWarning: The model still in maintaining in slow or extended memory warnings.warn(
Create the wrapper¶
In [3]:
Copied!
# make wrapper
wrapper_object = Wrapper()
@wrapper_object.save_func("data_normalize")
def data_normalize(df, binary_model):
for column in df.columns:
df[column] = df[column] / df[column].max()
return df, binary_model
@wrapper_object.save_func("cluster_predict")
def cluster_predict(df, binary_model):
import dill
model = dill.loads(binary_model)
cluster = model.predict(df)
return cluster
wrapper_object.add_step("data_normalize")
wrapper_object.add_step("cluster_predict")
# make wrapper
wrapper_object = Wrapper()
@wrapper_object.save_func("data_normalize")
def data_normalize(df, binary_model):
for column in df.columns:
df[column] = df[column] / df[column].max()
return df, binary_model
@wrapper_object.save_func("cluster_predict")
def cluster_predict(df, binary_model):
import dill
model = dill.loads(binary_model)
cluster = model.predict(df)
return cluster
wrapper_object.add_step("data_normalize")
wrapper_object.add_step("cluster_predict")
data_normalize is saved cluster_predict is saved
Load the wrapper¶
In [4]:
Copied!
cluster = wrapper_object.load_func(df, test_object)
cluster
cluster = wrapper_object.load_func(df, test_object)
cluster
---------------- Before execution ---------------- - Time to execute data_normalize function: 0.0019981861114501953 - Time to execute cluster_predict function: 0.0050427913665771484 --------------- After execution ---------------
Out[4]:
array([2, 0, 0, 2, 0, 1, 2, 2, 1, 1, 1, 2, 0, 2, 0, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 0, 2, 0, 2, 2, 2, 0, 0, 0], dtype=int64)
Saving the wrapper and load¶
In [5]:
Copied!
saved_wrapper = wrapper_object.save_object_to_var()
load_wrapper = dill.loads(saved_wrapper)
load_wrapper.load_func(df, test_object)
saved_wrapper = wrapper_object.save_object_to_var()
load_wrapper = dill.loads(saved_wrapper)
load_wrapper.load_func(df, test_object)
---------------- Before execution ---------------- - Time to execute data_normalize function: 0.0019526481628417969 - Time to execute cluster_predict function: 0.0029952526092529297 --------------- After execution ---------------
Out[5]:
array([2, 0, 0, 2, 0, 1, 2, 2, 1, 1, 1, 2, 0, 2, 0, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 0, 2, 0, 2, 2, 2, 0, 0, 0], dtype=int64)