机器学习算法:KNN(k-近邻)| python和r语言代码实现
KNN(k近邻)
可以用来解决分类和回归问题。但它在工业分类问题上应用更为广泛。 K 最近邻是一种简单的算法,它存储所有可用案例并通过 k 个邻居的多数投票对新案例进行分类。分配给一个类的状态通常是根据 K 个最近邻居之间的距离来衡量的。
这些距离函数可以是欧几里得距离、曼哈顿距离、Minkowski距离和儒家距离。前三个函数用于连续函数,第四个(Hamming)用于分类变量。如果 k = 1,则将案例简单地分配给最近邻类。有时,选择 K 可能是 KNN 建模中的一个挑战。
KNN 可以轻松映射到我们的现实生活中。如果你想认识一个你不认识的人,你可能想调查他们的亲密朋友和社交圈并了解他们!
选择 KNN 之前要考虑的事项:
- KNN 的计算成本很高
- 变量应该标准化,否则较高范围的变量会扭曲它。
- 在 KNN 异常值和去噪之前执行预处理步骤
Python 代码
#Import Library
from sklearn.neighbors import KNeighborsClassifier
#Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset
# Create KNeighbors classifier object model
KNeighborsClassifier(n_neighbors=6) # default value for n_neighbors is 5
# Train the model using the training sets and check score
model.fit(X, y)
#Predict Output
predicted= model.predict(x_test)
R 代码
library(knn)
x <- cbind(x_train,y_train)
# Fitting model
fit <-knn(y_train ~ ., data = x,k=5)
summary(fit)
#Predict Output
predicted= predict(fit,x_test) 版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网