用pythonKNN实例,学生家庭情况评定
时间: 2023-08-10 11:40:28 浏览: 41
好的,下面是一个KNN算法的实例,用于评定学生的家庭情况。该算法基于以下特征:
- 父母的婚姻状况
- 家庭住址的远近
- 家庭是否有其他兄弟姐妹
- 家庭是否有车辆
数据集包括10个学生的信息,其中5个学生的家庭情况被标记为良好,另外5个学生的家庭情况被标记为不良好。我们使用KNN算法来预测一个新学生的家庭情况。
```python
import numpy as np
from sklearn.neighbors import KNeighborsClassifier
# 定义一个数据集
data = np.array([
[1, 3, 0, 1, 'good'],
[2, 1, 1, 0, 'good'],
[2, 3, 0, 0, 'good'],
[3, 1, 1, 1, 'good'],
[3, 2, 0, 1, 'good'],
[1, 1, 1, 0, 'bad'],
[1, 2, 0, 0, 'bad'],
[2, 2, 1, 0, 'bad'],
[2, 1, 0, 1, 'bad'],
[3, 2, 1, 0, 'bad']
])
# 将数据集拆分成特征和标签
X = data[:, :-1].astype(int)
y = data[:, -1]
# 创建KNN分类器
k = 3 # 选择3个最近邻居
knn = KNeighborsClassifier(n_neighbors=k)
# 训练KNN分类器
knn.fit(X, y)
# 测试KNN分类器
query = np.array([2, 2, 1, 1]).reshape(1, -1) # 新学生的特征向量
prediction = knn.predict(query)
print("该学生的家庭情况被评定为:", prediction[0]) # 输出 bad
```
以上代码实现了一个KNN算法的实例,用于评定学生的家庭情况。我们使用了`scikit-learn`库中的`KNeighborsClassifier`类来实现KNN算法。您可以使用自己的数据集和特征向量来测试该算法。