使用make_blob,KNeighborsClassifier-K近邻算法进行分类
Posted 程序媛一枚~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用make_blob,KNeighborsClassifier-K近邻算法进行分类相关的知识,希望对你有一定的参考价值。
1. 效果图
输入
100
5
3
7
得到结果
[2]
可视化效果图如下:待预测点红色x展示,
输入
88
2
1
9
得到结果:
[1]
可视化效果图如下:待预测点红色x展示,
2. 源码
# KNeighborsClassifier进行分类demo
# python KmeansClassify.py
# -*- coding: utf-8 -*-
import numpy as np
from sklearn.datasets import make_blobs
from sklearn.neighbors import KNeighborsClassifier
# 请在此添加代码 完成本关任务
#
# ********** Begin *********#
samples = eval(input())
state = eval(input())
feature1 = eval(input())
feature2 = eval(input())
X, y = make_blobs(n_samples=samples, random_state=state)
knn = KNeighborsClassifier()
knn.fit(X, y)
X_sample = [feature1, feature2]
X_sample = np.array(X_sample).reshape(1, -1)
print(knn.predict(X_sample))
# ********** End **********#
# 绘图看一下
from matplotlib import pyplot as plt
neighbors = knn.kneighbors(X_sample, return_distance=False) # 求出邻居节点,默认求的是5个
plt.figure(figsize=(16, 10))
plt.scatter(X[:, 0], X[:, 1], s=100, cmap='cool') # 样本
plt.scatter(X_sample[0][0], X_sample[0][1], marker="x",
s=100, cmap='cool') # 待预测的点
for i in neighbors[0]:
# 预测点与距离最近的 5 个样本的连线
plt.plot([X[i][0], X_sample[0][0]], [X[i][1], X_sample[0][1]],
'k--', linewidth=0.6);
plt.show()
参考
- https://blog.csdn.net/wzk4869/article/details/126744005
- https://blog.csdn.net/u011630575/article/details/79195450
- https://blog.csdn.net/qq_39309652/article/details/90382868
以上是关于使用make_blob,KNeighborsClassifier-K近邻算法进行分类的主要内容,如果未能解决你的问题,请参考以下文章
使用 python 和 scikit-learn 的 DBSCAN:make_blobs 返回的整数标签到底是啥?
from sklearn.datasets import make_blobs:聚类数据生成器
python使用sklearn中的make_blobs函数生成聚类(clustering)分析需要的仿真数据matplotlib可视化生成的仿真数据
python使用sklearn中的make_blobs函数生成聚类(clustering)分析需要的仿真数据matplotlib可视化生成的仿真数据