草庐IT

机器学习算法入门与编程实践课后题及答案(唐四新等编著)

小博睡不醒 2023-12-20 原文

目录

习题1

习题2

习题3

习题4

习题5

习题6

习题7

习题8


习题1

1.无监督学习的两个主要任务是(多选)(BD)。

A.回归         B.降维         C.分类         D.聚类

2.下列对无监督学习描述错误的是(C)。

A.无标签                         B.核心是聚类 

C.不需要降维                 D.具有很好的可解释性

3.下列对有监督学习描述错误的是(D)

A.有标签                  B.核心是分类 

C.分类原因不透明   D.所有数据都相互独立分布

4.在以下学习策略中,使用的训练数据只有部分存在标签的是(C)。

A.监督学习    B.深度学习    C.半监督学习   D.无监督学习

5.下面符合特征选择标准的是(A)

A.能够反映不同事物差异的特征         B.越多越好

C.越少越好                                         D.数值型的比定性数据好

6.给定一定数量的红细胞和白细胞图像及它们对应的标签,设计出一个红细胞和白细胞分类器,这属于(C)问题。      

A.半监督学习

B.无监督学习

C.监督学习 

D.以上都可以

7.给定一定数量的红细胞和白细胞图像,但是并不知道图像与标签的对应关系,设计一个红细胞和白细胞的分类器,这属于(B)问题。

A.半监督学习

B.无监督学习

C.监督学习

D.强化学习

8.机器学习可以用于以下哪些情形(AB)

A.人类无法解释的专业知识   B.模型需要基于大量数据

C.当人类专业知识不存在时  D.模型必须定制

9.以下哪些领域应用机器学习需要考虑样本不平衡问题(ABCD)?

A.医学诊断

B.预测罕见事件

C.检测信用卡欺诈

D.预测故障和失效

10.以下说法正确的是(BCD)

A.特征的个数越多,机器学习的效果越好

B.样本的数量越多,机器学习的效果越好

C.过拟合只在监督学习中出现,在无监督学习中没有过拟合

D.特征的个数应和样本的数量相匹配

11.泛化误差是指(B)

A.训练误差                 B.测试误差

C.学习误差                 D.测量误差

12.与有监督学习相比,下列哪些属于半监督学习的优势(多选)(BD)

A.半监督学习的模型训练时间更短

B.在标注数据量有限时,采用半监督学习有望训练得到更优的机器学习模型

C.半监督学习的数学优化问题更容易求解

D.能够节约大规模数据标注带来的时间和费用开销

13.简述机器学习的主要步骤。

答:研究问题;收集相关样本,特征提取,构建模型,评估模型的有效性,使用模型。

14.简述机器学习中验证集和测试集的区别。

答:验证集是在模型训练的过程中评估模型,评估之后模型还会继续修改。而测试集是在模型训练好之后评估模型,评估后模型不会再修改。

15.什么是泛化能力。

答:模型应用于新样本的能力(有效性)

16.评价机器学习模型优劣的重要指标是。

答:泛化能力

17.简述监督学习和无监督学习的区别。

答:监督学习样本有标签,无监督学习样本没有标签

18.特征选择与数据降维有何区别?

答:数据降维是把多个特征合成为一个特征,而特征选择是在多个特征中提起某些特征。

习题2

1.关于Python语言的语法,下列哪项是错误的?(B)

A.Python程序中的代码缩进不能随意删除

B.import语句必须写在程序的开始位置

C.Print(‘Hey’)输出Hey后会自动换行

D.Python语言是区分大小写的

2.下列不属于NumPy数组属性的是(D)

A.ndim  B. shape  C.size  D.add

3.创建一个3×3维的数组,下列代码中错误的是(D)

A.np.arange(0.9).reshape(3,3)

B.np.eye(3)

C.np.radom.random([3,3,3])

D.np.mat(np.zeros((3,3)))

4.以下关于绘图标准流程语法错误的是(D)

A.绘制最简单的图形可以不用创建画布

B.添加图例可以在绘制图形之前

C.添加x轴、y轴的标签可以在绘制图形之前

D.添加图的标题可以在plt.show()方法之后

5.下列代码中能够绘制出散点图的是(A)

A.plt.scatter(x,y)

B.plt.plot(x,y)

C.plt.legend(x,y)

D.plt.figure(x,y)

6.下列字符串表示plot线条颜色、点的形状和类型为红色五角星点断虚线的是(D)

A.‘bs-’   B. ‘go-.’  C. ‘r+-.’  D. ‘r*:’

7.train_test_split()函数的返回值有(D)个

A.1     B. 2     C. 3     D. 4

8.数据(B)要求知道标本的最大值和最小值。

A.标椎化  B. 归一化  C. 二值化  D. 正则化

9.要设置x轴的坐标范围需要用到(B)

A.xlabel   B. xlim     C. xticks     D. hlines

10.使用Pandas不能读取下列哪种文件(D)

A.xlsx     B. txt      C. CSV      D. MDB

11.NumPy提供的两种基本对象是 多维数组对象ndarray通用函数对象ufunc

12.将NumPy一堆数组a中所有元素反转,方法是a.T()

13.提取NumPy数组中除了最后一列的所有列,方法是data[:, 0:-1]

14.创建一个范围在(0,1)之间长度为12的等差数列,方法是np.linspace(0, 1, 12, endpoint=False)

15.在Matplotlib中,要绘制多个子图,需要使用subplot()函数

16.train_test_split()函数能将样本划分为训练集测试集

17.数据的z-score 标准化需要计算样本数据的标准差和均值

18.在sklearn中,要用训练数据拟合模型,需要使用fit()方法

19.数据的维度是指样本特征属性的个数

20.主成分分析一般用来实现数据的降维

21.元组与列表的主要区别是什么?S=(9,6,5,1,55,7)能添加元素吗?

答:元组中的元素不能修改,但能添加和删除,可以添加元素。

22.读取鸢尾花数据集,使用循环和子图绘制各个特征之间的散点图。

  import numpy as  np

import matplotlib.pyplot as plt

iris = np.load('d:/tmp/iris.npz',allow_pickle=True)['data'][:, :-1]

name = np.load('d:/tmp/iris.npz',allow_pickle=True)['features_name']

plt.rcParams['font.sans-serif'] = 'SimHei'

p = plt.figure(figsize=(16, 16))

plt.title('iris散点图矩阵')

for i in range(4):

    for j in range(4):

        p.add_subplot(4, 4, (i * 4) + (j + 1))

        plt.scatter(iris[:, i], iris[:, j])

        plt.xlabel(name[i])

        plt.ylabel(name[j])        

plt.savefig('d:/tmp/矩阵.png')       

plt.show()

23.创建一个长度为10、一个维全为0的ndarray对象,然后让第5个元素等于1。

代码:import numpy as np

t1 = np.zeros(10,dtype=int)

print(t1)

t1[4]=1

print(t1)

 运行结果:

  [0 0 0 0 0 0 0 0 0 0]

[0 0 0 0 1 0 0 0 0 0]

24.用NumPy库生成范围在0~100之间且服从均匀分布的10行5列的数组。

25.用NumPy生成两个3×3的矩阵,并计算这两个矩阵的乘积。

  import NumPy.matlib

import NumPy as np

array1=np.array([[2,4],[6,8]]) #创建一个二维数组

array2=np.array([[22,44],[66,88]]) #创建一个二维数组

np.dot(array1,array2) #使用dot()函数求数组的乘积

26.使用np.random.random创建一个10×10的ndarray对象,并打印出最大值和最小值元素。

  import numpy as np

a=np.random.rand(10,10)

print(np.max(a))

print(np.min(a))

print(a)

27.创建一个10×10的nadarray对象,并且矩阵边界元素全为1,里面的元素全为0。

import numpy as np #arr=np.full(shape=(10,10),fill_value=0)   arr=np.zeros((10,10)) # 创建一个10*10的全0矩阵       arr[[0,-1]]=1 # 将首尾行替换为1 

arr[:,[0,-1]]=1 # 将首尾列替换为1 

arr

28.给定数组[1,2,3,4,5],如何得到在这个数组的每个元素之间插入3个0后的新数组?

  import numpy as np

  arr1 = np.arange(1, 6)

  print(arr1)

  arr2 = np.zeros(shape = 17, dtype = np.int16)

  print(arr2)

  arr2[::4] = arr1

  print(arr2)

29.编写一个函数,实现将NumPy矩阵的每一行都减去该行的平均值。

30.用Matplotlib库绘制函数2x3+(x-5)2+3x4的图形,并使用Scipy库求该函数的最小值。

答:用sklearn中的decomposition模块对sklearn中自带的手写数字数据集(调用方法:load_digits())进行PCA降维,将维度降为2,然后绘制降维后的样本散点图。

习题3

1.下列哪一项不是一个集合?(A)

A.项

B.项集

C.事务

D.事务数据库

2.对于同一个事务数据库中的两条关联规则:A=C和C=A,可知(A)。.

A.它们的支持度一定相等                B.它们的置信度一定相等

C.它们的支持度一定不相等            D.它们的置信度一定不相等

3.设{A,B,C}不是频繁项集,则可知(B)

A.{A,B}一定不是频繁项集            B.{A,B,C,D}一定不是频繁项集

C.{A,B}一定是频繁项集                D.{A,B,C,D}一定是频繁项集

4.若已知{A,B,C}的支持度是50%,C的支持度是75%,则可知(B)。

A.A.B=C的置信度是66.6%X

B.C=A,B的置信度是66.6%

C.A.B=C的置信度是150%X

D.C=A,B的置信度是150%

5.设N(a)={A,B,E}表示对物品a感兴趣的用户有A、B和E,N(b)={A,C,D}表示对物品b感兴趣的用户有A、C和D,每个用户对各物品的感兴趣程度均为1,则物品a、b之间的相似度为(A)

A.1/3        B.1/9       C.1/2       D.1/6

6.寻找关联规则可分为两步,第一步是找频繁项集.

7.协同过滤推荐算法使用余弦相似度作为指标来评价项与项之间的相似度。

8.经典的关联规则挖掘算法是Apriori算法,为提高关联规则的计算效率,改进的关联规则算法是FP-Tree

9.假设事务集有6个项。对于频繁3项集的集{1.23},{12.4},{1.2.5}.{1.3.4}.{2.3,4},{2.3.5},{3.4.6}

(1)列出由Apior算法得到的所有候选4项集。

所有候选四项集{1,2,3,4},{1,2,3,5},{1,2,3,6},{1,2,4,5},{1,2,5,6},{1,3,4,5},{1,3,4,6},{2,3,4,5},{2,3,4,6},{2,3,5,6},{3,4,5,6}

(2)列出剪枝后剩下的候选4项集。

剪枝后的候选四项集{1,2,3,4},{1,2,3,5},{1,2,4,5},{2,3,4,5},{2,3,4,6},{2,3,5,6}

10.解释如下关联规则表达式的含义:major(x,"Cs")^takes(x,"DB")---grade((x,"A")[1%,75%]

答:专业为“CS”并且选修了“DB”,且得分为“A”等的同学在所有同学中的比例是1%。“CS”专业的学生选修“数据库原理”,成绩得“A”的可能性是75%.

11.给定事务数据库如表3-7所示,假定数据包含频繁项集L={A,B,D}。问:可以由L产生哪些关联规则?分别列出其置信度。若最小置信度定义为80%,则产生的关联规则中哪些是强关联规则?

ID 购买商品

1 {B,A,D}

2 {D,A,C,E,B}

3 {C,A,B,E}

4 {K,A,D,B}

答:

L的非空子集有{A,B},{A,D},{B,D},{A},{B},{D}

产生关联规则如下

A^B->Dconfidence=75%<80%

A^D->Bconfidence=100%

B^D->Aconfidence=100%

符合题意的强关联规则有:A^D->B;B^D->A

12.编写Python程序,使用Apriori算法挖掘如表3-7所示的事务数据库中的频繁项集,并输出项集为3的关联规则(设最小支持度为75%,最小置信度为80%)。

答:略

习题4

1在统计学中,数据的类型有3种,不包括(B)。

A.定类数据

B.定性数据

C.定距数据

D.定序数据

2下列哪一-项不属于聚类算法?(B)

A.K-中心点

B.K近邻

C.K-means

D.DBSCAN

3.下列哪种距离是两点之间的直线距离?(A)

A.欧氏距离

B.曼哈顿距离

C切比雪夫距离

D.闵可夫斯基距离

4.从性能上看,(C)聚类算法的速度是最快的。

A.K-中心点

B.层次聚类法

C.K-means

D.DBSCAN

5.在DBSCAN中,一个簇是一个(C)的区域。

A.密度可达

B.直接密度可达

C.密度相连

D.直接密度相连

6.聚类算法可分为.层次聚类基于划分基于密度的方法和基于模型的方法。

7.在聚类中是通过距离度量相似度的。

8.在sklearm提供的聚类模块中,参数nclusters用于设置簇的个数

9.DBSCAN算法中定义的3类点分别是核心点、边界点噪音点

10解释语句X=np.array(list(zip(X1,X2)).reshape(len(X1),2)的含义

答:将列表X1和X2打包,然后将形状修改为2维X1长度的列表,再转换为numpy数组

11.分别使用K-means、K-medoids和DBSCAN算法对skle;类(聚类数目设置为3),并评估这3种聚类算法的准确率。

习题5

1.以下哪种算法生成的决策树一定是二叉树?(C)

A.ID3     B.C4.5         C.CART        D.都不一定

2.在C4.5算法中,若特征属性A的取值只有两种,两种取值的样本数都是5个,则属性A的分裂信息split_info(A)的值为(A)。

A.1  B.2  C.3  D.5

3.以下哪个sklearn函数的参数为训练集?(A)

A.fit()     B.predict()      C.fit_predict()    D.transform(x)

4.如果要在大型数据集上训练决策树,为了花费更少的时间来训练这个模型,下列哪种做法是正确的?(C)

A.增加树的深度  B.增加学习率 C.减小树的深度  D.减少树的数量

5.朴素贝叶斯分类是通过比较各个类别的哪个值的大小进行分类的?(A)

A.P(cⱼ|x)    B.P(x|cⱼ;)   C.P(cⱼ)/P(x)   D.P(cⱼ;)

6.混淆矩阵的真负率公式是(D)。

A.TP/(TP+FN)  B.FP/(FP+TN)  C.FN/(TP+FN)  D.TN/(TN+FP)

7.混淆矩阵中的TP=16,FP=12,FN=8,TN=4,F1-score是(B)。

A.4/13 B.8/13  C.4/7  D.2/3

8.若某个消息出现的概率是0.25,则该消息的自信息量是___2___。

9.ID3算法选取信息增益最大的节点作为根节点;C4.5算法选取信息增益率最大的节点作为根节点。

10.在K-近邻算法中,K的含义是近邻点的个数;在K-均值算法中,K的含义是聚类的类别数.

11.对于分类模型,fit()函数的参数为特征属性集,类别属性;对于聚类模型,fit()函数的参数为特征属性集

12.给定贝叶斯公式p(cj|x)=(p(x|cj)p(cj)/p(x))公式中的p(cj|x)称为后验概率(填写先验概率、后验概率或全概率)。朴素贝叶斯分类的依据是要求上式中P(Cj|x)的值最大。

13.在决策树分类中,属性的信息增益等于条件熵的差。

14.决策树是用样本的属性作为节点,用属性的取值作为分支的树结构。

15.CART算法是选择基尼指数最小(填大或小)的节点作为根节点。

16.只能对离散型数据进行决策树分类的算法是ID3

17.Bootstrap重采样技术采用有放回(填有放回或无放回)抽样。

18.在sklearn中,fit()函数的返回值是模型,predict()函数的返回值是标签

19.什么是训练集?聚类的训练集和分类的训练集有何区别?

答:训练集是样本的一部分,用来建立模型和参数估计。

区别:聚类的训练集无标记

20、简述分类的一般步骤。

特征提取→特征选择→建立分类模型→预测新实例→评估效果.

20.简述什么是集成学习。集成学习的精确率一定比单个学习器的精确率更高吗?

(1)集成学习:多个性能一般的普通模型进行有效集成,形成一个性能优良的集成模型的过程

(2)若弱学习器的分类准确率较低,则组合生成的集成学习模型的分类准确率会更低,故集成学习准确率不一定比单个学习器的准确率高

22.设有甲、乙、丙三个车间生产同一种产品,已知各车间的产量分别占全厂产量的25%、35%和40%,各车间的产品次品率依次为5%、4%和2%。现从待出厂的产品中检查出一个次品,试用朴素贝叶斯分类预测该次品最有可能是由哪个车间生产的,并指出该分类的特征属性和类别属性。

答:特征属性:次品

类别属性:车间

23.假设在某地区切片细胞中正常(w₁)和异常(w₂)两类的先验概率分别为p(w₁)=0.9,p(w₂)=0.1。现有一个待识别细胞呈现状态x,由其类条件概率密度分布曲线查得p(x|w₁)=0.2,p(x|w₂)=0.4,试对该细胞进行分类。

答:0.9*0.2>0.1*0.4

故该细胞属于正常类别。

24.试用如表5-21所示的训练数据训练一个朴素贝叶斯模型。表中的x1和x2为特征属性,取值集合分别为x1={1,2,3},x2={S,M,L},y为类别属性,预测新样本x=(3,S)的类别值。

表5-21训练数据如下

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

x1 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3

x2 S M M S S S M M L L L M M L L

y 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0

解:①先验概率

P(y=0)=6/15

p(y=1)=9/15

②后验概率逻辑回归

P(y=0|x1=2,x2=S)=P(x1=2|y=0)×P(x2=S|y=0)×P(y=0)

=2/6*3/6*6/15=1/15

P(y=1|x1=2,x2=S)=P(x1=2|y=1)×P(x2=S|y=1)×P(y=1)

=2/6*1/9*3/5=1/45

因为P(y=0|x1=2,x2=S)>P(y=1|x1=2,x2=S),所以样本x=(2,s)属于第0类。

习题6

1.关于逻辑回归模型,以下说法错误的是(B,D)。

A.逻辑回归属于有监督学习

B.逻辑回归是回归分析的一种

C.逻辑回归使用最大似然估计来训练回归模型

D.逻辑回归的损失函数是通过最小二乘法来定义的

2.hθ(x)=θTX可作为(B)模型的公式

A、逻辑回归                B.多元线性回归

C.多重线性回归           D.神经网络

3.要实现非线性分类,可以使用(B)。

A.多元逻辑回归                B.多项式逻辑回归

C.多重共线性回归            D.非线性逻辑回归

4.对于一个测试样本,逻辑回归模型的输出值等于样本属于该类别的概率值。(填等于、小于或大于)

5.回归与分类的区别是,回归的预测值是连续值。(填回归或分类)

6.逻辑回归使用激活(或Sigmoid)函数对线性回归进行变换。

7.如果直接用线性回归进行分类,会存在什么问题?

答:无法确定分类的阈值取多少合适

8.回归与分类的区别是什么?

答:回归可用于预测连续的目标变量

分类可用于预测离散的目标变量

9.简述使用逻辑回归进行分类的步骤。

答:

①建模

②估计逻辑回归系数

③解释回归系数④检验模型整体

⑤检验特征变量

10.简述使用极大似然估计法求解逻辑回归模型参数的步骤。

答:将正例和反例进行统一,无论正例或反例,都希望P(yi|xi)的值越大越好,将所有样本代入P(yi|xi),都希望P(yi|xi)的值越大越好,由此得到H(X)的似然函数L。显然,该似然函数的值越大越好。为方便求解,将似然函数两边取对数,得到对数似然函数。

习题7

1.人工神经元的公式和逻辑回归的公式相比,逻辑回归的公式中没有(B)。

A.激活函数变换             B.阈值

C.权重值                        D.损失函数

2.以下哪个函数可以对多分类问题的输出值进行归一化处理?(B)

A.Sigmoid        B.softmax

C.Relu                D.hinge

3.如果训练样本的类别值有4个,要构建一个神经网络模型训练该组样本,则神经网络的输出层应该有几个节点?(A)

A.4        B.3

C.2        D.1

4.深度神经网络主要是增加了(B)。

A.隐含层的节点数

B.隐含层的层数

C.输入层的节点数

D.输入层的层数

5.在神经网络的训练过程中,第i层节点的权重值w3要根据哪一层进行更新?(A)

A.i+1                        B.i-1

C.最后一层              D.所有层

6..神经网络的训练一般采用反向传播法。

7.神经网络中的神经元相当于是一个逻辑回归模型。

8.人工神经网络输入层的节点数目和输出层的节点数目如何确定?

答:输入层节点个数即特征属性的个数n

输出层节点个数即类别的个数

9.人工神经网络的4大要素是什么?

答:神经元特征,拓补结构,学习,训练规则

10.神经网络是怎样实现非线性分类的?

答:①有隐含层②激活函数必须是非线性函数

11.对sklearn自带的手写数字数据集(加载方法:load_digits())使用人工神经网络进行分类。要求首先将该数据集划分为训练集和样本集(比例为8:2),对该数据集的标签进行二值化处理,然后构建神经网络模型,每层节点数设为[64,100,10],激活函数使用Sigmoid,最后输出分类的准确率和混淆矩阵。

答:略

习题8

1.使用支持向量机进行非线性分类,需要用到的关键技术是(C)。

A.拉格朗日函数                 B.SMO算法

C.核函数                           D.软间隔方法

2.松弛变量惩罚项系数在sklearn中用哪个参数进行设置?(A)

A.C                   B.degree

C.tol                 D.coef0

3.如果要对环形分布的数据集进行分类,使用哪种核函数的效果最好?(C)

A.Linear

B.poly

C.RBF

D.Sigmoid

4.下列哪种核函数只能设置gamma参数?(C)

A.linear    B.poly

C.RBF      D.Sigmoid

5.SVM分类的目标是分类间隔d最大。

6.SVM间隔的计算公式为d=2/||w||。

7.所谓支持向量是指距离间隔最(填写远或近)的点

8.如果多项式核函数的degree参数设置为1,则相当于线分类。

9.为什么SVM的目标函数必须用拉格朗日对偶法来求解?

答:因为目标函数带有约束条件

10.简述使用SVM进行分类的基本步骤。

答:

1)定义决策边界的数学表达,并基于此表达定义分类函数;

2)为寻找最大间隔,引出损失函数。一般还要添加松弛系数作为惩罚项,以允许部分样本点在边界之内存在。

11.对sklearn自带的手写数字数据集(加载方法:load_digits())使用支持向量机进行分类。要求首先将该数据集划分为训练集和样本集(比例为8:2),然后构建支持向量机分类模型,核函数使用RBF,参数gamma设置为0.001,C设置为100,最后输出分类的准确率和混淆矩阵。

答:略

有关机器学习算法入门与编程实践课后题及答案(唐四新等编著)的更多相关文章

  1. ruby-on-rails - 使用 Ruby on Rails 进行自动化测试 - 最佳实践 - 2

    很好奇,就使用ruby​​onrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提

  2. ruby - 在 Windows 机器上使用 Ruby 进行开发是否会适得其反? - 2

    这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby​​-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub

  3. 叮咚买菜基于 Apache Doris 统一 OLAP 引擎的应用实践 - 2

    导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵

  4. 区块链之加解密算法&数字证书 - 2

    目录一.加解密算法数字签名对称加密DES(DataEncryptionStandard)3DES(TripleDES)AES(AdvancedEncryptionStandard)RSA加密法DSA(DigitalSignatureAlgorithm)ECC(EllipticCurvesCryptography)非对称加密签名与加密过程非对称加密的应用对称加密与非对称加密的结合二.数字证书图解一.加解密算法加密简单而言就是通过一种算法将明文信息转换成密文信息,信息的的接收方能够通过密钥对密文信息进行解密获得明文信息的过程。根据加解密的密钥是否相同,算法可以分为对称加密、非对称加密、对称加密和非

  5. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  6. CAN协议的学习与理解 - 2

    最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总

  7. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  8. 微信小程序开发入门与实战(Behaviors使用) - 2

    @作者:SYFStrive @博客首页:HomePage📜:微信小程序📌:个人社区(欢迎大佬们加入)👉:社区链接🔗📌:觉得文章不错可以点点关注👉:专栏连接🔗💃:感谢支持,学累了可以先看小段由小胖给大家带来的街舞👉微信小程序(🔥)目录自定义组件-behaviors    1、什么是behaviors    2、behaviors的工作方式    3、创建behavior    4、导入并使用behavior    5、behavior中所有可用的节点    6、同名字段的覆盖和组合规则总结最后自定义组件-behaviors    1、什么是behaviorsbehaviors是小程序中,用于实现

  9. 【Java入门】使用Java实现文件夹的遍历 - 2

    遍历文件夹我们通常是使用递归进行操作,这种方式比较简单,也比较容易理解。本文为大家介绍另一种不使用递归的方式,由于没有使用递归,只用到了循环和集合,所以效率更高一些!一、使用递归遍历文件夹整体思路1、使用File封装初始目录,2、打印这个目录3、获取这个目录下所有的子文件和子目录的数组。4、遍历这个数组,取出每个File对象4-1、如果File是否是一个文件,打印4-2、否则就是一个目录,递归调用代码实现publicclassSearchFile{publicstaticvoidmain(String[]args){//初始目录Filedir=newFile("d:/Dev");Datebeg

  10. ES基础入门 - 2

    ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear

随机推荐