当前位置: 首页 > news >正文

搞笑网站模板为什么要建设外贸网站

搞笑网站模板,为什么要建设外贸网站,郑州手机网站建设公司,长沙房地产新闻1. 逻辑回归简介 逻辑回归是一种线性分类模型,常用于二分类问题。它通过学习特征权重,将输入映射为0 到 1 之间的概率值,并根据阈值将样本归入某一类别。逻辑回归使用Sigmoid 函数将线性结果转化为概率。 尽管名字中有“回归”,…

1. 逻辑回归简介

逻辑回归是一种线性分类模型,常用于二分类问题。它通过学习特征权重,将输入映射为0 到 1 之间的概率值,并根据阈值将样本归入某一类别。逻辑回归使用Sigmoid 函数将线性结果转化为概率。

尽管名字中有“回归”,但逻辑回归主要是用于分类任务


2. 数学公式

预测函数

逻辑回归的预测公式为: h_\theta(x) = \frac{1}{1 + e^{-\theta^T x}}

  • x 为输入特征向量;
  • θ 为参数向量;
  • h_\theta(x) 表示样本属于正类的概率。
损失函数

逻辑回归的损失函数是对数损失函数(Log Loss)

J(\theta) = -\frac{1}{m} \sum_{i=1}^{m} \left[ y^{(i)} \log(h_\theta(x^{(i)})) + (1 - y^{(i)}) \log(1 - h_\theta(x^{(i)})) \right]

  • m 为样本数量;
  • y^{(i)} 为真实标签(0 或 1);
  • h_\theta(x^{(i)}) 为第 i 个样本的预测概率。
  • θ 为权重参数。

3. 示例代码

这里用 Python + scikit-learn 实现逻辑回归模型:

示例任务:使用鸢尾花数据集进行分类
# 导入必要的库
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
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, classification_report# 1. 加载数据集
iris = load_iris()
X = iris.data[:, :2]  # 选取前两个特征便于可视化
y = (iris.target != 0).astype(int)  # 转换成二分类问题(是否为第一类)# 2. 数据预处理
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
scaler = StandardScaler()  # 标准化特征
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)# 3. 训练逻辑回归模型
model = LogisticRegression()
model.fit(X_train, y_train)# 4. 预测并评估
y_pred = model.predict(X_test)
print("模型准确率:", accuracy_score(y_test, y_pred))
print("分类报告:\n", classification_report(y_test, y_pred))# 5. 可视化决策边界
def plot_decision_boundary(X, y, model):h = 0.01x_min, x_max = X[:, 0].min() - 0.5, X[:, 0].max() + 0.5y_min, y_max = X[:, 1].min() - 0.5, X[:, 1].max() + 0.5xx, 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.xlabel("Feature 1")plt.ylabel("Feature 2")plt.title("Logistic Regression Decision Boundary")plt.show()plot_decision_boundary(X_test, y_test, model)


4. 代码说明

  1. 加载数据集

    • load_iris() 加载鸢尾花数据集,将标签转换为二分类问题(0 或 1)。
  2. 数据预处理

    • 使用 StandardScaler 对特征标准化,使其均值为 0,方差为 1。
  3. 模型训练

    • 使用 LogisticRegression 训练逻辑回归模型。
  4. 模型评估

    • 使用 accuracy_scoreclassification_report 评估模型性能。
  5. 可视化

    • 绘制逻辑回归的决策边界

5. 模型分析与扩展

优点
  • 输出概率值,具有良好的可解释性;
  • 计算简单,训练速度快;
  • 适合线性可分问题。
缺点
  • 对于复杂的非线性关系表现不佳;
  • 容易受到异常值的影响。
扩展
  • 多分类逻辑回归:通过 multi_class='multinomial'solver='lbfgs' 参数,逻辑回归可以实现多分类。
  • 正则化penalty 参数可设置 L1(Lasso)或 L2(Ridge)正则化来防止过拟合。

6. 进一步提升

  • 特征工程:创建更多有效的特征,如多项式特征。
  • 正则化:合理设置正则化参数 C 以控制模型复杂度。
  • 非线性模型:如果逻辑回归效果不佳,可以尝试更复杂的非线性模型,如 SVM 或神经网络。

逻辑回归模型输入数据格式

LogisticRegression 模型来自 scikit-learn 库,fit(X_train, y_train) 方法用于训练模型。这里的 X_trainy_train 是输入特征和标签,要求的数据格式如下:


1. X_train(特征矩阵)

  • 类型numpy.ndarraypandas.DataFrame 或其他可被转换为 NumPy 数组的格式。
  • 形状(n_samples, n_features)
    • n_samples:样本数量(行数)。
    • n_features:每个样本的特征数量(列数)。
示例

如果有 100 个样本,每个样本有 4 个特征,那么 X_train 的形状为 (100, 4)

X_train = np.array([[5.1, 3.5, 1.4, 0.2],[4.9, 3.0, 1.4, 0.2],...  # 省略其他样本])

2. y_train(标签向量)

  • 类型numpy.ndarraypandas.Series 或其他可被转换为一维数组的格式。
  • 形状(n_samples,)
    • n_samples:标签数量,必须与 X_train 的样本数量相同。
值的范围
  • 二分类问题时,y_train 通常为 0 或 1;
  • 多分类问题时,y_train 为类别索引(如 0、1、2 等整数)。
示例

如果有 100 个样本,y_train 为长度为 100 的一维数组:

y_train = np.array([0, 1, 0, 1, 1, 0, ...])

3. 输入数据注意事项

  1. 缺失值

    • X_train 不允许有缺失值(NaN),可以使用 SimpleImputer 等方法填充缺失值。
  2. 数据类型

    • 输入数据最好为浮点型。可以通过 X_train.astype(float) 将数据转换为 float 类型。
  3. 标准化/归一化

    • 对特征进行标准化或归一化可以加快模型收敛速度,尤其是当特征值的量级差距较大时。

4. 示例代码

以下是完整的数据格式示例:

import numpy as np
from sklearn.linear_model import LogisticRegression# 示例数据
X_train = np.array([[5.1, 3.5, 1.4, 0.2],[4.9, 3.0, 1.4, 0.2],[4.7, 3.2, 1.3, 0.2]])
y_train = np.array([0, 1, 0])  # 标签对应样本类别# 模型训练
model = LogisticRegression()
model.fit(X_train, y_train)

5. 输出

  • 训练后的模型:保存了特征权重 theta,可以通过 model.coef_ 查看;
  • 预测新数据:调用 model.predict(X_test),输入格式同 X_train

总结:X_train 为二维矩阵,y_train 为一维向量,并且二者的样本数量需要一致。如果数据有问题(如缺失值或数据类型不匹配),需要在训练前进行预处理。

http://www.yayakq.cn/news/612258/

相关文章:

  • 邯郸做网站的连连跨境电商网站怎么做
  • 网站建设规划书万能住房和城乡建设部科技网站首页
  • 旅游网站建设的背景宠物用品网站建设
  • 类似于淘宝的网站建设方案wordpress 音频播放
  • 自己做淘宝优惠券网站搭建什么网站能盈利
  • 吕梁网站设计苏州企业网站制作设计公司
  • 广元市建设局网站启动互联全网营销推广
  • 短网址在线生成工具泉州优化seo网站关键词优化
  • iis安装好了 网站该怎么做北京建网站多少钱
  • 深圳推广公司网站建设书模板合肥搜索引擎优化
  • 怎么制作美篇教程seo优质友链购买
  • 深圳做网站专业公司企业网站优化关键词
  • 未备案网站 赚钱如何编辑网站内容
  • 专业商城网站制作公司南京著名网站制作
  • 大连云建站模板网站如何加入百度网盟
  • 前端做一个网站需要些什么软件潍坊网站制作公司哪家比较好
  • 做家具的网站有哪些深圳品牌咨询公司
  • 网站改版规则外贸网站如何做推广电话
  • 金融企业网站制作wordpress设置静态访问
  • dw做的网站怎样做成手机版的wordpress随机调用页面
  • 怎么建个废品网站电影手机网站建设
  • 游戏网站模板源码wordpress的代码在哪里修改
  • 雷电模拟器手机版下载官方网站线上企业订单管理系统网站
  • 淘客网站怎么建立wordpress 缩略图地址
  • 昆明做网站魄罗科技网站建设拷贝软件
  • 企业网站推广费用网站快速备案多少钱认证
  • wordpress 图片调用代码深圳网站优化计划
  • 做网站手机验证收费吗成都网站建设推来客熊掌号
  • 获取网站访客qq信息阳泉软件定制网站建设
  • 官方网站的域名阳城seo排名