我已经使用sklearn训练了模型
word label
0 @paulwalk O
1 It O
2 's O
3 the O
4 view O
训练数据的形状为(55725,2)
我已经训练了实体识别模型。代码段如下
X = train_data.drop('label', axis=1)
v = DictVectorizer()
X = v.fit_transform(X.to_dict('records'))
y = train_data.label.values
火车数据矩阵的形状为
print(x_train.shape) : (44580, 13794)
训练模型
x_train, x_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
per = Perceptron(verbose = 10, max_iter = 5, n_jobs = -1)
per.partial_fit(x_train, y_train, classes)
在测试数据上测试模型可以提供良好的准确性
print(f1_score(per.predict(x_test), y_test, average="micro"))
0.95326589
现在一些新数据到了,我想检查我在这些新数据上的模型准确性。但出现以下错误。
X_new = v.fit_transform(data.to_dict('records'))
per.predict(X_new)
-------------------------------------------------- ---------------------------- ValueError Traceback(最近的呼叫 最后) ----> 1个预测(X_new)
〜\ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ sklearn \ linear_model \ base.py 在预测中(自己,X) 279每个样品的预测类别标签。 280“”“ -> 281分= self.decision_function(X) 第282回 283个索引=(得分> 0).astype(np.int)
〜\ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ sklearn \ linear_model \ base.py 在decision_function(自己,X)中 260如果X.shape [1]!= n_features: 261提高ValueError(“ X每个样本具有%d个特征;期望%d” -> 262%(X.shape [1],n_features)) 263 264分= safe_sparse_dot(X,self.coef_.T,
ValueError:每个样本X具有5843个功能;期待17441
每个样本错误似乎都有一个特征。
那么我如何为每个样本的新数据获得相同的功能