机器学习--KNN算法应用,iris鸢尾花数据集的分类

数据集介绍

Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集。数据集包含150个数据样本,分为3类,每类50个数据,每个数据包含4个属性。可通过 花萼长度花萼宽度花瓣长度花瓣宽度4个属性预测鸢尾花卉属于(Setosa,Versicolour,Virginica)三个种类中的哪一类.

用KNN分类Iris数据集

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier

# K-近邻算法
# 导入数据
load_data = load_iris()
x = load_data.data
y = load_data.target

# 数据预处理,分割数据分别为训练集和测试集
x_train, x_test, y_train, y_test = train_test_split(x,y,test_size = 0.25)
# 特征工程 对训练集和测试集中的特征数据进行标准化
std = StandardScaler()
x_train = std.fit_transform(x_train)
x_test = std.transform(x_test)
# 进行算法处理,使用K-近邻
knn = KNeighborsClassifier()
# 输入训练集数据
knn.fit(x_train,y_train)
# 输入测试集,查看训练结果
result = knn.predict(x_test)
# 查看准确率
r_result = knn.score(x_test,y_test)
print("训练的结果为:",result)
print("正确的结果为:",y_test)
print("识别成功率为:",r_result)

你可能感兴趣的:(机器学习)