使用python将数据集分为训练集与测试集两部分,训练集比测试集等于 8:2。通过逻辑回 归算法进行建模,输出最后模型的准确率、精确率、查准率、F1、混淆矩阵
时间: 2023-06-16 13:03:57 浏览: 49
下面是一个简单的例子,演示如何使用Python将数据集分为训练集和测试集,使用逻辑回归算法建模,并输出模型的准确率、精确率、查准率、F1、混淆矩阵。
```python
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, confusion_matrix
# 读取数据集
data = pd.read_csv('data.csv')
# 将数据集分为训练集和测试集
train_data, test_data, train_label, test_label = train_test_split(data.iloc[:, :-1], data.iloc[:, -1], test_size=0.2, random_state=0)
# 建立逻辑回归模型
lr_model = LogisticRegression(solver='liblinear')
lr_model.fit(train_data, train_label)
# 预测测试集
pred_label = lr_model.predict(test_data)
# 计算各项指标
accuracy = accuracy_score(test_label, pred_label)
precision = precision_score(test_label, pred_label)
recall = recall_score(test_label, pred_label)
f1 = f1_score(test_label, pred_label)
confusion = confusion_matrix(test_label, pred_label)
# 输出结果
print('Accuracy: {:.4f}'.format(accuracy))
print('Precision: {:.4f}'.format(precision))
print('Recall: {:.4f}'.format(recall))
print('F1 score: {:.4f}'.format(f1))
print('Confusion matrix: \n{}'.format(confusion))
```
在这个例子中,我们使用了Pandas库来读取数据集。然后,使用scikit-learn库中的`train_test_split`函数将数据集分为训练集和测试集。接着,使用`LogisticRegression`类建立逻辑回归模型,并用训练集拟合模型。然后,使用测试集进行预测,得到预测结果。最后,使用`accuracy_score`、`precision_score`、`recall_score`和`f1_score`函数分别计算准确率、精确率、查准率和F1值,使用`confusion_matrix`函数计算混淆矩阵。
运行完上述代码后,即可得到模型的各项指标。