《机器学习》——鸢尾花学习小结

《机器学习》——鸢尾花学习小结

前言

**已知:**一组鸢尾花数据:花瓣的长度x1,宽度x2,花萼的长度x3和宽度x4以及鸢尾花的品种Y。
**目标:**通过机器学习算法对已知x1,x2,x3,x4数值的鸢尾花品种进行分类。

部分数据如下:
5.1,3.5,1.4,0.2分别为x1,x2,x3,x4数值,Iris-setosa为Y值
注:5.1,3.5,1.4,0.2分别为x1,x2,x3,x4数值,Iris-setosa为Y值

代码

一、导入数据
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris
import pandas as pd

#导入数据
iris_dataset = load_iris()
X_train, X_test, y_train, y_test = train_test_split(
 iris_dataset['data'], iris_dataset['target'], random_state=0)#train_test_split 函数利用伪随机数生成器将数据集打乱
print("X_train shape: {}".format(X_train.shape))#输出X_train矩阵的大小

输出: X_train shape: (112, 4)

二、观察数据
#画图
iris_dataframe = pd.DataFrame(X_train, columns=iris_dataset.feature_names)
grr = pd.plotting.scatter_matrix(iris_dataframe, c=y_train, figsize=(15, 15), marker='o',
 hist_kwds={'bins': 20}, s=60, alpha=.8)

输出:在这里插入图片描述
注:部分截图

三、构建knn聚类
from sklearn.neighbors import KNeighborsClassifier
import numpy as np

#训练数据
knn = KNeighborsClassifier(n_neighbors=1)
knn.fit(X_train, y_train)

#预测结果
X_new = np.array([[5, 2.9, 1, 0.2]])
prediction = knn.predict(X_new)
print("Predicted target name: {}".format(iris_dataset['target_names'][prediction]))

输出:Predicted target name: [‘setosa’]

四、给出预测精度
y_pred = knn.predict(X_test)
print("Test set predictions:\n {}".format(y_pred))
print("Test set score: {:.2f}".format(knn.score(X_test, y_test)))#计算正确率

输出:Test set predictions:
[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 2 1 0
2]
Test set score: 0.97

五、参考书目

图灵程序设计丛书《python机器学习基础教程》

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想飞天的大鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值