第1关:使用sklearn中的kNN算法进行分类
时间: 2024-09-15 09:10:11 浏览: 75
第一关使用scikit-learn(sklearn)中的k近邻(K-Nearest Neighbors, kNN)算法进行分类,是一个常见的机器学习入门任务。以下是基本步骤:
1. **导入所需库**:首先需要导入`sklearn`中的`datasets`、`neighbors`模块,以及一些数据处理和可视化工具。
```python
import numpy as np
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score
```
2. **加载数据集**:这里可以选择内置的数据集,如鸢尾花(Iris)或波士顿房价(Boston Housing),也可以从其他源导入数据。
```python
iris = datasets.load_iris() # 示例用鸢尾花数据
X = iris.data
y = iris.target
```
3. **数据预处理**:通常我们会将数据分为训练集和测试集,以便评估模型性能。
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
```
4. **创建并训练kNN分类器**:选择合适的邻居数(k值),构建`KNeighborsClassifier`实例,并用训练数据拟合它。
```python
knn = KNeighborsClassifier(n_neighbors=5) # 使用5个最近邻居
knn.fit(X_train, y_train)
```
5. **预测与评估**:用测试集进行预测,计算准确率等指标。
```python
y_pred = knn.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy}")
```
阅读全文