Python机器学习——K最近邻算法(入门)

本文介绍了Python中K最近邻(K-Nearest Neighbors, KNN)算法的基础知识和应用。通过实例展示了KNN在分类和回归任务中的使用,包括多元分类任务和回归分析。通过调整K值,优化模型以提高预测准确性。" 125955068,10800910,Python封装SNMP接口实践,"['Python开发', '网络管理', 'SNMP协议', 'PySNMP库', '接口封装']
摘要由CSDN通过智能技术生成

本文转自本人公众号,以后技术类文章以CSDN为主,微信同步更新链接
       最近报名参加了一个机器学习的训练营,是由大佬崔神和Kaggle大牛联合举办的,旨在于学习掌握机器学习的根本原理,编程语言只是一个工具,对于高数、线代要求较高,自己一方面跟着大佬学习,另一方面也看了看相关参考书,结合Python进行机器学习,作为新手,好多术语都不太了解,如题目所言,本文重在于讲述K最近邻算法在Python中的应用。
       何为K最近邻算法呢,通俗点将,近朱者赤近墨者黑,而K就是最近邻的个数。

#导入数据集生成器
from sklearn.datasets import make_blobs
#导入KNN分类器
from sklearn.neighbors import KNeighborsClassifier
# 导入画图工具
import matplotlib.pyplot as plt
# 导入数据集拆分工具
from sklearn.model_selection import train_test_split
# 生成样本数为200,分类为2,随机种子为8的数据集
data = make_blobs(n_samples=200,centers=2,random_state=8)
X,y = data
# 将生成的数据集进行可视化
plt.scatter(X[:,0],X[:,1],c=y,cmap=plt.cm.spring,edgecolors='k')
plt.show()

       在这段代码中,我们用scikit-learn的make_blobs函数生成了一个样本数量为200,分类数量为2的数据集,并赋值给X,y,其中二者皆为矩阵,y的数值均为0和1,代表两类,结果如图所示:

这是我们自己生成的数据,我们腰通过K最近邻算法对新的数据进行分类,也就是回归。

import numpy as np
clf = KNeighborsClassifier()
clf.fit(X,y)

x_min,x_max = X[:,0].min() - 1,X[:,0].max() + 1
y_min,y_max = X[:,1].min() - 1,X[:,1].max() + 1
xx,yy = np.meshgrid(np.arange(x_min,x_max,.02),
                  np.arange(y_min,y_max,.02))
Z = clf.predict(np.c_[xx.ravel(),yy.ravel()])
Z = Z.reshape(xx.shape)
plt.pcolormesh(xx,yy,Z,cmap=plt.cm.spring)
plt.scatter(X[:,0],X[:,1
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值