sklearn库自带的乳腺癌数据集记录有569行数据,对应记录了30个特征,以及乳腺癌分类,部分说明如下表。 请基于乳腺癌数据,编写Python代码完成下列操作。 (1)使用sklearn库加载乳腺癌数据集(breast_cancer)存为cancer,将特征数据存为data,标签数据存为label。(4分) (2)将特征数据和标签数据划分成训练集和测试集,训练集和测试集的样本数比例为8:2,并将训练集数据、测试集数据、训练集标签数据和测试集标签数据分别存为data_train、data_test、label_train和label_test。(4分) (3)导入逻辑回归函数LogisticRegression构建逻辑回归模型,存为lr,并进行模型训练。(5分) (4)对测试集数据进行预测,预测结果存为test_pred,并打印查看结果。(3分) (5)导入numpy库,计算模型预测测试集的准确率,并打印查看结果。(4分)
时间: 2024-03-24 21:42:04 浏览: 147
下面是代码实现:
```python
# 导入sklearn库中的乳腺癌数据集
from sklearn.datasets import load_breast_cancer
# 导入sklearn库中的train_test_split函数,用于数据集划分
from sklearn.model_selection import train_test_split
# 导入逻辑回归函数
from sklearn.linear_model import LogisticRegression
# 导入numpy库
import numpy as np
# 加载乳腺癌数据集
cancer = load_breast_cancer()
# 获取特征数据
data = cancer.data
# 获取标签数据
label = cancer.target
# 将特征数据和标签数据划分成训练集和测试集,训练集和测试集的样本数比例为8:2
data_train, data_test, label_train, label_test = train_test_split(data, label, test_size=0.2, random_state=42)
# 构建逻辑回归模型
lr = LogisticRegression()
# 进行模型训练
lr.fit(data_train, label_train)
# 对测试集数据进行预测
test_pred = lr.predict(data_test)
# 打印预测结果
print(test_pred)
# 计算模型预测测试集的准确率
accuracy = np.mean(test_pred == label_test)
# 打印准确率
print("准确率为:", accuracy)
```
注:以上代码中的 `random_state` 参数用于设置随机种子,保证每次运行的结果一致。
阅读全文