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

机器学习day2-特征工程

四.特征工程

1.概念

一般使用pandas来进行数据清洗和数据处理、使用sklearn来进行特征工程

将任意数据(文本或图像等)转换为数字特征,对特征进行相关的处理

步骤:1.特征提取;2.无量纲化(预处理):归一化、标准化;3.降维:底方差过滤特征选择,主成分分析-PCA降维

2.特征工程API

①.实例化转换器对象

DictVectorizer      字典特征提取
CountVectorizer     文本特征提取
TfidfVectorizer     TF-IDF文本特征词的重要程度特征提取 
MinMaxScaler        归一化
StandardScaler      标准化
VarianceThreshold   底方差过滤降维
PCA                 主成分分析降维

②.fit,transform和fit_transform

fit:用于计算数据的统计信息,比如均值和标准差(在StandardScaler的情况下),这些统计信息随后会被用于预测出来的数据

transform:使用已经通过fit方法计算出的统计信息来转换数据。

fit_transform:两者结合,更高效

一旦scaler对象在X_train上被fit,它就已经知道了如何将数据标准化。

先fit_transform(x_train)然后再transform(x_text)

fit只用一次

# fit 和 transform 和fittransform 区别
from sklearn.preprocessing import StandardScaler,MinMaxScaler
import numpy as np
transfer=StandardScaler()
x=np.random.randint(100,size=(3,4))
print(x)
transfer.fit(x)#计算出均值和标准差
x=transfer.transform(x)
# x=transfer.fit_transform(x)
print(x)
x2=np.array([[10,20,30,40]])
x2=transfer.transform(x2)
​
print(x2)

3.DictVectorizer 字典列表特征提取

1.稀疏矩阵

一个矩阵中大部分元素为0,常见于大规模数据分析、图形学、自然语言处理、机器学习等领域

常用存储方式:①.三元组表 (Coordinate List, COO):三元组表就是一种稀疏矩阵类型数据,存储非零元素的行索引、列索引和值:

(行,列) 数据

(0,0) 10

(0,1) 20

(2,0) 90

(2,20) 8

(8,0) 70

表示除了列出的有值, 其余全是0

②.压缩稀疏行 (CSR - Compressed Sparse Row):

  • CSR 格式将稀疏矩阵中的非零元素按行优先的方式存储。它使用了三个数组:

    • data:存储非零元素的值。

    • indices:存储data中每个元素的列索引。

    • indptr:存储每一行在dataindices数组中的起始位置。

  • CSR 格式非常适合快速地进行行访问和矩阵向量乘法。

③.压缩稀疏列 (CSC - Compressed Sparse Column):

  • CSC 格式类似于 CSR,但它是按列优先的方式来存储稀疏矩阵。同样也使用了三个数组:

    • data:存储非零元素的值。

    • indices:存储data中每个元素的行索引。

    • indptr:存储每一列在dataindices数组中的起始位置。

  • CSC 格式对于快速地进行列访问和某些类型的矩阵运算很有帮助。

④.字典 (Dictionary of Keys - DOK):

DOK 格式使用一个字典来存储非零元素,其中键是元素的位置(通常是元组 (row, column)),值是非零元素本身。

  • 这种格式适合于动态地增加或修改矩阵中的非零元素。

⑤.链表 (List of Lists - LIL):

  • LIL 格式使用两个列表来表示稀疏矩阵。其中一个列表包含每一行的非零元素,另一个列表包含了这些非零元素的列索引。

  • LIL 格式适合于构建稀疏矩阵,特别是当矩阵的结构在构建过程中发生变化时。

⑥.块稀疏行 (BSR - Block Sparse Row):

  • BSR 格式类似于 CSR,但它不是处理单个非零元素,而是处理固定大小的非零元素块。

  • 这种格式适用于那些非零元素倾向于形成小的密集子矩阵的情况。

2.非稀疏矩阵(稠密矩阵)

矩阵中的大部分元素都是非0的,矩阵的存储通常采用标准的二维数组形式。在数学计算、线性代数等通用计算领域更为常见。

3.API

创建转换器对象:

sklearn.feature_extraction.DictVectorizer(sparse=True)

DictVectorizer:字典向量化工具

参数:

sparse=True返回类型为csr_matrix的稀疏矩阵

sparse=False表示返回的是数组,数组可以调用.toarray()方法将稀疏矩阵转换为数组

转换器对象:

转换器对象调用fit_transform(data)函数,参数data为一维字典数组或一维字典列表,返回转化后的矩阵或数组

转换器对象get_feature_names_out()方法获取特征名

eg1.提取为稀疏矩阵对应的数组
# 字典列表特征提取
from sklearn.feature_extraction import DictVectorizer
import pandas   as pd
data=[{'city':'北京','money':38,"age":20},{'city':'上海','money':60,"age":29},{'city':'深圳','money':30,"age":32},{'city':'深圳','money':40,"age":49}]
# 初始化工具(字典变成向量的工具器)
model=DictVectorizer(sparse=False)#sparse是否转换成三元组形式
data=model.fit_transform(data)
# print(data,type(data))
# print(model.get_feature_names_out())#获取所有的特征名称
ddata=pd.DataFrame(data=data,columns=model.get_feature_names_out())
# print(ddata)
ddata
eg2.提取为稀疏矩阵
# 字典列表特征提取
from sklearn.feature_extraction import DictVectorizer
import pandas   as pd
data=[{'city':'北京','money':38,"age":20},{'city':'上海','money':60,"age":29},{'city':'深圳','money':30,"age":32},{'city':'深圳','money':40,"age":49}]
# 初始化工具(字典变成向量的工具器)
model=DictVectorizer(sparse=True)#sparse是否转换成三元组形式
data=model.fit_transform(data)
print(data,type(data))
arr=data.toarray()#把三元组(稀疏矩阵)转化为数组
print(arr)

4.CountVectorizer 文本特征提取

1.API

sklearn.feature_extraction.text.CountVectorizer

构造函数关键字参数stop_words,值为list,表示词的黑名单(不提取的词)

fit_transform函数的返回值为稀疏矩阵

eg3.英文文本提取
# CountVectorizer 文本特征提取
from sklearn.feature_extraction.text import CountVectorizer
corpus = ['I love machine learning. Its awesome.', 'Its a book amazon book', 'Amazon is book a great company']
# 创建一个词频提取对象
vectorizer = CountVectorizer(stop_words=[])
# 提取词频
x=vectorizer.fit_transform(corpus)
print(x)
print(x.toarray())
print(vectorizer.get_feature_names_out())
eg4.中文文本提取
! pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jieba
# CountVectorizer 中文本特征提取
from sklearn.feature_extraction.text import CountVectorizer
import jieba
import pandas as pd
# arr=list(jieba.cut("我爱北京天安门"))
# print(arr)
# str1=" ".join(arr)
# print(str1)
#传入的文本(没有断词的字符串) 用jieba分词工具转化为数据容器,然后再把数据容器中元素用空格连接成字符串
def my_cut(text):return " ".join(jieba.cut(text))
​
​
corpus = ["教育学会会长期间,坚定支持民办教育事业!",  "扶持民办,学校发展事业","事业做出重大贡献!"]
# # 创建一个词频提取对象
vectorizer = CountVectorizer(stop_words=[])
# 提取词频
data=[my_cut(el) for el in corpus]
print(data)
x=vectorizer.fit_transform(data)
print(x)
print(x.toarray())
print(vectorizer.get_feature_names_out())
​
ddata=pd.DataFrame(x.toarray(),columns=vectorizer.get_feature_names_out())
ddata

5.TfidfVectorizer TF-IDF文本特征词的重要程度特征提取

1.算法

词频(Term Frequency, TF), 表示一个词在当前篇文章中的重要性,是对词数的归一化

TF=某个词在文章中的出现次数/文章的总词数

逆文档频率(Inverse Document Frequency, IDF), 反映了词在整个文档集合中的稀有程度

IDF=lg((语料库的文档总数+1)/(包含该词的文档数+1))

TF-IDF=词频(TF)×逆文档频率(IDF)

2.API

sklearn.feature_extraction.text.TfidfVectorizer()

构造函数关键字参数stop_words,表示词特征黑名单

fit_transform函数的返回值为稀疏矩阵

eg5
from sklearn.feature_extraction.text import CountVectorizer,TfidfVectorizer
import jieba
import pandas as pd
def my_cut(text):return " ".join(jieba.cut(text))
data=["教育学会会长期间,坚定支持民办教育事业!",  "扶持民办,学校发展事业","事业做出重大贡献!"]
data=[my_cut(i) for i in data]
print(data)
transfer=TfidfVectorizer(stop_words=[])
res=transfer.fit_transform(data)
print(transfer.get_feature_names_out())
print(res.toarray())
ddata=pd.DataFrame(res.toarray(),columns=transfer.get_feature_names_out())
ddata

6.无量纲化-预处理

1.MinMaxScaler 归一化

2.归一化API

sklearn.preprocessing.MinMaxScaler(feature_range)

参数:feature_range=(0,1) 归一化后的值域,可以自己设定

fit_transform函数归一化的原始数据类型可以是list、DataFrame和ndarray, 不可以是稀疏矩阵

fit_transform函数的返回值为ndarray

eg6.归一化
from sklearn.preprocessing import MinMaxScaler
import pandas as   pd
scaler=MinMaxScaler(feature_range=(0,1))
data=pd.read_excel("./src/test2.xlsx")
print(data.values)
# arr=scaler.fit_transform(data.values)
arr=scaler.fit_transform(data)
print(arr)

鲁棒性较差

# 字典列表特征提取后的结果归一化
from sklearn.feature_extraction import DictVectorizer
from sklearn.preprocessing  import MinMaxScaler
import pandas   as pd
data=[{'city':'北京','money':38,"age":20},{'city':'上海','money':60,"age":29},{'city':'深圳','money':30,"age":32},{'city':'深圳','money':40,"age":49}]
# 初始化工具(字典变成向量的工具器)
model=DictVectorizer(sparse=True)#sparse是否转换成三元组形式
data=model.fit_transform(data)
# print(data,type(data))
arr=data.toarray()#把三元组(稀疏矩阵)转化为数组
print(arr)
arr_1=MinMaxScaler().fit_transform(arr)
arr_1

3.StandardScaler 标准化

4.标准化API

sklearn.preprocessing.StandardScale

与MinMaxScaler一样,原始数据类型可以是list、DataFrame和ndarray

fit_transform函数的返回值为ndarray, 归一化后得到的数据类型都是ndarray

eg7.标准化
from sklearn.preprocessing import StandardScaler
import numpy as np
# 初始化标准化工具
scaler = StandardScaler()
np.random.seed(7)
data=np.array([[1,2,3,4],[2,2,3,4],[3,2,3,4],[4,2,3,4]])
#np.random.randint(0,100,(30,4))
# print(data)
# 把data进行标准化
x=scaler.fit_transform(data)
print(x)

7.特征降维

降维:去掉一些特征或者将多个特征转化为少量个特征

在尽可能保留数据的重要信息上减少数据集维度,可以减少计算成本、去除噪声

方式:特征选择、主成份分析(PCA)

1.特征选择
①.VarianceThreshold 低方差过滤特征选择

计算方差-设定阈值-过滤特征

eg8
# 低方差过滤
from sklearn.feature_selection import VarianceThreshold
transfer=VarianceThreshold(threshold=0.01)
x=[[0,2,0,3],[0,1,4,3],[0,1,1,3]]
x=transfer.fit_transform(x)
print(x)

②.根据相关系数的特征选择

正相关性:一个变量增加通常伴随着另一个变量的增加。ρ=1,完全正相关

负相关性:一个变量减少通常伴随着另一个变量的减少。ρ=-1,完全负相关

不相关:两者的相关性很小,一个变量变化不会引起另外的变量变化。ρ=0,不存在线性关系

! pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scipy

皮尔逊相关系数(Pearson correlation coefficient)是一种度量两个变量之间线性相关性的统计量。它提供了两个变量间关系的方向(正相关或负相关)和强度的信息,取值范围是 [−1,1]。绝对值越大,表示越相关,当两特征完全相关时,两特征的值表示的向量是在同一条直线上,当两特征的相关系数绝对值很小时,两特征值表示的向量接近在同一条直线上。当相关系值为负数时,表示负相关

|ρ|<0.4为低度相关; 0.4<=|ρ|<0.7为显著相关; 0.7<=|ρ|<1为高度相关

API:

scipy.stats.personr(x, y) 计算两特征之间的相关性

返回对象有两个属性:

statistic皮尔逊相关系数[-1,1]

pvalue零假设(了解),统计上评估两个变量之间的相关性,越小越相关

from scipy.stats import pearsonr
import numpy as np
x1=[1,2,3,4,5]
y=[2,4,6,8,10]
r=pearsonr(x1,y)
print(r.statistic,r.pvalue)

2.主成份分析(PCA)

从原始特征空间中找到一个新的坐标系统,使得数据在新坐标轴的投影能够最大程度地保留数据的方差,同时减少维度。

保留信息/丢失信息=信息保留的比例

步骤:得到矩阵-用矩阵P对原始数据进行线性变换,得到新的数据矩阵Z-根据主成分的方差等,确定最终保留的主成分个数,留下方差大的

API

from sklearn.decomposition import PCA

PCA(n_components=None)

n_components:

  • 实参为小数时:表示降维后保留百分之多少的信息

  • 实参为整数时:表示减少到多少特征

    eg9
#特征降维 减少到多少特征
from sklearn.decomposition import PCA
data=[[2,8,4,5],[6,3,0,8],[5,4,9,1]]
pca=PCA(n_components=2)
data=pca.fit_transform(data)
print(data)

#特征降维
from sklearn.decomposition import PCA
import numpy as np
data=np.random.rand(5,100)#5条数据,100个特征量
#print(data)
pca=PCA(n_components=0.8)
data=pca.fit_transform(data)
print(data.shape,data)

相关文章:

机器学习day2-特征工程

四.特征工程 1.概念 一般使用pandas来进行数据清洗和数据处理、使用sklearn来进行特征工程 将任意数据&#xff08;文本或图像等&#xff09;转换为数字特征&#xff0c;对特征进行相关的处理 步骤&#xff1a;1.特征提取&#xff1b;2.无量纲化&#xff08;预处理&#xf…...

Python数据分析NumPy和pandas(三十五、时间序列数据基础)

时间序列数据是许多不同领域的结构化数据的重要形式&#xff0c;例如金融、经济、生态学、神经科学和物理学。在许多时间点重复记录的任何内容都会形成一个时间序列。许多时间序列是固定频率的&#xff0c;也就是说&#xff0c;数据点根据某些规则定期出现&#xff0c;例如每 1…...

Python 小高考篇(6)常见错误及排查

目录 TypeError拼接字符串和数字错误示范正确示范 数字、字符串当成函数错误示范 给函数传入未被定义过的参数错误示范 传入的参数个数不正确错误示范 字符串相乘错误示范正确示范 量取整数的长度错误示范正确示范 格式化字符串时占位符个数不正确错误示范 给复数比较大小错误示…...

k8s上部署redis高可用集群

介绍&#xff1a; Redis Cluster通过分片&#xff08;sharding&#xff09;来实现数据的分布式存储&#xff0c;每个master节点都负责一部分数据槽&#xff08;slot&#xff09;。 当一个master节点出现故障时&#xff0c;Redis Cluster能够自动将故障节点的数据槽转移到其他健…...

C++的类和对象

在C中&#xff0c;类&#xff08;class&#xff09;和对象&#xff08;object&#xff09;是面向对象编程&#xff08;OOP&#xff09;的核心概念。以下是它们的详细介绍&#xff1a; 1. 类&#xff08;Class&#xff09; 定义&#xff1a; 类是用来定义一个新的数据类型&…...

自动驾驶系列—深入解析自动驾驶车联网技术及其应用场景

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…...

机器学习(1)

一、机器学习 机器学习&#xff08;Machine Learning, ML&#xff09;是人工智能&#xff08;Artificial Intelligence, AI&#xff09;的一个分支&#xff0c;它致力于开发能够从数据中学习并改进性能的算法和模型。机器学习的核心思想是通过数据和经验自动优化算法&#xff…...

深入理解 Redis跳跃表 Skip List 原理|图解查询、插入

1. 简介 跳跃表 ( skip list ) 是一种有序数据结构&#xff0c;通过在每个节点中维持多个指向其他节点的指针&#xff0c;从而达到快速访问节点的目的。 在 Redis 中&#xff0c;跳跃表是有序集合键的底层实现之一&#xff0c;那么这篇文章我们就来讲讲跳跃表的实现原理。 2. …...

Halcon HImage 与 Qt QImage 的相互转换(修订版)

很久以前&#xff0c;我写过一遍文章来介绍 HImage 和 QImage 之间的转换方法。&#xff08;https://blog.csdn.net/liyuanbhu/article/details/91356988&#xff09; 这个代码其实是有些问题的。因为我们知道 QImage 中的图像数据不一定是连续的&#xff0c;尤其是图像的宽度…...

【Golang】——Gin 框架中的模板渲染详解

Gin 框架支持动态网页开发&#xff0c;能够通过模板渲染结合数据生成动态页面。在这篇文章中&#xff0c;我们将一步步学习如何在 Gin 框架中配置模板、渲染动态数据&#xff0c;并结合静态资源文件创建一个功能完整的动态网站。 文章目录 1. 什么是模板渲染&#xff1f;1.1 概…...

CSS:导航栏三角箭头

用CSS实现导航流程图的样式。可根据自己的需求进行修改&#xff0c;代码精略的写了一下。 注&#xff1a;场景一和场景二在分辨率比较低的情况下会有一个1px的缝隙不太优雅&#xff0c;自行处理。有个方法是直接在每个外面包一个DIV&#xff0c;用动态样式设置底色。 场景一、…...

onlyoffice Command service(命令服务)使用示例

一、说明 文档在这里&#xff1a;https://api.onlyoffice.com/docs/docs-api/additional-api/command-service/ 命令服务提供有几个简单的接口封装。也提供了前端和后端同时操作文档的可能。 二、正文 命令服务地址&#xff1a;https://documentserver/coauthoring/Com…...

QSS 设置bug

问题描述&#xff1a; 在QWidget上add 一个QLabel&#xff0c;但是死活不生效 原因&#xff1a; c 主程序如下&#xff1a; QWidget* LOGO new QWidget(logo_wnd);LOGO->setFixedSize(logo_width, 41);LOGO->setObjectName("TittltLogo");QVBoxLayout* tit…...

交换排序——快速排序

交换排序——快速排序 7.7 交换排序——快速排序快速排序概念c语言的库函数qsort快速排序框架quickSort 7.7 交换排序——快速排序 快速排序概念 快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法&#xff08;下文简称快排&#xff09;&#xff0c;其基本思想为&a…...

nodejs入门(1):nodejs的前后端分离

一、引言 我关注nodejs还是从前几年做了的一个电力大数据展示系统开始的&#xff0c;当然&#xff0c;我肯定是很多年的计算机基础的&#xff0c;万变不离其宗。 现在web网站都流行所谓的前后端结构&#xff0c;不知不觉我也开始受到这个影响&#xff0c;以前都是前端直接操作…...

笔记|M芯片MAC (arm64) docker上使用 export / import / commit 构建amd64镜像

很简单的起因&#xff0c;我的东西最终需要跑在amd64上&#xff0c;但是因为mac的架构师arm64&#xff0c;所以直接构建好的代码是没办法跨平台运行的。直接在arm64上pull下来的docker镜像也都是arm64架构。 检查镜像架构&#xff1a; docker inspect 8135f475e221 | grep Arc…...

gorm框架

连接 需要下载mysql的驱动 go get gorm.io/driver/mysql go get gorm.io/gorm 约定 主键&#xff1a;GORM 使用一个名为ID 的字段作为每个模型的默认主键。表名&#xff1a;默认情况下&#xff0c;GORM 将结构体名称转换为 snake_case 并为表名加上复数形式。 例如&#xf…...

免费送源码:Java+Springboot+MySQL Springboot多租户博客网站的设计 计算机毕业设计原创定制

Springboot多租户博客网站的设计 摘 要 博客网站是当今网络的热点&#xff0c;博客技术的出现使得每个人可以零成本、零维护地创建自己的网络媒体&#xff0c;Blog站点所形成的网状结构促成了不同于以往社区的Blog文化&#xff0c;Blog技术缔造了“博客”文化。本文课题研究的“…...

【ASR技术】WhisperX安装使用

介绍 WhisperX 是一个开源的自动语音识别&#xff08;ASR&#xff09;项目&#xff0c;由 m-bain 开发。该项目基于 OpenAI 的 Whisper 模型&#xff0c;通过引入批量推理、强制音素对齐和语音活动检测等技术。提供快速自动语音识别&#xff08;large-v2 为 70 倍实时&#xf…...

【计算机网络】协议定制

一、结构化数据传输流程 这里涉及协议定制、序列化/反序列化的知识 对于序列化和反序列化&#xff0c;有现成的解决方案&#xff1a;①json ②probuff ③xml 二、理解发送接收函数 我们调用的所有发送/接收函数&#xff0c;根本就不是把数据发送到网络中&#xff01;本质都是…...

【SQL】mysql常用命令

为方便查询&#xff0c;特整理MySQL常用命令。 约定&#xff1a;$后为Shell环境命令&#xff0c;>后为MySQL命令。 1 常用命令 第一步&#xff0c;连接数据库。 $ mysql -u root -p # 进入MySQL bin目录后执行&#xff0c;回车后输入密码连接。# 常用参数&…...

阿里云引领智算集群网络架构的新一轮变革

阿里云引领智算集群网络架构的新一轮变革 云布道师 11 月 8 日~ 10 日在江苏张家港召开的 CCF ChinaNet&#xff08;即中国网络大会&#xff09;上&#xff0c;众多院士、教授和业界技术领袖齐聚一堂&#xff0c;畅谈网络未来的发展方向&#xff0c;聚焦智算集群网络的创新变…...

几何合理的分片段感知的3D分子生成 FragGen - 评测

FragGen 来源于 2024 年 3 月 25 日 预印本的文章&#xff0c;文章题目是 Deep Geometry Handling and Fragment-wise Molecular 3D Graph Generation&#xff0c; 作者是 Odin Zhang&#xff0c;侯廷军&#xff0c;浙江大学药学院。FragGen 是一个基于分子片段的 3D 分子生成模…...

Python爬虫下载新闻,Flask展现新闻(2)

上篇讲了用Python从新闻网站上下载新闻&#xff0c;本篇讲用Flask展现新闻。关于Flask安装网上好多教程&#xff0c;不赘述。下面主要讲 HTML-Flask-数据 的关系。 简洁版 如图&#xff0c;页面简单&#xff0c;主要显示新闻标题。 分页&#xff0c;使用最简单的分页技术&…...

监控易监测对象及指标之:全面监控华为FusionInsight服务

随着大数据技术的广泛应用&#xff0c;华为FusionInsight以其卓越的性能和稳定性&#xff0c;成为了众多企业处理和分析海量数据的首选平台。然而&#xff0c;为了确保FusionInsight服务的持续稳定运行&#xff0c;对其进行全面监控至关重要。本文基于监控易工具&#xff0c;对…...

SQL面试题——蚂蚁SQL面试题 会话分组问题

会话分组问题 这里的分组不是简单的分组,而是会话的分组。 比如说,进入一个网站以后,可以连续的点击很多个页面,后台会记录用户的行为日志; 如果T日上午连续点击几个页面后退出了网站,直到第二天的下午才再次进入网站,单单从时间线上来看,昨天退出的那条日志跟今天进…...

nfs服务器--RHCE

一&#xff0c;简介 NFS&#xff08;Network File System&#xff0c;网络文件系统&#xff09;是FreeBSD支持的文件系统中的一种&#xff0c;它允许网络中的计 算机&#xff08;不同的计算机、不同的操作系统&#xff09;之间通过TCP/IP网络共享资源&#xff0c;主要在unix系…...

React--》如何高效管理前端环境变量:开发与生产环境配置详解

在前端开发中&#xff0c;如何让项目在不同环境下表现得更为灵活与高效&#xff0c;是每个开发者必须面对的挑战&#xff0c;从开发阶段的调试到生产环境的优化&#xff0c;环境变量配置无疑是其中的关键。 env配置文件&#xff1a;通常用于管理项目的环境变量&#xff0c;环境…...

Javascript高级—函数柯西化

函数柯西化&#xff08;经典面试题&#xff09; // 实现一个add方法&#xff0c;使计算结果能够满足如下预期&#xff1a; add(1)(2)(3) 6; add(1, 2, 3)(4) 10; add(1)(2)(3)(4)(5) 15;function add() {// 第一次执行时&#xff0c;定义一个数组专门用来存储所有的参数var…...

Sql进阶:字段中包含CSV,如何通过Sql解析CSV成多行多列?

Sql进阶 一、问题描述二、解决思路<一>、拆成多行<二>、拆成多列 三、代码实现 一、问题描述 Oracle数据库中某个字段value是CLOB类型,存的是csv格式的数据,如下所示 classnovalue1name,age,sex,… ‘李世民’,20,‘M’,…’ ‘李治’,18,‘M’,… ‘武则天’,16…...

微信app下载安装官方版2021/seo学校培训

在ubuntu上使用kubeadm安装好k8s后&#xff0c;使用kubectl get cs 查看状态&#xff0c;发现 controller-manager scheduler Unhealthy 解决方案 修改以下配置文件 /etc/kubernetes/manifests/kube-controller-manager.yaml /etc/kubernetes/manifests/kube-scheduler.yaml…...

长沙的网站建设公司哪家好/网站优化内容

今天一同事问我怎么利用数据库让数据库定时更新、备份。我想了很久&#xff0c;才想到作业上来。由于以前基本没用过作业&#xff0c;今天特意恶补了一下&#xff0c;帮同事给解决了。现在总结出来来给大家看一下。 1、 首先先了解一下什么是SQL数据库中的作业 贴上微软官方的…...

网站做app开发工具/南宁seo

剑指offer 35.复杂链表的复制 class Solution {public Node copyRandomList(Node head) {if(head null){return null;}//使cur指向原链表的头节点Node cur head;//创建哈希表//<原链表节点, 新的链表节点>Map<Node, Node> map new HashMap<>();while(cur…...

php做网站评价/1688网站

1. 下载当前内核源代码 为什么下载内核源代? 一是便于查看或学习linux内核代码的底层实现方法&#xff1b; 二是便于编写或调试Linux设备驱动程序&#xff0c;因为驱动程序的编译需要内核源代码。 如何选择 如果您要构建一个外部模块(包括正在开发的模块)&#xff0c;则只需要…...

网站平台怎么做的好/网络公司

一、Windows环境下使用.bat安装和卸载服务 win7环境 例子中“”Valwell.Dms.HttpService.exe“”为服务程序名称 安装服务 %SystemRoot%\Microsoft.NET\Framework\v2.0.50727\installutil.exe Valwell.Dms.HttpService.exeNet Start SKMPServicesc config SKMPService start au…...

政府网站集群建设费项目/北京网站优化步骤

转自&#xff1a;https://blog.csdn.net/yhaolpz/article/details/71375762 历时一周终于在 ubuntu16.04 系统成功安装 caffe 并编译&#xff0c;网上有很多教程&#xff0c;但是某些步骤并没有讲解详尽&#xff0c;导致配置过程总是出现各种各样匪夷所思的问题&#xff0c;尤…...