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

1_机器学习概述—全流程

文章目录

  • 1 机器学习定义
  • 2 机器学习常见应用框架(重点)
  • 3 机器学习分类
    • 3.1 监督学习(Supervised learning)
    • 3.2 无监督学习(Unsupervised learning)
    • 3.3 半监督学习(Semi-Supervised Learning)
  • 4 其他分类方法
  • 5 scikit-learn算法备忘单(重点)
  • 6 Ubuntu安装Python3
  • 7 机器学习算法(Top10)
  • 8 机器学习开发流程
    • 8.1 数据收集与存储
      • 8.1.1 机器学习可用公开数据集
    • 8.2 数据预处理(数据清洗和转换)
    • 8.3 特征工程
      • 8.3.1 类型特征转换之1-of-k(哑编码)
      • 8.3.2 文本数据抽取
    • 8.4 模型训练及测试
    • 8.5 模型的评估方式(重点)
      • 8.5.1 分类模型的评估方式
          • 混淆矩阵:
        • 8.5.1.1 准确率(Accuracy)(预测结果正确的百分比)
        • 8.5.1.2 精确率(Precision) (查的准)
        • 8.5.1.3 召回率(Recall)(查的全,对正样本的区分能力)
        • 8.5.1.4 F1 Measure
        • 8.5.1.5 ROC曲线
        • 8.5.1.6 AUC
      • 8.5.2 回归模型的评估方式
    • 8.6 投入使用(模型部署和整合)
    • 8.7 模型的监控与反馈

1 机器学习定义

定义:机器学习是从数据中自动分析获得规律(模型),并利用规律对未知数据进行预测

在这里插入图片描述

  • 算法(T):根据业务需要和数据特征选择的相关算法,也就是一个数学公式
  • 模型(E):基于数据和算法构建出来的模型
  • 评估/测试(P):对模型进行评估的策略

2 机器学习常见应用框架(重点)

1、sciket-learn(Python)

https://scikit-learn.org/stable/

2、Mahout(Hadoop生态圈基于MapReduce)
http://mahout.apache.org/

3、Spark MLlib
http://spark.apache.org/

3 机器学习分类

算法是核心,数据和计算是基础。这句话很好的说明了机器学习中算法的重要性。机器学习的几种分类:

  • 监督学习
    • 分类 : k-近邻算法、决策树、贝叶斯、逻辑回归(LR)、支持向量机(SVM) 神经网络
    • 回归 : 线性回归、岭回归
    • 标注 : 隐马尔可夫模型(HMM)
  • 无监督学习
    • 聚类 : k-means
  • 半监督学习

3.1 监督学习(Supervised learning)

概念:

用已知某种或某些特性的样本作为训练集,以建立一个数学模型,再用已建立的模型来预测未知样本,此种方法被称为有监督学习,是最常用的一种机器学习方法。是从标签化训练数据集中推断出模型的机器学习任务。

  • 判别式模型(Discriminative Model):直接对条件概率p(ylx)进行建模,常见判别模型有:线性回归、决策树、支持向量机SVM、k近邻、神经网络等;
  • 生成式模型(Generative Model):对联合分布概率p(x,y)进行建模,常见生成式模型有:隐马尔可夫模型HMM、朴素贝叶斯模型、高斯混合模型GMM、LDA等;
  • 判别式模型更直接,目标性更强;生成式模型更普适
  • 判别式模型关注的数据的差异性,寻找的是分类面;生成式模型关注数据是如何产生的,寻找的是数据分布模型
  • 由生成式模型可以产生判别式模型,但是由判别式模式没法形成生成式模型

3.2 无监督学习(Unsupervised learning)

概念:

与监督学习相比,无监督学习的训练集中没有人为的标注的结果,在非监督的学习过程中,数据并不被特别标识,学习模型是为了推断出数据的一些内在结构。

  • 无监督学习试图学习或者提取数据背后的数据特征,或者从数据中抽取出重要的特征信息,常见的算法有聚类、降维、文本处理(特征抽取)等。
  • 无监督学习一般是作为监督学习的前期数据处理,功能是从原始数据中抽取出必要的标签信息。

3.3 半监督学习(Semi-Supervised Learning)

概念:

考虑如何利用少量的标注样本和大量的未标注样本进行训练和分类的问题,是监督学习和无监督学习的结合;

  • 主要考虑如何利用少量的标注样本和大量的未标注样本进行训练和分类的问题。半监督学习对于减少标注代价,提高学习机器性能具有非常重大的实际意义。
  • SSL的成立依赖于模型假设,主要分为三大类:平滑假设、聚类假设、流行假设;其中流行假设更具有普片性。
  • SSL类型的算法主要分为四大类:半监督分类、半监督回归、半监督聚类、半监督降维。
  • 缺点:抗干扰能力弱,仅适合于实验室环境,其现实意义还没有体现出来;未来的发展主要是聚焦于新模型假设的产生。

4 其他分类方法

  1. 分类

    通过分类模型,将样本数据集中的样本映射到某个给定的类别中

  2. 聚类

    通过聚类模型,将样本数据集中的样本分为几个类别,属于同一类别的样本相似性比较大

  3. 回归

    反映了样本数据集中样本的属性值的特性,通过函数表达样本映射的关系来发现属性值之间的依赖关系

  4. 关联规则

    获取隐藏在数据项之间的关联或相互关系,即可以根据一个数据项的出现推导出其他数据项的出现频率。

5 scikit-learn算法备忘单(重点)

https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html
在这里插入图片描述

6 Ubuntu安装Python3

Ubuntu中 创建一个基于Python3的虚拟环境:

mkvirtualenv -p /usr/local/bin/python3.6 ml3

在ubuntu的虚拟环境当中运行以下命令

pip3 install Scikit-learn

然后通过导入命令查看是否可以使用:

import sklearn

7 机器学习算法(Top10)

算法名称算法描述
C4.5分类决策树算法,决策树的核心算法,ID3算法的改进算法。
CART分类与回归树(Classification and Regression Trees)
kNNK近邻分类算法;如果一个样本在特征空间中的k个最相似的样本中大多数属于某一个类别,那么该样本也属于该类别(物以类聚,人以群分)
NaiveBayes贝叶斯分类模型;该模型比较适合属性相关性比较小的时候。如果属性相关性比较大的时候,决策树模型比贝叶斯分类模型效果好(原因:贝叶斯模型假设属性之间是互不影响的)
SVM支持向量机,一种有监督学习的统计学习方法,广泛应用于统计分类和回归分析中。
EM最大期望算法,常用于机器学习和计算机视觉中的数据集聚领域
Apriori关联规则挖掘算法
K-Means聚类算法,功能是将n个对象根据属性特征分为k个分割(k<n);属于无监督学习
PageRankGoogle搜索重要算法之一
AdaBoost迭代算法;利用多个分类器进行数据分类

8 机器学习开发流程

  1. 数据收集
  2. 数据预处理 (清洗与转换,去除异常数据···)
  3. 特征提取
  4. 模型构建
  5. 模型测试评估
  6. 投入使用(模型部署与整合)
  7. 迭代优化

在这里插入图片描述

8.1 数据收集与存储

  • 数据来源:
    • 用户访问行为数据
    • 业务数据
    • 外部第三方数据
  • 数据存储:
    • 需要存储的数据:原始数据、预处理后数据、模型结果
    • 存储设施:mysql、HDFS、HBase、Solr、Elasticsearch、Kafka、Redis等
  • 数据收集方式:
    • Flume & Kafka

8.1.1 机器学习可用公开数据集

在实际工作中,我们可以使用业务数据进行机器学习开发,但是在学习过程中,没有业务数据,此时可以使用公开的数据集进行开发,常用数据集如下:

  • http://archive.ics.uci.edu/ml/datasets.html
  • https://aws.amazon.com/cn/public-datasets/
  • https://www.kaggle.com/competitions
  • http://www.kdnuggets.com/datasets/index.html
  • http://www.sogou.com/labs/resource/list_pingce.php
  • https://tianchi.aliyun.com/datalab/index.htm
  • http://www.pkbigdata.com/common/cmptIndex.html

8.2 数据预处理(数据清洗和转换)

  • 实际生产环境中机器学习比较耗时的一部分
  • 大部分的机器学习模型所处理的都是特征,特征通常是输入变量所对应的可用于模型的数值表示
  • 大部分情况下,收集得到的数据需要经过预处理后才能够为算法所使用,预处理的操作主要包括以下几个部分:
    • 数据过滤
    • 处理数据缺失
    • 处理可能的异常、错误或者异常值
    • 合并多个数据源数据
    • 数据汇总

8.3 特征工程

对数据进行初步的预处理,需要将其转换为一种适合机器学习模型的表示形式,对许多模型类型来说,这种表示就是包含数值数据的向量或者矩阵。

  • 将类别数据编码成为对应的数值表示(一般使用1-of-k方法)-dumy。
  • 从文本数据中提取有用的数据(一般使用词袋法或者TF-IDF)。
  • 处理图像或者音频数据(像素、声波、音频、振幅等<傅里叶变换>)。
  • 数值数据转换为类别数据以减少变量的值,比如年龄分段。
  • 对数值数据进行转换,比如对数转换。
  • 对特征进行正则化、标准化,以保证同一模型的不同输入变量的值域相同。
  • 对现有变量进行组合或转换以生成新特征,比如平均数 (做虚拟变量)不断尝试。

8.3.1 类型特征转换之1-of-k(哑编码)

  • 功能:将非数值型的特征值(类别类型的)转换为数值型的数据
  • 描述:假设变量的取值有 k 个,如果对这些值用 1 到 k 编序,则可用维度为 k的向量来表示一个变量的值。在这样的向量里,该取值所对应的序号所在的元素为1,其他元素均为0。

例子:

  • T1,T2,T3是特征;
  • A,B,C是文本类型数据,机器学习识别不了,需要转换,转换为数字型

在这里插入图片描述

8.3.2 文本数据抽取

  • 词袋法:将文本当作一个无序的数据集合,文本特征可以采用文本中的词条T进行体现,那么文本中出现的所有词条及其出现的次数就可以体现文档的特征。
  • TF-IDF:
    • 词条的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降;也就是说词条在文本中出现的次数越多,表示该词条对该文本的重要性越高,词条在所有文本中出现的次数越少,说明这个词条对该文本的重要性越高。
    • TF(词频)指某个词条在文本中出现的次数,一般会将其进行归一化处理(该词条数量/该文档中所有词条数量);
    • IDF(逆向文件频率)指一个词条重要性的度量,一般计算方式为总文件数目除以包含该词语之文件的数目,再将得到的商取对数得到。TF-IDF实际上是:TF * IDF

在这里插入图片描述

8.4 模型训练及测试

  • 模型选择:对特定任务最优建模方法的选择或者对特定模型最佳参数的选择。

  • 在训练数据集上运行模型(算法)并在测试数据集中测试效果,迭代进行数据模型的修改,这种方式被称为交叉验证(将数据分为训练集和测试集,使用训练集构建模型,并使用测试集评估模型提供修改建议)。

  • 模型的选择会尽可能多的选择算法进行执行,并比较执行结果。

8.5 模型的评估方式(重点)

8.5.1 分类模型的评估方式

在这里插入图片描述
对于二分类问题,机器预测的和实际的还是会有所偏差,所以我们引入以下几个概念来评价分类器的优良。

  • 模型的测试一般以下几个方面来进行比较,分别是准确率/召回率/精准率/F值。
    • 准确率(Accuracy)=提取出的正确样本数/总样本数。
    • 召回率(Recall)=正确的正例样本数/样本中的正例样本数——覆盖率。
    • 精准率(Precision)=正确的正例样本数/预测为正例的样本数。又称精确率。
    • F值=Precision * Recall * 2 / (Precision+Recall) (即F值为正确率和召回率的调和平均值)。

例如:

在这里插入图片描述

混淆矩阵:

在分类任务下,预测结果(Predicted Condition)与正确标记(True Condition)之间存在四种不同的组合,构成混淆矩阵(适用于多分类)

http://www2.cs.uregina.ca/~dbd/cs831/notes/confusion_matrix/confusion_matrix.html

https://en.wikipedia.org/wiki/Confusion_matrix

在这里插入图片描述

TP(True Positive):被预测成了正类的正类,即正确预测的正类

FP(False Positive):被预测成了正类的负类

TN(True Negetive):被预测成了负类的负类,即正确预测的负类

FN(False Negetive):被预测成了负类的正类

8.5.1.1 准确率(Accuracy)(预测结果正确的百分比)

准确率跟正类负类没多大关系,表示在预测结果中,正确预测的数量 / 样本总数。

8.5.1.2 精确率(Precision) (查的准)

在预测结果中,正确预测的正类数 / 预测为正类的数量 : TP / (TP+FP)

在这里插入图片描述

8.5.1.3 召回率(Recall)(查的全,对正样本的区分能力)

在预测结果中,正确预测的正类数 / 原本即为正类的数量 : TP / (TP+FN)

在这里插入图片描述

8.5.1.4 F1 Measure

用precision和recall两个指标不直观,索性把他们合并为一个变量——F-measure:Recall * Precision * 2 / (Recall + Precision)(越大越好,1为理想状态,此时precision为1,recall为1)

8.5.1.5 ROC曲线

ROC(Receiver Operating Characteristic)最初源于20世纪70年代的信号检测理论,描述的是分类混淆矩阵中FPR-TPR两个量之间的相对变化情况, ROC曲线的纵轴是“真正例率”(True Positive Rate 简称TPR),横轴是“假正例率” (False Positive Rate 简称FPR)。

如果二元分类器输出的是对正样本的一个分类概率值,当取不同阈值时会得到不同的混淆矩阵,对应于ROC曲线上的一个点。那么ROC曲线就反映了 FPR与TPR之间权衡的情况,通俗地来说,即在TPR随着FPR递增的情况下,谁增长得更快,快多少的问题。TPR增长得越快,曲线越往上屈,AUC就越大, 反映了模型的分类性能就越好。当正负样本不平衡时,这种模型评价方式比起 一般的精确度评价方式的好处尤其显著。
在这里插入图片描述

8.5.1.6 AUC

AUC 即 ROC 曲线对应的面积,面积越大越好。

AUC (Area Under Curve) 被定义为ROC曲线下的面积,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围一般在0.5和1之间。使用AUC值作为评价标准 是因为很多时候ROC曲线并不能清晰的说明哪个分类器的效果更好, 而AUC作为数值可以直观的评价分类器的好坏,值越大越好。

从AUC判断分类器(预测模型)优劣的标准:

  • AUC = 1,是完美分类器,采用这个预测模型时,存在至少一个阈值能得出完美预测。绝大多数预测的场合,不存在完美分类器。
  • 0.5 < AUC < 1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。
  • AUC = 0.5,跟随机猜测一样(例:丢铜板),模型没有预测价值。
  • AUC < 0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测。

8.5.2 回归模型的评估方式

回归结果度量

  • explained_varicance_score:可解释方差的回归评分函数
  • mean_absolute_error:平均绝对误差
  • mean_squared_error:平均平方误差
    在这里插入图片描述

8.6 投入使用(模型部署和整合)

  • 当模型构建好后,将训练好的模型存储到数据库中,方便其它使用模型的应用加载(构建好的模型一般为一个矩阵)
  • 模型更新需要周期性(一周,一个月)

8.7 模型的监控与反馈

  • 当模型一旦投入到实际生产环境中,模型的效果监控是非常重要的,往往需要关注业务效果和用户体验,所以有时候会进行A/B测试
  • 模型需要对用户的反馈进行响应操作,即进行模型修改,但是要注意异常反馈信息对模型的影响,故需要进行必要的数据预处理操作

相关文章:

1_机器学习概述—全流程

文章目录1 机器学习定义2 机器学习常见应用框架&#xff08;重点&#xff09;3 机器学习分类3.1 监督学习&#xff08;Supervised learning&#xff09;3.2 无监督学习&#xff08;Unsupervised learning&#xff09;3.3 半监督学习&#xff08;Semi-Supervised Learning&#…...

VUE中给对象添加新属性时,界面不刷新怎么办

一、直接添加属性的问题 举例&#xff1a; 定义一个p标签&#xff0c;通过v-for指令进行遍历 然后给botton标签绑定点击事件&#xff0c;我们预期点击按钮时&#xff0c;数据新增一个属性&#xff0c;界面也 新增一行。 <p v-for"(value,key) in item" :key&qu…...

视频号频出10w+,近期爆红的账号有哪些?

回顾2月&#xff0c;视频号持续放出大动作&#xff0c;不仅进行了16小时不间断的NBA全明星直播&#xff0c;还邀请国际奥委会入驻&#xff0c;分享奥运的最新资讯。视频号成为越来越多官方机构宣传推广的有效渠道。官方积极入驻&#xff0c;内容创作生态也在同步繁荣发展&#…...

企业寄件现代化管理教程

现代化企业为了跟上时代发展的步伐&#xff0c;在不断完善着管理制度&#xff0c;其中公司寄件管理&#xff0c;也是重要的一个模块。为了提高公司快递的寄件效率&#xff0c;以及节约寄件成本&#xff0c;实现快递寄件的规范化&#xff0c;越来越多的现代化企业&#xff0c;开…...

django 在网页显示后台进度

1、定义函数打开网页 def PeformanceIndex(request): citys{‘wuhu’: ‘芜湖’, ‘xuancheng’: ‘宣城’, ‘tongling’: ‘铜陵’, ‘suzhou’: ‘宿州’, ‘maanshan’: ‘马鞍山’, ‘liuan’: ‘六安’, ‘huainan’: ‘淮南’, ‘huabei’: ‘淮北’, ‘hefei’: ‘合肥…...

机器学习库(Numpy, Scikit-learn)

Numpy 创建数组 import numpy as npa np.array([1,2,3]) b np.array([(1.5,2,3), (4,5,6)], dtype float) c np.array([[(1.5,2,3), (4,5,6)], [(3,2,1), (4,5,6)]],dtype float)创建占位符 z1np.zeros((3,4)) z2np.ones((2,3,4),dtypenp.int16) z3d np.arange(10,25,5)…...

Linux操作系统学习(进程替换)

文章目录进程替换进程替换是什么&#xff1f;替换的方法进程替换简易shell模拟进程替换 进程替换是什么&#xff1f; 如下图所示&#xff1a; ​ 进程替换就是&#xff0c;把进程B的代码和数据&#xff0c;替换正在执行的进程A的代码和数据在内存中的位置&#xff08;若代码…...

【C++从入门到放弃】类和对象(中)———类的六大默认成员函数

&#x1f9d1;‍&#x1f4bb;作者&#xff1a; 情话0.0 &#x1f4dd;专栏&#xff1a;《C从入门到放弃》 &#x1f466;个人简介&#xff1a;一名双非编程菜鸟&#xff0c;在这里分享自己的编程学习笔记&#xff0c;欢迎大家的指正与点赞&#xff0c;谢谢&#xff01; 类和对…...

白盒测试重点复习内容

白盒测试白盒测试之逻辑覆盖法逻辑覆盖用例设计方法1.语句覆盖2.判定覆盖(分支覆盖)3.条件覆盖4.判定条件覆盖5.条件组合覆盖6.路径覆盖白盒测试之基本路径测试法基本路径测试方法的步骤1.根据程序流程图画控制流图2.计算圈复杂度3.导出测试用例4.准备测试用例5.例题白盒测试总…...

【13】linux命令每日分享——groupadd建立组

大家好&#xff0c;这里是sdust-vrlab&#xff0c;Linux是一种免费使用和自由传播的类UNIX操作系统&#xff0c;Linux的基本思想有两点&#xff1a;一切都是文件&#xff1b;每个文件都有确定的用途&#xff1b;linux涉及到IT行业的方方面面&#xff0c;在我们日常的学习中&…...

《第一行代码》 第十章:服务

一&#xff0c;在子线程中更新UI 1&#xff0c;新建项目&#xff0c;修改布局代码 <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"&g…...

简单介绍编程进制

十进制 十进制的位权为 10&#xff0c;比如十进制的 123&#xff0c;123 1 * 10 ^ 2 2 * 10 ^ 1 3 * 10 ^ 0。 二进制 二进制的位权为 2&#xff0c;比如十进制的 4&#xff0c;二进制为 100&#xff0c;4 1 * 2 ^ 2 0 * 2 ^ 1 0 *2 ^ 0。 Java7 之前&#xff0c;不支…...

windows忘记开机密码怎么办

windows忘记开机密码怎么办 清除windows登录密码 清除windows登录密码简单方法 开机到欢迎界面时&#xff0c;按CtrlAltDelete两次&#xff0c;跳出帐号窗口&#xff0c;输入用户名&#xff1a;administrator&#xff0c;回车&#xff0c; 或者启动时按F8 选“带命令行的安全…...

SpringCloud:Eureka

目录 一、eureka的作用 二、搭建Eureka服务端 三、添加客户端 四、服务发现 提供者与消费者 服务提供者&#xff1a;一次业务中&#xff0c;被其它微服务调用的服务。&#xff08;提供接口给其它微服务) 服务消费者&#xff1a;一次业务中&#xff0c;调用其它微服务的服…...

如何获取或设置CANoe以太网网卡信息(SET篇)

CAPL提供了一系列函数用来操作CANoe网卡。但是,但是,首先需要明确一点,不管是获取网卡信息,还是设置网卡信息,只能访问CAPL程序所在的节点下的网卡,而不是节点所在的以太网通道下的所有网卡 关于第一张图中,Class节点下,有三个网卡:Ethernet1、VLAN 1.100、VLAN 1.200…...

【软件测试面试题】项目经验?资深测试 (分析+回答) 我不信你还拿不到offer......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 在面试过程中&#…...

tensorflow lite简介-移动设备端机器学习

TensorFlow Lite 是一组工具&#xff0c;可帮助开发者在移动设备、嵌入式设备和 loT 设备上运行模型&#xff0c;以便实现设备端机器学习。 支持多平台 支持多种平台&#xff0c;涵盖 Android 和 iOS 设备、嵌入式 Linux 和微控制器。 原理/流程 工作原理或者使用流程就是上面…...

Node.js常用知识

1、什么是 Node.js 【】Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。浏览器是 js 的前端运行环境&#xff0c;node.js 是 js 的后端运行环境。他们都有 V8 引擎&#xff0c;有各自的内置 API 2、fs 文件系统模块 【】fs 模块是 Node.js 官方提供的、用来操作文件…...

踩坑:maven打包失败的解决方式总结

Maven打包失败原因总结如下&#xff1a; 失败原因1&#xff1a;无法使用spring-boot-maven-plugin插件 使用spring-boot-maven-plugin插件可以创建一个可执行的JAR应用程序&#xff0c;前提是应用程序的parent为spring-boot-starter-parent。 需要添加parent的包spring-boot…...

【C++】位图

文章目录位图概念位图操作位图代码位图应用位图概念 boss直接登场&#xff1a; 给40亿个不重复的无符号整数&#xff0c;没排过序。给一个无符号整数&#xff0c;如何快速判断一个数是否在这40亿个数中❓ 40亿个整数&#xff0c;大概就是16GB。40亿个字节大概就是4GB。 1Byt…...

蓝桥杯-考勤刷卡

蓝桥杯-考勤刷卡1、问题描述2、解题思路3、代码实现1、问题描述 小蓝负责一个公司的考勤系统, 他每天都需要根据员工刷卡的情况来确定 每个员工是否到岗。 当员工刷卡时, 会在后台留下一条记录, 包括刷卡的时间和员工编号, 只 要在一天中员工刷过一次卡, 就认为他到岗了。 现在…...

如何利用站内推广和站外推广提高转化率?

在如今的网络时代&#xff0c;拥有一个好的网站是非常重要的。但是&#xff0c;光有一个好的网站是不够的&#xff0c;为了达到我们的目标&#xff0c;需要不断地提高网站的转化率。而在实现这个目标的过程中&#xff0c;站内推广和站外推广是两个非常关键的因素。 站内推广是…...

Java多线程(三)——线程池及定时器

线程池就是一个可以复用线程的技术。前面三种多线程方法就是在用户发起一个线程请求就创建一个新线程来处理&#xff0c;下次新任务来了又要创建新线程&#xff0c;而创建新线程的开销是很大的&#xff0c;这样会严重影响系统的性能。线程池就相当于预先创建好几个线程&#xf…...

Linux命令行安装Oracle19c教程和踩坑经验

安装 下载 从 Oracle官方下载地址 需要的版本&#xff0c;本次安装是在Linux上使用yum安装&#xff0c;因此下载的是RPM。另外&#xff0c;需要说明的是&#xff0c;Oracle加了锁的下载需要登录用户才能安装&#xff0c;而用户是可以免费注册的&#xff0c;这里不做过多说明。 …...

Linux常用命令等

目录 1.Linux常用命令 (1)系统命令 (2)文件操作命令 2.vim编辑器 3.linux系统中,软件安装 (1) rpm 安装,RedHat Package Manager (2)yum 安装 (3)源代码编译安装 1.Linux常用命令 Linux命令是非常多的,对于像嵌入式开发工程师,运维工程师需要掌握的命令是非常多的.对于…...

CEC2014:鱼鹰优化算法(Osprey optimization algorithm,OOA)求解CEC2014(提供MATLAB代码

一、鱼鹰优化算法简介 鱼鹰优化算法&#xff08;Osprey optimization algorithm&#xff0c;OOA&#xff09;由Mohammad Dehghani 和 Pavel Trojovsk于2023年提出&#xff0c;其模拟鱼鹰的捕食行为。 鱼鹰是鹰形目、鹗科、鹗属的仅有的一种中型猛禽。雌雄相似。体长51-64厘米…...

MyBatis底层原理【源码运行时序图】

MyBatis初始化流程&#x1f6f7; 以下代码为例&#x1f389; &#x1f387;可对应源码阅读 MyBatis初始化流程✨ #mermaid-svg-yoG1e8Dnp3UIAOUW {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-yoG1e8Dnp3UIAOU…...

k8s 系列之 CoreDNS 解读

k8s 系列之 CoreDNS CoreDNS工作原理 kuberntes 中的 pod 基于 service 域名解析后&#xff0c;再负载均衡分发到 service 后端的各个 pod 服务中&#xff0c;如果没有 DNS 解析&#xff0c;则无法查到各个服务对应的 service 服务 在 Kubernetes 中&#xff0c;服务发现有几…...

从测试鸡蛋硬度到跳表的设计

我回忆起六七年前的一道题鸡蛋掉落问题&#xff0c;有幸在leetCode上找到题目了 原题是2枚鸡蛋 leetCode有拓展&#xff0c;k枚鸡蛋 具体的思路是这样的。 以2枚鸡蛋验证100层为例 不能直接二分查找&#xff0c;因为你在50层测试时&#xff0c;如果直接鸡蛋碎了&#xff0c;那…...

3D立体视觉成像原理介绍【一 】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言什么是基线&#xff1f;基线是如何影响3D图像质量激光三角测量飞行时间结构光相机时间编码结构光前言 本文将介绍3D立体视觉的成像原理&#xff0c;包括【激光三…...

文章类型网站/网站seo优化

&#xff08;1&#xff09;r分量更大&#xff0c;则为红色 &#xff08;2&#xff09;判断深浅&#xff1a; 亮度越亮&#xff0c;则颜色越浅。 if(r*0.299 g*0.578 b*0.114 > T){ //浅色... }else{ //深色... }...

投诉举报网站 建设方案/seo搜索优化推广

原标题&#xff1a;用于可解释机器学习的四个Python库【IT168 技术】我们知道&#xff0c;人工智能也可能存在偏差&#xff0c;随着大家对这一点的关注度越来越高&#xff0c;企业越来越需要能够对其模型产生的预测进行解释&#xff0c;了解模型本身是如何工作的。好的一点是&a…...

商丘做网站优化/分销渠道

https://blog.csdn.net/sidely/article/details/43059795 xrandr --output VGA --auto --output LVDS --off 打开外接显示器&#xff0c;同时关闭笔记本液晶屏幕&#xff08;只用外接显示器工作&#xff09; xrandr --output VGA --off --output LVDS --auto 关闭外接显示器…...

网站开发架构mvc/优化推广方案

花火网消息&#xff0c;如果你有4000元左右的预算&#xff0c;你会选择什么国产手机呢?近年来一加和华为其实在海外市场都得难分难解&#xff0c;尤其是今年一加7TPro和华为mate30Pro&#xff0c;更是引发了北美市场消费者的抢购&#xff0c;那么究竟这两款手机谁更好一些呢?…...

网站的购物车怎么做/全国seo搜索排名优化公司

问题 在序列化枚举字段的时候&#xff0c;出现只序列化一个string的枚举名字。这对于普通java枚举类问题不大的&#xff0c;但是对于稍复杂一点java枚举类&#xff0c;就会出现字段丢失的情况。例如&#xff0c;如下枚举类&#xff1a; import com.fasterxml.jackson.annotati…...

上海网站建设穹拓/网络营销公司哪家好

归属之谷是由 The Sandbox 的 Game Maker 基金会支持的项目之一。了解更多关于 The Sandbox 元宇宙独有的令人难以置信的美丽和多元化的体验。 归属之谷是元宇宙中最多元化的体验之一。为所有不同背景及身份的人提供一个安全的地方。 The Sandbox 为可以成为骄傲、多元性以及身…...