如何写一个线性分类器并固定模型参数,然后测试模型在测试集上的精度
时间: 2023-06-24 13:05:44 浏览: 51
首先,线性分类器可以使用逻辑回归模型来实现。下面是一个简单的逻辑回归模型实现示例:
```python
import numpy as np
from sklearn.linear_model import LogisticRegression
# 生成训练数据
X_train = np.array([[1, 2], [3, 4], [5, 6], [7, 8]])
y_train = np.array([0, 0, 1, 1])
# 训练模型
clf = LogisticRegression(random_state=0, solver='lbfgs').fit(X_train, y_train)
# 固定模型参数
clf.set_params(C=1.0, penalty='l2')
# 生成测试数据
X_test = np.array([[2, 3], [4, 5], [6, 7], [8, 9]])
y_test = np.array([0, 0, 1, 1])
# 测试模型
score = clf.score(X_test, y_test)
print("Test Accuracy: {:.2f}%".format(score * 100))
```
这个示例中,我们先生成了训练数据和测试数据,然后使用逻辑回归模型对训练数据进行训练,接着固定了模型参数(C=1.0, penalty='l2'),最后使用测试数据对模型进行测试并输出测试精度。
需要注意的是,逻辑回归模型是一种二分类模型,可以通过调整阈值来将输出结果转化为二分类的预测结果。如果需要实现多分类问题,可以使用 softmax 回归模型或者支持向量机等其他分类器。