您的位置:首页 > 游戏 > 游戏 > 网页文件打印乱码_拍摄公司形象宣传片_seo优化方式_网站推广怎么优化

网页文件打印乱码_拍摄公司形象宣传片_seo优化方式_网站推广怎么优化

2025/1/6 11:52:40 来源:https://blog.csdn.net/HappyAcmen/article/details/144747117  浏览:    关键词:网页文件打印乱码_拍摄公司形象宣传片_seo优化方式_网站推广怎么优化
网页文件打印乱码_拍摄公司形象宣传片_seo优化方式_网站推广怎么优化

一、什么是逻辑回归?

逻辑回归并不是传统意义上的回归分析,而是一种用于处理二分类问题的线性模型。它通过计算样本属于某一类别的概率来进行分类,尽管名字中有“回归”二字,但它实际上是一种分类算法。简单来说,逻辑回归回答的是“这件事发生的可能性有多大”。

二、逻辑回归的基本原理

在讲原理之前,我们先来了解一下逻辑回归的数学基础。逻辑回归的核心是一个Logistic函数(或称为Sigmoid函数),它的公式如下:

[ g(z) = \frac{1}{1 + e^{-z}} ]

其中,( z = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + … + \beta_n x_n ),( \beta )是回归系数,( x )是独立变量。

这个函数的特点是,当输入值趋向负无穷时,输出为0;当输入值趋向正无穷时,输出为1;当输入值为0时,输出为0.5。这种形状使得逻辑回归非常适合用于概率估计。

三、Python代码实现逻辑回归

接下来,让我们通过Python代码来实现一个简单的逻辑回归。我们将使用scikit-learn库,这是一个强大的机器学习库。

在导入必要的库之前,我们得检查自己python环境是否OK?
如果还没有安装的话,可以看我之前的文章:环境安装

1.导入必要的库

import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score
import matplotlib.pyplot as plt

2.加载数据集

这里我们以著名的鸢尾花(Iris)数据集为例,它包含了150个样本和4个特征。

from sklearn.datasets import load_iris
data = load_iris()
X = data.data
y = data.target

3.拆分数据集为训练集和测试集

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

4.创建逻辑回归模型并进行训练

model = LogisticRegression(max_iter=1000)
model.fit(X_train, y_train)

5.进行预测并评估模型

y_pred = model.predict(X_test)
print("准确率:", accuracy_score(y_test, y_pred))
print("精确率:", precision_score(y_test, y_pred, average='macro'))
print("召回率:", recall_score(y_test, y_pred, average='macro'))
print("F1分数:", f1_score(y_test, y_pred, average='macro'))

6.可视化决策边界

为了更直观地了解逻辑回归的决策过程,我们可以绘制决策边界。以下是二维数据的可视化示例:

def plot_decision_boundary(model, X, y):h = .02  # step size in the meshx_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))Z = model.predict(np.c_[xx.ravel(), yy.ravel()])Z = Z.reshape(xx.shape)plt.contourf(xx, yy, Z, alpha=0.8)plt.scatter(X[:, 0], X[:, 1], c=y, edgecolors='k', marker='o')plt.show()plot_decision_boundary(model, X_test, y_test)

好了本节内容分享大概就是这些了!

以上代码将帮助我们理解逻辑回归是如何通过决策边界区分不同类别的。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com