KNN-K近邻算法

KNN: k-NearestNeighbor(K个最近邻)
KNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。

一句话描述:人以群分,物以类聚

sklearn相关的代码
from sklearn.neighbors import KNeighborsRegressor
from sklearn.metrics import mean_squared_error

knn = KNeighborsRegressor()
knn.fit(X_train,Y) #模型训练
predictions = knn.predict(X_test) #模型预测

mse = mean_squared_error(Y_test,  predictions)#用均方根误差rmse评估模型
rmse = more_features_mse**(1/2)

sklearn.neighbors.KNeighborsRegressor
The target is predicted by local interpolation of the targets associated of the nearest neighbors in the training set.

fit(self, X, y)
Fit the model using X as training data and y as target values

predict(self, X)
Predict the target for the provided data

KNN算法优点

模型简单,不需要训练模型

KNN算法缺点

效率低,耗时(会把当前样本,和训练集所有样本都对比计算一遍)
对训练数据依赖度特别大,对训练数据的容错性太差。(如果训练数据集中,有一两个数据是错误的,刚刚好又在需要分类的数值的旁边,这样就会直接导致预测的数据的不准确.)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值