机器学习实战:Python基于Logistic逻辑回归进行分类预测(一)
2024.01.29 09:28浏览量:6简介:本文将介绍如何使用Python和scikit-learn库实现基于Logistic逻辑回归的分类预测。我们将通过一个简单的例子来展示如何训练模型、评估性能,并使用模型进行预测。
千帆应用开发平台“智能体Pro”全新上线 限时免费体验
面向慢思考场景,支持低代码配置的方式创建“智能体Pro”应用
在机器学习中,逻辑回归是一种广泛使用的分类方法。它通过拟合一个逻辑函数来预测一个二元分类的结果。在Python中,我们可以使用scikit-learn库轻松地实现逻辑回归。在本系列文章中,我们将逐步介绍如何使用Python和scikit-learn库实现基于Logistic逻辑回归的分类预测。
一、导入所需的库
在开始之前,我们需要导入一些必要的库。我们将使用numpy来处理数组和矩阵运算,使用pandas来处理数据帧,并使用matplotlib进行数据可视化。scikit-learn库则用于实现逻辑回归。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn import metrics
二、加载数据
我们将使用Iris数据集作为示例数据。这个数据集包含了150个样本,每个样本有四个特征(萼片长度、萼片宽度、花瓣长度和花瓣宽度)和一个标签(花的种类)。我们将使用前两个特征作为输入特征,标签作为输出特征。
data = pd.read_csv('iris.csv')
X = data[['sepal_length', 'sepal_width']] # 输入特征
Y = data['species'] # 输出特征
三、数据预处理
在训练模型之前,我们需要对数据进行一些预处理。首先,我们需要将分类标签转换为数值形式,以便于模型训练。然后,我们需要将数据划分为训练集和测试集。
# 将分类标签转换为数值形式
Y = pd.factorize(Y)[0]
# 划分训练集和测试集
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, random_state=42)
四、训练模型
现在,我们可以使用训练数据来训练逻辑回归模型了。我们将使用默认的参数初始化模型,然后使用训练数据拟合模型。
# 初始化模型
model = LogisticRegression(random_state=42)
# 拟合模型
model.fit(X_train, Y_train)
五、评估模型性能
训练好模型后,我们需要评估它的性能。我们可以通过计算模型的准确率、精确度、召回率和F1分数等指标来评估模型的性能。在scikit-learn库中,我们可以使用metrics模块提供的函数来计算这些指标。
# 预测测试集结果
Y_pred = model.predict(X_test)
# 计算评价指标
a = metrics.accuracy_score(Y_test, Y_pred)
p = metrics.precision_score(Y_test, Y_pred)
r = metrics.recall_score(Y_test, Y_pred)
f1 = metrics.f1_score(Y_test, Y_pred)
pprint('Accuracy: {:.2f}%'.format(a * 100))
pprint('Precision: {:.2f}%'.format(np * 100))
pprint('Recall: {:.2f}%'.format(r * 100))
pprint('F1 Score: {:.2f}%'.format(f1 * 100))

发表评论
登录后可评论,请前往 登录 或 注册