划分训练集和测试集,利用LDA进行分类预测,分类结果用sklearn.metrics中的classification_report方法显示
时间: 2023-05-29 10:04:30 浏览: 151
以下是一个示例代码,对Iris数据集进行划分训练集和测试集,并使用LDA进行分类预测,最后使用classification_report方法显示分类结果。
```python
from sklearn.datasets import load_iris
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report
# 加载数据集
iris = load_iris()
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.3, random_state=0)
# 创建LDA模型
lda = LinearDiscriminantAnalysis()
# 训练模型
lda.fit(X_train, y_train)
# 预测测试集
y_pred = lda.predict(X_test)
# 显示分类报告
target_names = iris.target_names
print(classification_report(y_test, y_pred, target_names=target_names))
```
输出结果如下:
```
precision recall f1-score support
setosa 1.00 1.00 1.00 16
versicolor 1.00 0.94 0.97 18
virginica 0.94 1.00 0.97 11
accuracy 0.98 45
macro avg 0.98 0.98 0.98 45
weighted avg 0.98 0.98 0.98 45
```
可以看到,LDA在该数据集上表现良好,分类精度较高。
阅读全文