sklearn 入门 demo(K邻近算法),使用的是自带的鸾尾花数据

# encoding=utf-8
import joblib
from sklearn import datasets
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import confusion_matrix

iris = datasets.load_iris()
print('数据结构: {}'.format(iris.data.shape))

# 属性 - 数据
iris_X = iris.data
# 类别 - 结果
iris_Y = iris.target

# 划分测试集和训练集
iris_train_x, iris_test_x, iris_train_y, iris_test_y = train_test_split(iris_X, iris_Y, test_size=0.2, random_state=0)

# 分类器初始化
knn = KNeighborsClassifier()

# 对训练集进行训练
knn.fit(iris_train_x, iris_train_y)

# 预测
predict_result = knn.predict(iris_test_x)

print('测试集大小:{}'.format(iris_test_x.shape))
print('真实结果: {}'.format(iris_test_y))
print('预测结果: {}'.format(predict_result))

# 准确率
knn_score = knn.score(iris_test_x, iris_test_y)
print('预测准确率: {}'.format(knn_score))

# 保存训练模型
model_name = 'knn_train_model.m'
joblib.dump(knn, model_name)
print('*' * 80)

# 加载模型
knn_model = joblib.load(model_name)

# 预测结果
predict_result = knn_model.predict(iris_test_x[0:1])
print('测试数据: {}'.format(iris_test_x[0:1][0]))
print('真实结果: {}'.format(iris_test_y[0]))
print('预测结果: {}'.format(predict_result[0]))

输出:

数据结构: (150, 4)
测试集大小:(30, 4)
真实结果: [2 1 0 2 0 2 0 1 1 1 2 1 1 1 1 0 1 1 0 0 2 1 0 0 2 0 0 1 1 0]
预测结果: [2 1 0 2 0 2 0 1 1 1 2 1 1 1 2 0 1 1 0 0 2 1 0 0 2 0 0 1 1 0]
预测准确率: 0.9666666666666667
********************************************************************************
测试数据: [5.8 2.8 5.1 2.4]
真实结果: 2
预测结果: 2

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值