逻辑回归对经典鸢尾花数据集进行三分类预测

import numpy as np
from sklearn import datasets
from sklearn.linear_model import LogisticRegression
import matplotlib.pyplot as plt

iris = datasets.load_iris()  #获取鸢尾花数据集
#获取数据集的全部行,但只取其第四列即花瓣长度
X = iris['data'][:, 3:]
#获取数据集的目标值
y = iris['target']

#实例化一个逻辑回归对象
log_reg = LogisticRegression(multi_class='ovr', solver='sag')

#传入数据训练
log_reg.fit(X, y)

#生成一个长度为1000的等差序列,其值在0,3之间均匀分布,用于模拟测试数据
X_new = np.linspace(0, 3, 1000).reshape(-1, 1)

y_proba = log_reg.predict_proba(X_new)   #预测概率值
y_hat = log_reg.predict(X_new)    #预测分类号

#绘制花瓣长度和各类别之间的关系曲线
plt.plot(X_new, y_proba[:, 2], 'g-', label='Iris-Virginica')
plt.plot(X_new, y_proba[:, 1], 'r-', label='Iris-Versicolour')
plt.plot(X_new, y_proba[:, 0], 'b--', label='Iris-Setosa')
plt.show()

#预测花瓣长度为1.7和1.5的鸢尾花类别
print(log_reg.predict([[1.7], [1.5]]))

绘制图形如下:
在这里插入图片描述
输出结果如下:
[2 1]

Process finished with exit code 0

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值