我正在使用scikit-learn将产品分类到类别中,我已经训练了一个做得很好的逻辑回归模型。我想提高分类器的性能,我一直想知道产品的品牌是否会对改进分类产生影响。正如您所知,在分类器的管道中,有一些步骤,例如词干和标记化等,那么是否有一种方法可以将品牌处理作为管道的额外功能添加,以便该算法可用于对产品进行分类? 我使用的数据是产品的数据集(标题,品牌,描述等......),其类别为标签。
代码:
with open('file_path') as json_data:
d = json.load(json_data)
def train(classifier, X, y):
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=33)
print("X_train:")
print(len(X_train))
print("X_test:")
print(len(X_test))
print("y_train:")
print(len(y_train))
print("y_test:")
print(len(y_test))
classifier.fit(X_train, y_train)
print "Accuracy: %s" % classifier.score(X_test, y_test)
return classifier
target = np.asarray(d["target"])
data=d["data"]
categs=d["categs"]
trial = Pipeline([
('vectorizer', TfidfVectorizer(tokenizer=stemming_tokenizer,
stop_words=stopwords.words('french') + list(string.punctuation))),
('classifier', linear_model.LogisticRegression(C=1e2,n_jobs=-1)),
])
print("start train...")
clf=train(trial, data, target)
print("finished train")