#coding:utf-8
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
import numpy as np
import matplotlib.pyplot as plt
iris_dataset = load_iris() # 获取数据
# print("keys of iris_dataset:n{}".format(iris_dataset.keys()))
# print(iris_dataset["DESCR"][:193]+"n...")
# print("target names:{}".format(iris_dataset["target_names"]))
# print("feature names:{}".format(iris_dataset["feature_names"]))
# print(iris_dataset["data"][:5])
# print(iris_dataset["data"], iris_dataset["target"])
# 对数据进行拆分,分为训练数据和测试数据
x_train, x_test, y_train, y_test = train_test_split(iris_dataset["data"], iris_dataset["target"], random_state=0)
# print(x_train, x_test, y_train, y_test)
knn = KNeighborsClassifier(n_neighbors=1) # 获取KNN对象
knn.fit(x_train, y_train) # 训练模型
# 评估模型
y_pre = knn.predict(x_test)
score = knn.score(x_test, y_test) # 调用打分函数
print("test set predictions:n{}".format(y_test))
print("test set score:{:.2f}".format(score))
if score > 0.9:
x_new = np.array([[5, 2.9, 1, 0.3]])
print("x_new.shape:{}".format(x_new.shape))
prediction = knn.predict(x_new) # 预测
print("prediction:{}".format(prediction))
print("predicted target name:{}".format(iris_dataset["target_names"][prediction]))
# 可视化展示
plt.title("KNN Classification")
plt.plot(x_train, y_train, "b.") # 训练数据打点
plt.plot(x_test, y_test, "y.") # 测试数据打点
plt.plot(x_new, prediction, "ro") # 预测数据打点
plt.show()
else:
print("used train or test data is not available !")
相关知识
卷积神经网络实现鸢尾花数据分类python代码实现
python 使用Tensorflow训练BP神经网络实现鸢尾花分类
Python实现C4.5决策树在鸢尾花数据集上的分类应用
Python sklearn实现SVM鸢尾花分类
手把手教你学Python之鸢尾花分类(scikit
KNN鸢尾花分类
Python 基于BP神经网络的鸢尾花分类
用Python实现简单机器学习模型:以鸢尾花数据集为例
鸢尾花分类——Python机器学习起步
鸢尾花数据分类,通过Python实现KNN分类算法。
网址: Python鸢尾花分类实现 https://m.huajiangbk.com/newsview1842694.html
上一篇: Python鸢尾花分类:朴素贝叶 |
下一篇: 鸢尾花分类:softmax与深度 |