sklearn乳腺癌逻辑回归
时间: 2025-05-16 07:46:37 浏览: 12
### 使用 Sklearn 实现乳腺癌数据集上的逻辑回归
以下是基于 `sklearn` 的逻辑回归模型在乳腺癌数据集上的具体实现方法:
#### 导入必要的库
为了完成逻辑回归建模,需要引入一些核心模块来处理数据加载、分割以及评估性能。
```python
from sklearn.linear_model import LogisticRegression as LR # 引入逻辑回归算法
from sklearn.datasets import load_breast_cancer # 加载乳腺癌数据集
import numpy as np # 数组操作工具
from sklearn.model_selection import train_test_split # 数据划分工具
from matplotlib import pyplot as plt # 可视化工具
from sklearn.metrics import classification_report, accuracy_score # 性能评估工具
```
上述代码片段展示了所需的核心依赖项[^1]。
#### 准备数据集
通过调用 `load_breast_cancer()` 方法获取乳腺癌数据集,并将其划分为特征矩阵 (`X`) 和目标标签 (`y`)。
```python
data = load_breast_cancer() # 加载乳腺癌数据集
X = data.data # 特征矩阵
y = data.target # 目标变量
print(f"数据形状: {X.shape}") # 输出数据维度
```
此部分用于初始化并打印数据的大小信息。
#### 划分训练集与测试集
利用 `train_test_split` 将原始数据拆分成训练子集和验证子集,以便后续进行模型训练与性能评估。
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
```
这里设置参数 `test_size=0.3` 表示保留 30% 的样本作为测试集合;同时指定随机种子 `random_state=42` 来确保实验可重复性。
#### 构建逻辑回归模型
创建一个默认配置下的逻辑回归实例对象,并对其进行拟合运算。
```python
model = LR(max_iter=10000) # 创建逻辑回归模型,默认采用 L2 正则化
model.fit(X_train, y_train) # 训练模型
```
注意,在实际应用过程中可能需要调整迭代次数上限以避免收敛失败警告。此处设定较大值(如 `max_iter=10000`),从而保障计算过程顺利完成。
#### 预测与评价
运用已构建好的分类器对未知样例做出预测判断,并借助多种指标衡量其表现优劣程度。
```python
predictions = model.predict(X_test) # 对测试集执行预测
accuracy = accuracy_score(y_test, predictions) # 获取准确率得分
report = classification_report(y_test, predictions)
print(f"模型准确性: {accuracy:.4f}")
print("详细报告:")
print(report)
```
最终输出结果显示该模型对于良性肿瘤识别率达到较高水平 (precision/recall/f1-score),但对于恶性类别稍显不足[^2]。
#### 进一步优化探讨
如果希望进一步提升泛化能力,则可以尝试调节超参 C 值或者更换不同的正则化方式(L1/L2)[^3] 。例如:
```python
for c_value in [0.1, 0.5, 1, 5]:
lr_tuned = LR(C=c_value, penalty='l2', solver='liblinear')
lr_tuned.fit(X_train, y_train)
acc = lr_tuned.score(X_test, y_test)
print(f"C={c_value}, 测试集精度:{acc:.4f}")
```
以上脚本演示了如何遍历多个候选 C 参数组合寻找最佳解法之一[^3]。
---
阅读全文
相关推荐

















