У меня есть модель, и я хочу ее использовать. Я использую joblib, но когда я выбираю его, я получаю ошибку TypeError: не могу выбрать объекты модуля. Как это исправить, пожалуйста.
import pandas as pd
import joblib
from src.model.svm_model import SVMModel
class TextClassificationPredict(object):
def __init__(self):
self.test = None
@staticmethod
def get_train_data():
df_train = pd.read_excel("Data/Data.xlsx", header=0)
# test data
test_data = []
test_data.append({"feature": u"truyen full", "target": "mo_truyenfull"})
df_test = pd.DataFrame(test_data)
model = SVMModel()
clf = model.clf.fit(df_train["feature"], df_train["target"])
joblib.dump(model.clf, "test.pkl")
а это SVMModel
from sklearn.pipeline import Pipeline
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import TfidfTransformer
from src.transformer.feature_transformer import FeatureTransformer
from sklearn.linear_model import SGDClassifier
class SVMModel(object):
def __init__(self):
self.clf = self._init_pipeline()
@staticmethod
def _init_pipeline():
pipe_line = Pipeline([
("transformer", FeatureTransformer()),
("vect", CountVectorizer()),
("tfidf", TfidfTransformer()),
("clf-svm", SGDClassifier(loss='log', penalty='l2', alpha=1e-3, n_iter=20, random_state=None))
])
return pipe_line