用支持向量机进行乳腺癌分类
时间: 2023-11-20 22:08:09 浏览: 155
支持向量机 (Support Vector Machine, SVM) 是一种常用的机器学习算法,在分类问题中表现出较好的性能。在乳腺癌分类问题中,我们可以使用 SVM 对良性 (Benign) 和恶性 (Malignant) 乳腺肿瘤进行分类。
以下是使用 Python 和 Scikit-learn 库实现 SVM 进行乳腺癌分类的示例代码:
```python
# 导入必要的库和数据集
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
data = load_breast_cancer()
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.2, random_state=42)
# 构建 SVM 模型
clf = SVC(kernel='linear')
# 训练模型
clf.fit(X_train, y_train)
# 预测测试集结果
y_pred = clf.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print('Accuracy:', accuracy)
```
在上述代码中,我们首先导入了乳腺癌数据集并将其划分为训练集和测试集。然后,我们使用 Scikit-learn 库中的 SVC 类构建一个支持向量机模型,并将其训练在训练集上。最后,我们使用测试集进行预测,并计算准确率来评估模型的性能。
需要注意的是,我们在上述代码中使用了线性核函数 (kernel='linear'),这是因为在乳腺癌分类问题中,特征数量相对较少,数据集也不是非常大,使用线性核函数可以获得比较好的分类结果。如果数据集更加复杂,可以尝试使用其他核函数,如高斯核函数 (kernel='rbf')。
阅读全文