【机器学习】鸢尾花分类-逻辑回归示例

这篇具有很好参考价值的文章主要介绍了【机器学习】鸢尾花分类-逻辑回归示例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这段代码是一个完整的示例,展示了如何使用逻辑回归对鸢尾花数据集进行训练、保存模型,并允许用户输入数据进行预测。以下是对这段代码的总结:

功能: 这段代码演示了如何使用逻辑回归对鸢尾花数据集进行训练,并将训练好的模型保存到文件中。然后,它允许用户输入新的鸢尾花特征数据,使用保存的模型进行预测,并输出预测结果。

步骤概述:

  1. 加载数据和预处理: 使用 Scikit-Learn 中的 datasets 模块加载鸢尾花数据集,并提取前两个特征。然后,划分数据集为训练集和测试集,并对特征数据进行标准化处理。

  2. 训练和保存模型: 创建逻辑回归模型,并在训练集上训练模型。训练完成后,使用 joblib 库将训练好的模型保存到文件中。

  3. 预测: 使用保存的模型,接受用户输入的鸢尾花特征数据(花萼长度和花萼宽度),将其组织成特征向量,然后进行预测。

  4. 结果输出: 根据预测结果输出对应的分类标签,指示预测的鸢尾花属于 Setosa 类别还是非 Setosa 类别(Versicolor 或 Virginica)。

使用方法: 运行代码后,它会首先训练模型并将其保存。然后,你可以输入新的鸢尾花特征数据以进行预测,系统将输出预测结果。

注意事项: 这个示例使用了 joblib 库来保存和加载模型,你也可以使用其他库如 pickle。此外,这个示例演示了逻辑回归在一个简单数据集上的应用,实际应用中可能需要更多的数据处理、模型调优和评估步骤。

import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
import joblib  # 用于保存和加载模型
def train_logistic_regression():
    # 加载鸢尾花数据集
    iris = datasets.load_iris()
    # 只使用前两个特征以方便可视化
    X = iris.data[:, :2]  
    # 将标签转换为二分类问题
    y = (iris.target != 0).astype(int)  

    # 划分数据集为训练集和测试集
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

    # 特征标准化
    scaler = StandardScaler()
    X_train = scaler.fit_transform(X_train)
    X_test = scaler.transform(X_test)

    # 创建逻辑回归模型
    model = LogisticRegression()

    # 在训练集上训练模型
    model.fit(X_train, y_train)

    # 保存训练好的模型
    joblib.dump(model, 'logistic_regression_model.pkl')

def predict_with_saved_model():
    # 加载保存的模型
    model = joblib.load('logistic_regression_model.pkl')

    # 用户输入特征数据
    sepal_length = float(input("Enter sepal length: "))
    sepal_width = float(input("Enter sepal width: "))
    input_data = np.array([[sepal_length, sepal_width]])

    # 进行预测
    prediction = model.predict(input_data)

    if prediction[0] == 0:
        print("Predicted class: Setosa")
    else:
        print("Predicted class: Non-Setosa (Versicolor or Virginica)")

# 训练模型并保存
train_logistic_regression()

# 使用保存的模型进行预测
predict_with_saved_model()

输出结果:

Enter sepal length: 5
Enter sepal width: 7
Predicted class: Non-Setosa (Versicolor or Virginica)

备注

在这个示例中,sepal length(花萼长度)和 sepal width(花萼宽度)是用于输入的特征。这些特征是鸢尾花数据集中的两个测量值。这些测量值的单位是厘米(cm)。

对于鸢尾花数据集中的这两个特征,以下是一些参考值范围:

sepal length: 大约为 4.3 至 7.9 厘米。
sepal width: 大约为 2.0 至 4.4 厘米。
请注意,这些参考值是基于鸢尾花数据集的统计信息,并且会根据具体数据而有所变化。当你输入新的花萼长度和花萼宽度值进行预测时,请确保输入的值在合理的范围内。文章来源地址https://www.toymoban.com/news/detail-685265.html


到了这里,关于【机器学习】鸢尾花分类-逻辑回归示例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器学习-KNN算法(鸢尾花分类实战)

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 K近邻(K Nearest Neighbors,KNN)算法是最简单的分类算法之一,也就是根据现有训练数据判断输入样本是属于哪一个类别。 “近朱者赤近墨者黑\\\",所谓的K近邻,也就

    2023年04月08日
    浏览(63)
  • 机器学习:KNN算法对鸢尾花进行分类

    1.算法概述 KNN(K-NearestNeighbor)算法经常用来解决分类与回归问题, KNN算法的原理可以总结为\\\"近朱者赤近墨者黑\\\",通过数据之间的相似度进行分类。就是通过计算测试数据和已知数据之间的距离来进行分类。 如上图,四边形代表测试数据,原型表示已知数据,与测试数据最

    2024年02月09日
    浏览(38)
  • 机器学习实验3——支持向量机分类鸢尾花

    基于鸢尾花数据集,完成关于支持向量机的分类模型训练、测试与评估。 代码 认识数据 属性:花萼长度,花萼宽度,花瓣长度,花瓣宽度 分类:Setosa,Versicolour,Virginica 相关性分析 如下图,可以直观看到花瓣宽度(Petal Width)和花瓣长度(Petal Length)存在很高的正相关性,

    2024年01月24日
    浏览(27)
  • PyTorch深度学习实战 | 基于线性回归、决策树和SVM进行鸢尾花分类

    鸢尾花数据集是机器学习领域非常经典的一个分类任务数据集。它的英文名称为Iris Data Set,使用sklearn库可以直接下载并导入该数据集。数据集总共包含150行数据,每一行数据由4个特征值及一个标签组成。标签为三种不同类别的鸢尾花,分别为:Iris Setosa,Iris Versicolour,Iri

    2023年04月10日
    浏览(31)
  • 【机器学习实例讲解】机器学习-鸢尾花数据集多分类第02课

    问题定义与理解: 明确机器学习任务的目标,是分类、回归、聚类、强化学习还是其他类型的问题。 确定业务背景和需求,了解所处理数据的现实意义。 数据收集: 根据任务目标从各种来源获取原始数据,可以是数据库、文件、传感器、网络日志等。 数据预处理: 数据清

    2024年01月18日
    浏览(28)
  • 【机器学习案例】不同的模型算法对鸢尾花数据集进行分类

    经典机器学习入门项目,使用逻辑回归、线性判别分析、KNN、分类与回归树、朴素贝叶斯、向量机、随机森林、梯度提升决策树对不同占比的训练集进行分类 数据源 :Iris Species | Kaggle 150行,5列,分三种鸢尾花类型,每种类型50个样本,每行数据包含花萼长度、花萼宽度、花

    2024年02月04日
    浏览(26)
  • 初识机器学习——感知机(Perceptron)+ Python代码实现鸢尾花分类

      假设输入空间 χ ⊆ R n chisubseteq R^n χ ⊆ R n ,输出空间为 γ = { + 1 , − 1 } gamma=left { +1,-1right } γ = { + 1 , − 1 } 。其中每一个输入 x ⊆ χ xsubseteq chi x ⊆ χ 表示对应于实例的特征向量,也就是对应于输入空间(特征空间)的一个点, y ⊆ γ ysubseteq gamma y ⊆ γ 输出表

    2023年04月08日
    浏览(38)
  • 【机器学习】决策树案例二:利用决策树进行鸢尾花数据集分类预测

    手动反爬虫,禁止转载: 原博地址 https://blog.csdn.net/lys_828/article/details/122045161(CSDN博主:Be_melting) 在进行逻辑回归分类的过程中已经有使用过iris数据集,这里直接加载数据,并进行字段名称的修改。 输出结果如下。 通过info()方法查看各个字段的基本详情,输出结果如下。

    2024年02月08日
    浏览(32)
  • 机器学习---使用 TensorFlow 构建神经网络模型预测波士顿房价和鸢尾花数据集分类

    1. 预测波士顿房价 1.1 导包 最后一行设置了TensorFlow日志的详细程度: tf.logging.DEBUG :最详细的日志级别,用于记录调试信息。 tf.logging.INFO :用于记录一般的信息性消息,比如训练过程中的指标和进度。 tf.logging.WARN :用于记录警告消息,表示可能存在潜在问题,但不会导致

    2024年02月08日
    浏览(34)
  • 机器学习与深度学习——通过knn算法分类鸢尾花数据集iris求出错误率并进行可视化

    什么是knn算法? KNN算法是一种基于实例的机器学习算法,其全称为K-最近邻算法(K-Nearest Neighbors Algorithm)。它是一种简单但非常有效的分类和回归算法。 该算法的基本思想是:对于一个新的输入样本,通过计算它与训练集中所有样本的距离,找到与它距离最近的K个训练集样

    2024年02月03日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包