2019-11-10

KNN算法

[if !supportLists]1、[endif]算法介绍

KNN算法中文名称叫做K近邻算法,是众多机器学习算法里面最基础入门的算法。它是一个有监督的机器学习算法,既可以用来做分类任务也可以用来做回归任务。KNN算法的核心思想是未标记的样本的类别,由距离他最近的K个邻居投票来决定。

2、算法实现

fromsklearn import datasets

fromsklearn.model_selection import train_test_split

fromsklearn.preprocessing import StandardScaler

fromsklearn.neighbors import KNeighborsClassifier


# 获得鸢尾花的数据集

iris= datasets.load_iris()


x =iris.data

y =iris.target



# 测试集与训练集分离,测试集为20%的总数据

X_train,X_test, y_train, y_test = \

    train_test_split(iris.data, iris.target,test_size=0.2)


# 对数据进行归一化处理

standarScaler= StandardScaler()

standarScaler.fit(X_train)


X_train_std= standarScaler.transform(X_train)

X_test_std= standarScaler.transform(X_test)



# 模型训练和测试

knn_clf= KNeighborsClassifier(n_neighbors=4)

knn_clf.fit(X_train_std,y_train)

score= knn_clf.score(X_test_std, y_test)


print(score)

预测结果:


得分为100%,效果较好。

3、总结

  KNN是一个比较简单的算法,它适合在低维度空间中使用,数据量太大预测时间高,所以需要对大数据量进行一定的处理。

4、参考资料

[1]https://www.cnblogs.com/gemine/p/11130032.html

你可能感兴趣的:(2019-11-10)