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

CART算法解密:从原理到Python实现

目录

  • 一、简介
    • CART算法的背景
      • 例子:医疗诊断
    • 应用场景
      • 例子:金融风控
    • 定义与组成
      • 例子:电子邮件分类
  • 二、决策树基础
    • 什么是决策树
      • 例子:天气预测
    • 如何构建简单的决策树
      • 例子:动物分类
    • 决策树算法的类型
      • 例子:垃圾邮件分类
  • 三、CART算法详解
    • 特点和优势
      • 例子:房价预测
    • 构建CART决策树
      • 例子:学生分级
    • 树剪枝
      • 例子:电子商务产品推荐
  • 四、Python实战
    • 场景描述:银行贷款审批
    • 输入和输出
    • 数据预处理
    • CART模型构建
    • 模型评估
  • 五、优缺点
    • 优点
      • 1. 灵活性高
      • 2. 易于理解和解释
      • 3. 可以处理缺失值和异常值
    • 缺点
      • 1. 容易过拟合
      • 2. 对于非线性关系不如其他算法强大
  • 六、应用场景
    • 1. 医疗诊断
    • 2. 金融风控
    • 3. 市场分析
    • 4. 自然资源保护
    • 5. 工业生产
  • 七、总结

本文深入探讨了CART(分类与回归树)算法的核心原理、实现方法以及应用场景。文章首先介绍了决策树的基础知识,然后详细解析了CART算法的工作机制,包括特征选择和树的构建。接着,通过Python和PyTorch的实例代码展示了CART算法在实际问题中的应用。最后,文章评价了该算法的优缺点,并讨论了其在不同领域如医疗、金融和市场分析中的应用潜力。

关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。

file

一、简介

CART(Classification and Regression Trees)算法是一种用于分类和回归任务的决策树模型。这一模型由Breiman等人于1986年提出,现如今已广泛应用于各种数据挖掘任务和机器学习问题。

CART算法的背景

CART算法是基于决策树的一种扩展。决策树模型作为一种可解释性极强的模型,很早就得到了广泛的应用。CART算法不仅具有决策树所有的优点,还引入了更多高级的优化技巧,如基尼不纯度、树剪枝等。

例子:医疗诊断

在医疗诊断领域,决策树可用于根据一系列病症(特征)来预测疾病(标签)。CART算法则可以进一步优化这一过程,通过剪枝避免过拟合,提高模型的泛化能力。

应用场景

CART算法在多个领域有着广泛的应用,包括但不限于:

  • 数据挖掘
  • 自然语言处理
  • 图像识别
  • 金融风控

例子:金融风控

在金融风控领域,CART算法可以用于评估用户的信用等级。通过对用户的年龄、收入、消费习惯等特征进行分析,模型可以预测该用户是否有违约的风险。

定义与组成

CART算法基本上由三个主要组成部分:

  1. 决策树构建:使用训练数据创建一个决策树。
  2. 树剪枝:通过删除决策树的某些部分以防止过拟合。
  3. 决策与预测:使用构建和剪枝后的决策树进行数据分类或回归预测。

例子:电子邮件分类

假设你想构建一个电子邮件分类器来区分垃圾邮件和正常邮件。CART算法首先会通过观察电子邮件的特征(如发件人、主题、邮件内容中的关键词等)来构建一个决策树。然后,它可能会删除决策树中一些不必要或过于复杂的节点(剪枝)以防止过拟合。最后,使用这个剪枝后的决策树对新收到的电子邮件进行分类。


二、决策树基础

在深入了解CART算法之前,有必要先了解其基础——决策树模型。决策树是一种树形结构,用于进行决策或预测。它由节点和边组成,并具有一个根节点和多个叶节点。

什么是决策树

决策树是一种流行的机器学习算法,主要用于分类和回归任务。它通过一系列“是或否”的问题来进行决策或预测。每一个内部节点代表一个特征,每一个分支代表一个决策规则,每一个叶节点代表一个预测输出。

例子:天气预测

假设你想预测明天是否适合郊游。你可能会观察多个特征,比如天气(晴、阴、雨)、温度(高、中、低)等。决策树会从根节点开始,根据这些特征进行一系列决策,最终在叶节点给出一个预测(适合或不适合郊游)。

如何构建简单的决策树

构建决策树的基本步骤如下:

  1. 选择最佳特征:从数据集中选择一个特征作为当前节点。
  2. 分割数据集:基于选定特征的不同取值,将数据集分成多个子集。
  3. 决策或递归:如果某个子集已经包含同类数据,将其标记为叶节点;否则,对该子集递归地构建决策树。

例子:动物分类

假设你有一个数据集,其中包含了多种动物及其特性(如“有羽毛”、“会飞”、“是哺乳动物”等)。你的任务是构建一个决策树来分类这些动物。

  1. 你可能首先根据“有羽毛”这一特征来分割数据集。
  2. 对于“有羽毛”的子集,你可能进一步根据“会飞”这一特征进行分割。
  3. 最终,每一个叶节点都会包含同类的动物(如“鸟”或“哺乳动物”)。

决策树算法的类型

决策树算法主要有三种类型:

  1. ID3(Iterative Dichotomiser 3):使用信息增益作为特征选择的准则。
  2. C4.5:是ID3的改进版,使用信息增益比作为特征选择的准则。
  3. CART(Classification and Regression Trees):使用基尼不纯度或平方误差作为特征选择的准则,并且可以用于分类和回归任务。

例子:垃圾邮件分类

假设你正在构建一个垃圾邮件分类器:

  1. 使用ID3,你可能会选择那些带有最多信息增益(能最好地区分垃圾邮件和非垃圾邮件)的单词作为节点。
  2. 使用C4.5,你会考虑到每个单词出现的频率,选择信息增益比最高的单词。
  3. 使用CART,你可能会使用基尼不纯度来度量每个单词的分类能力。

通过这些定义和例子,我们可以更好地理解决策树的基础概念,为深入了解CART算法做好准备。


三、CART算法详解

在了解了决策树的基础知识后,接下来我们将详细介绍CART(Classification and Regression Trees)算法。CART算法是一种用于分类和回归的树模型,具有很高的灵活性和准确性。

特点和优势

CART算法有以下几个显著特点:

  1. 可用于分类和回归:与仅用于分类的决策树算法(如ID3、C4.5)不同,CART可以同时应用于分类和回归任务。
  2. 二叉树结构:CART总是生成二叉树,即每个节点都有两个子节点。
  3. 剪枝技术:CART使用成本复杂度剪枝(Cost-Complexity Pruning)来避免过拟合。

例子:房价预测

在房价预测(一个回归问题)中,CART算法可以根据多个特征(如面积、地段、年代等)建立一个模型来预测房价。与此同时,该算法也可以用于分类问题,比如预测房屋是否会在短期内售出。

构建CART决策树

构建CART决策树的主要步骤包括:

  1. 特征选择:在CART中,基尼不纯度或平方误差是用于特征选择的常见准则。
  2. 数据分割:根据选定的特征,数据集被分成两个子集。
  3. 递归与终止:对子集进行递归地树构建,直至满足某个终止条件(如节点中的样本数小于预定阈值)。

例子:学生分级

假设一个学校需要根据学生的多个特征(如成绩、出勤率、行为表现等)进行分级。CART算法首先会选择最重要的特征(可能是成绩),然后根据这一特征分割数据集。接着,算法会继续在每个子集上递归进行这一过程。

树剪枝

树剪枝是CART算法中一个非常重要的步骤,主要包括:

  1. 成本复杂度参数:通过调整成本复杂度参数(通常表示为( \alpha )),我们可以控制树的复杂度。
  2. 最小化成本函数:目标是找到一棵通过最小化成本函数得到的最优子树。

例子:电子商务产品推荐

在电子商务产品推荐中,可能原始的决策树非常复杂,并考虑了许多不必要的用户特征。通过剪枝,我们可以去除一些不重要的节点,从而得到一个更简单、更易于解释的模型,同时还能保持良好的推荐效果。


四、Python实战

在理论部分,我们详细地了解了CART算法的核心概念和特点。现在,让我们通过一个具体的Python实战例子来探讨如何实现CART算法。

场景描述:银行贷款审批

假设我们是一家银行的数据科学团队,负责开发一个机器学习模型来自动审批贷款申请。我们有一组包含四个特征的数据:年收入、信用分数、工作年限和贷款金额。目标是预测贷款是否会被偿还。

输入和输出

  • 输入:一个数据集,包含每个申请人的年收入、信用分数、工作年限和贷款金额。
  • 输出:一个预测结果,表明贷款是否应该被批准。

数据预处理

在构建模型之前,先要进行数据预处理。这通常包括空值填充、数据标准化等。

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler# 加载数据
data = pd.read_csv('loan_data.csv')# 数据预处理
scaler = StandardScaler()
data[['Annual_Income', 'Credit_Score', 'Years_in_Job', 'Loan_Amount']] = scaler.fit_transform(data[['Annual_Income', 'Credit_Score', 'Years_in_Job', 'Loan_Amount']])# 分割数据
X = data[['Annual_Income', 'Credit_Score', 'Years_in_Job', 'Loan_Amount']]
y = data['Loan_Status']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

CART模型构建

使用DecisionTreeClassifiersklearn.tree库中进行CART模型的构建和训练。

from sklearn.tree import DecisionTreeClassifier# 创建CART分类模型
cart_model = DecisionTreeClassifier(criterion='gini')# 模型训练
cart_model.fit(X_train, y_train)

模型评估

使用准确性(accuracy)作为模型评估的标准。

from sklearn.metrics import accuracy_score# 预测
y_pred = cart_model.predict(X_test)# 模型评估
accuracy = accuracy_score(y_test, y_pred)
print(f'Model Accuracy: {accuracy}')

输出:

Model Accuracy: 0.88

五、优缺点

在深入了解了CART算法和其Python实现之后,现在让我们总结一下这一算法的优缺点。

优点

1. 灵活性高

CART算法可以应用于分类和回归问题,这使得它在解决各种类型的问题上具有很高的灵活性。

例子:健康诊断与股价预测

比如在医疗健康的分类问题中,可以使用CART算法预测患者是否患有特定疾病。同时,在金融领域的股价预测(回归问题)也可以使用CART算法。

2. 易于理解和解释

由于CART生成的是树结构模型,因此模型的结果通常容易解释和理解,这对于需要解释模型决策的场合非常有用。

例子:信贷审批

在信贷审批的场景中,不仅需要模型有高的准确性,还需要能够解释贷款批准或拒绝的原因。CART算法生成的决策树可以直观地展示这些逻辑。

3. 可以处理缺失值和异常值

CART具有很强的鲁棒性,能够有效地处理缺失值和异常值,而不需要进行复杂的数据预处理。

例子:传感器数据

在工业生产中,由于传感器可能出现故障或噪声,收集到的数据可能包含缺失值或异常值。CART算法能够在这种情况下依然表现良好。

缺点

1. 容易过拟合

尽管CART算法提供了剪枝技术,但如果不正确地设置剪枝参数或训练数据本身具有噪声,模型仍然容易过拟合。

例子:股市预测

在股市预测中,由于市场变化多端,使用CART算法容易捕捉到数据中的噪声而导致过拟合。

2. 对于非线性关系不如其他算法强大

虽然CART算法可以捕捉到一定的非线性关系,但对于高度复杂的非线性系统,其表现可能不如基于核方法或神经网络的算法。

例子:图像识别

在图像识别问题中,由于像素之间的复杂关系,CART算法通常不如卷积神经网络(CNN)等更复杂的模型表现出色。


六、应用场景

CART算法因其灵活性和易解释性而广受欢迎,具有多样的应用场景。在本节中,我们将详细探讨这些应用场景。

1. 医疗诊断

CART算法可以用于分析患者的医疗记录,并基于多种参数预测疾病风险。

例子:心脏病风险预测

通过分析患者的年龄、血压、胆固醇水平等因素,CART算法可以预测患者未来心脏病的风险。这对于提早进行预防性治疗非常有用。

2. 金融风控

在金融行业,CART算法用于评估贷款或信用卡申请人的信用风险。

例子:信用评分模型

银行使用CART算法分析申请人的年收入、工作年限、过往信用记录等,以预测其违约的可能性。据此,银行可以决定是否批准贷款或信用卡申请。

3. 市场分析

CART算法在市场分析中也有广泛的应用,尤其在客户细分和推荐系统中。

例子:个性化推荐

电商网站使用CART算法分析用户的购买历史、页面浏览行为等,为他们推荐最可能购买的产品。

4. 自然资源保护

CART算法在环境科学和自然资源管理方面也有潜在应用。

例子:野生动物栖息地评估

通过分析土壤类型、气候条件、植被覆盖等因素,CART算法可以评估某个区域作为特定野生动物栖息地的适宜性。

5. 工业生产

在工业生产中,CART算法可以用于优化生产流程、故障检测等。

例子:生产质量控制

通过实时分析生产线上的各种传感器数据,CART算法可以预测产品是否会有质量问题,从而及时进行调整。


七、总结

经过前面几个章节的详细探讨,我们不难发现CART算法是一个非常强大和灵活的机器学习算法。它可以应用于分类和回归问题,具有良好的解释性,并在各个行业中都有着广泛的应用。

然而,值得注意的是,任何算法都不是银弹。CART算法虽然在某些方面表现出色,但也有其局限性,比如容易过拟合,以及在处理复杂非线性问题时的局限。因此,在选择算法时,我们需要根据具体的应用场景和需求来进行综合评估。

  1. 解释性与复杂性的权衡:在现实世界的应用中,尤其是在高风险或高价值的领域(如医疗、金融等),模型的解释性可能与预测性能同等重要。CART算法提供了一种有效地平衡这两者的方法。

  2. 数据驱动的特性工程:传统的特性工程往往依赖于领域知识和经验,而CART算法通过自动选择重要的特征和分裂点,为数据驱动的决策提供了强有力的支持。

  3. 集成方法的基础:CART算法往往作为集成方法(如随机森林和梯度提升树)的基础,这进一步证明了它在处理各种复杂问题时的有效性和可扩展性。

  4. 对不平衡数据的敏感性:虽然CART算法有其优点,但它对不平衡数据特别敏感,这在某些应用场景下可能是一个问题。因此,在使用CART算法之前,对数据进行适当的预处理或采用适当的评价指标是非常必要的。

关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。

相关文章:

CART算法解密:从原理到Python实现

目录 一、简介CART算法的背景例子:医疗诊断 应用场景例子:金融风控 定义与组成例子:电子邮件分类 二、决策树基础什么是决策树例子:天气预测 如何构建简单的决策树例子:动物分类 决策树算法的类型例子:垃圾…...

C++项目:【高并发内存池】

文章目录 一、项目介绍 二、什么是内存池 1.池化技术 2.内存池 3.内存池主要解决的问题 4.malloc 三、定长的内存池 四、高并发内存池整体框架设计 1.高并发内存池--thread cache 1.1申请内存: 1.2释放内存: 1.3用TLS实现thread cache无锁访…...

[论文笔记]BitFit

引言 今天带来一篇参数高效微调的论文笔记,论文题目为 基于Transformer掩码语言模型简单高效的参数微调。 BitFit,一种稀疏的微调方法,仅修改模型的偏置项(或它们的子集)。对于小到中等规模数据,应用BitFit去微调预训练的BERT模型能达到(有时超过)微调整个模型。对于大规…...

浅谈yolov5中的anchor

默认锚框 YOLOv5的锚框设定是针对COCO数据集中大部分物体来拟定的,其中图像尺寸都是640640的情况。 anchors参数共3行: 第一行是在最大的特征图上的锚框 第二行是在中间的特征图上的锚框 第三行是在最小的特征图上的锚框 在目标检测中,一…...

RabbitMQ-工作队列

接上文 RabbitMQ-死信队列 1 工作队列模式 xx模式只是一种设计思路,并不是指具体的某种实现,可理解为实现XX模式需要怎么去写业务代码。 之前的是简单的一个消费者一个生产者模式,下边是一个生产者多个消费者的情况: 这里先定义两…...

网站安全防护措施

网络安全的重要性在网站和app的发展下已经被带到了全新的高度,已然成为各大运维人员工作里不可或缺的环节,重视网络安全能给我们的网站带来更好的口碑,也能为企业生产创造更稳定的环境。下面我们一起来看看有哪些是我们运维人员能够做的。 1、…...

C++的继承基础和虚继承原理

1.继承概念 “继承”是面向对象语言的三大特性之一(封装、继承、多态)。 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性基础上进行扩展,增加功能&…...

第三章:最新版零基础学习 PYTHON 教程(第十三节 - Python 运算符—Python 中的运算符函数 - 套装2)

Python 中的运算符函数 - 套装1 本文将讨论更多功能。 1. setitem(ob, pos, val):- 该函数用于在容器中的 特定位置分配值。操作 – ob[pos] = val 2. delitem(ob, pos):- 该函数用于删除容器中 特定位置的值。 操作 – del ob[pos] 3. getitem(ob, pos)&#x...

Linux网络编程:详解https协议

目录 一. https协议概述 二. 中间人截获 三. 常见的加密方法 3.1 对称加密 3.2 非对称加密 四. 数据摘要和数据签名的概念 五. https不同加密方式的安全性的探究 5.1 使用对称加密 5.2 使用非对称加密 5.3 非对称加密和对称加密配合使用 六. CA认证 七. 总结 一.…...

LLVM IR 文档 专门解释 LLVM IR

https://llvm.org/docs/LangRef.html#phi-instruction...

免费服务器搭建网盘教程,给电脑挂载500G磁盘

免费服务器搭建网盘教程,给电脑挂载500G磁盘 请勿注册下载,注册下载是空白文件,使用免登录下载 免费搭建网盘教程,给电脑挂载500G磁盘 其他按照下载教程操作教程代码: 下载下来的文件pancn 文件拖到您创建的容器 手机的话点击…...

【Java】微服务——Nacos配置管理(统一配置管理热更新配置共享Nacos集群搭建)

目录 1.统一配置管理1.1.在nacos中添加配置文件1.2.从微服务拉取配置1.3总结 2.配置热更新2.1.方式一2.2.方式二2.3总结 3.配置共享1)添加一个环境共享配置2)在user-service中读取共享配置3)运行两个UserApplication,使用不同的pr…...

QT基础入门——信号和槽机制(二)

前言: 在Qt中,有一种回调技术的替代方法:那就是信号和槽机制。当特定事件发生时,会发出一个信号。Qt的小部件中有许多预定义的信号,但我们可以将小部件子类化,向它们添加自定义的信号。槽是响应特定信号的…...

黑豹程序员-架构师学习路线图-百科:JavaScript-网页三剑客

文章目录 1、为什么需要JavaScript2、发展历史3、什么是JavaScript3.1、JavaScript介绍3.2、JavaScript内部结构3.3、主要功能 4、TypeScript 1、为什么需要JavaScript 前面我们已经了解了网页三剑客的HTML和CSS,已经明确了它们的职责。 HTML负责页面的展现&#x…...

三、互联网技术——IP子网划分

文章目录 一、IP地址基础1.1 IP地址分类1.2 网络掩码/子网掩码 二、子网划分VLSM2.1 为什么要进行子网划分2.2 怎么进行子网划分2.3 子网划分原理2.4 例题一2.5 例题二2.6 例题三2.6 例题四2.7 例题五2.8 例题六2.9 例题七2.10 例题八 三、无类域间路由CIDR3.1 例题一3.2 例题二…...

TinyWebServer学习笔记-log

为什么服务器要有一个日志系统? 故障排查和调试: 在服务器运行期间,可能会发生各种问题和故障,例如程序崩溃、性能下降、异常请求等。日志记录了服务器的运行状态、错误信息和各种操作,这些日志可以用来快速定位和排查…...

【kubernetes】CRI OCI

1 OCI OCI(Open Container Initiative):由Linux基金会主导,主要包含容器镜像规范和容器运行时规范: Image Specification(image-spec)Runtime Specification(runtime-spec)runC image-spec定义了镜像的格式,镜像的格式有以下几…...

竞赛 机器视觉opencv答题卡识别系统

0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 答题卡识别系统 - opencv python 图像识别 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分…...

Youtube视频下载工具分享-油管视频,音乐,字幕下载方法汇总

YouTube视频下载方法简介 互联网上存在很多 YouTube 下载工具,但我们经常会发现自己收藏的工具没过多久就会失效,我们为大家整理的这几种方法,是存在时间较久并且亲测可用的。后续如果这些工具失效或者有更好的工具,我们也会分享…...

【算法练习Day11】滑动窗口最大值前 K 个高频元素

​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 滑动窗口最大值前 K 个高频…...

华为云HECS云服务器docker环境下安装nginx

前提:有一台华为云服务器。 华为云HECS云服务器,安装docker环境,查看如下文章。 华为云HECS安装docker-CSDN博客 一、拉取镜像 下载最新版Nginx镜像 (其实此命令就等同于 : docker pull nginx:latest ) docker pull nginx查看镜像 dock…...

GET 和 POST的区别

GET 和 POST 是 HTTP 请求的两种基本方法,要说它们的区别,接触过 WEB 开发的人都能说出一二。 最直观的区别就是 GET 把参数包含在 URL 中,POST 通过 request body 传递参数。 你可能自己写过无数个 GET 和 POST 请求,或者已经看…...

机器学习(监督学习)笔记

目录 总览笔记内容线性回归梯度下降特征缩放多输出线性回归 逻辑回归二分类与逻辑回归分类任务的性能指标(召回率,精度,F1分数等)支持向量机SVMK近邻朴素贝叶斯分类器朴素贝叶斯分类器进阶多分类逻辑回归二分类神经网络多分类神经…...

科普rabbitmq,rocketmq,kafka三者的架构比较

对比 架构对比 从架构可以看出三者有些类似,但是在细节上有很多不同。下面我们就从它们的各个组件,介绍它们: RabbitMQ,是一种开源的消息队列中间件。下面是RabbitMQ中与其相关的几个概念: 1.生产者(P…...

加密货币交易技巧——地利(二)

EMA指标 针对资金体量大的代币,做现货交易或低倍合约,可参考以下指标: 1.指标介绍:EMA,移动平均线指标,这里只分享中长线用法,非常实用且准确率超高 2.适用群体:适用于现货或低倍…...

服务网关Gateway_微服务中的应用

没有服务网关 问题: 地址太多安全性管理问题 为什么要使用服务网关 网关是微服务架构中不可或缺的部分。使用网关后,客户端和微服务之间的网络结构如下。 注意: 网关统一向外部系统(如访问者、服务)提供REST API。在Sp…...

2G大小的GPU对深度学习的加速效果如何?

训练数据情况 总共42776张224*224*3张图片 Found 42776 files belonging to 9 classes. Using 12833 files for training. 模型参数情况 Total params: 10,917,385 Trainable params: 10,860,745 Non-trainable params: 56,640 batch-size:12 GPU信息 NVIDIA GeForce GT 7…...

intel 一些偏门汇编指令总结

intel 汇编手册下载链接:https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html LDS指令: 手册中可以找到 位于 3-588 根据手册内容猜测:lds r16 m16:16 的作用,是把位于 [m16:16] 内存地址的数…...

python 多个proto文件import引用时出现ModuleNotFoundError错误

问题描述 my_proto文件夹里有两个proto文件,book.proto想要引用person.proto文件中的Person,如下 book.proto syntax "proto2";import "person.proto"; // 导入person.proto文件message Book {optional string name 1;optional …...

C语言图书管理系统

一、 系统概述 图书管理系统是一个用C语言编写的软件系统,旨在帮助图书馆或图书机构管理其图书馆藏书和读者信息。该系统提供了一套完整的功能,包括图书录入、借阅管理、归还管理、读者管理、图书查询、统计报表等。 二、 系统功能 2.1 图书录入 管理…...

wordpress修改文章字体大小/搜狗链接提交入口

为什么80%的码农都做不了架构师?>>> 风波一天 上午支付出了问题,在问题之前把付款码项目测试环境跟踪任务接了过来,中午没出门,点了外卖,给弄好了下午本想来公司拿个东西回家,发现商品上架出了…...

Add-ons wordpress/google play官网下载

1. 什么是ORM? 对象-关系映射(Object-Relational Mapping,简称ORM),面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业…...

资海集团网站建设/网站怎么做外链

Mybatis通用Mapper极其方便的使用Mybatis单表的增删改查 2.2.0 新增SqlMapper,可以使用MyBatis直接执行sql,详细文档2.2.0版本之后,通过SqlMapper可以支持多表的操作,但是需要在代码中直接写SQL。 即使不使用通用mapper&#xff0…...

网站浏览图片怎么做/关键词查询的分析网站

Lazarus crack,功能丰富的 Delphi 开发环境 Lazarus为开发人员提供了一个功能丰富的 Delphi 开发环境,使他们能够创建功能齐全的跨平台应用程序,专为个人和商业用途而设计。 Lazarus 项目拥有超过 15 年的历史,包括一个用于 Free Pascal 的综…...

wordpress模板首页是哪个文件夹/搜索网站大全排名

当你遇到累进税率,你知道怎么算税额吗?刚刚学习税务的时候,小编对于这四个汉字一点都不陌生,但是这四个汉字这样的组合,看得一头雾水,累觉不爱。后来才知道在我国税收中,以累进税率计算税额是很…...

重庆网站建设哪家专业/郑州seo招聘

很多朋友对于IBM海量的描述信息感觉到束手无策,以下信息均可以在www.unix360.com 中使用快查功能查询到,另外可以查看到具体的配件对应的PN号,查询可以适用于哪些整机,这是单纯本文档无法实现的功能。更多详情请移步www.unix360.c…...