能否提供一个KNN分类算法的具体实例:基于csv文件预测乳腺癌数据集中的肿瘤是良性还是恶性
时间: 2024-12-15 09:13:11 浏览: 4
当然可以。K近邻(K-Nearest Neighbors, KNN)是一种基于实例的学习算法,用于分类任务。以下是使用Python的sklearn库,结合pandas处理CSV文件(假设名为breast_cancer.csv),并应用KNN对乳腺癌数据进行简单分类的一个示例:
```python
# 导入所需的库
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import classification_report
# 加载数据
data = pd.read_csv('breast_cancer.csv')
# 定义特征和目标变量
X = data.drop('diagnosis', axis=1)
y = data['diagnosis']
# 数据预处理 - 归一化数值特征
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)
# 设置K值(比如3)
k = 3
# 创建KNN分类器
knn = KNeighborsClassifier(n_neighbors=k)
# 训练模型
knn.fit(X_train, y_train)
# 预测
y_pred = knn.predict(X_test)
# 评估模型性能
print(classification_report(y_test, y_pred))
#
阅读全文