【数据科学】Scikit-learn[Scikit-learn、加载数据、训练集与测试集数据、创建模型、模型拟合、拟合数据与模型、评估模型性能、模型调整]

news2024/11/20 11:26:15

这里写目录标题

  • 一、Scikit-learn
  • 二、加载数据
  • 三、训练集与测试集数据
  • 四、创建模型
    • 4.1 有监督学习评估器
      • 4.1.1 线性回归
      • 4.1.2 支持向量机(SVM)
      • 4.1.3 朴素贝叶斯
      • 4.1.4 KNN
    • 4.2 无监督学习评估器
      • 4.2.1 主成分分析(PCA)
      • 4.2.2 K Means
  • 五、模型拟合
    • 5.1 有监督学习
    • 5.2 无监督学习
  • 六、拟合数据与模型
    • 6.1 标准化
    • 6.2 归一化
    • 6.3 二值化
    • 6.4 编码分类特征
    • 6.5 输入缺失值
    • 6.6 生成多项式特征
  • 七、评估模型性能
    • 7.1 评估模型性能
      • 7.1.1 准确率
      • 7.1.2 分类预估评价函数
      • 7.1.3 混淆矩阵
    • 7.2 回归指标
      • 7.2.1 平均绝对误差
      • 7.2.2 均方误差
      • 7.2.3 R²评分
    • 7.3 群集指标
      • 7.3.1 调整兰德系数
      • 7.3.2 同质性
      • 7.3.3 V-measure
    • 7.4 交叉验证
  • 八、模型调整
    • 8.1 栅格搜索
    • 8.2 随机参数优化


一、Scikit-learn

Scikit-learn开源的Python库,通过统一的界面实现机器学习预处理交叉验证及可视化算法

在这里插入图片描述

>>> from sklearn import neighbors, datasets, preprocessing
>>> from sklearn.model_selection import train_test_split
>>> from sklearn.metrics import accuracy_score
>>> iris = datasets.load_iris()
>>> X, y = iris.data[:, :2], iris.target
>>> X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=33)
>>> scaler = preprocessing.StandardScaler().fit(X_train)
>>> X_train = scaler.transform(X_train)
>>> X_test = scaler.transform(X_test)
>>> knn = neighbors.KNeighborsClassifier(n_neighbors=5)
>>> knn.fit(X_train, y_train)
>>> y_pred = knn.predict(X_test)
>>> accuracy_score(y_test, y_pred)

  以上是使用 scikit-learn 库 进行 k-最近邻(KNN)分类的流程,得到 KNN 分类器在 iris 数据集上的预测准确率。


二、加载数据

  Scikit-learn 处理的数据是存储为 NumPy 数组或 SciPy 稀疏矩阵的数字,还支持 Pandas 数据框等可转换为数字数组的其它数据类型

>>> import numpy as np
# 导入了 NumPy 库,用于进行数值计算和数组操作
>>> X = np.random.random((10,5))
>>> y = np.array(['M','M','F','F','M','F','M','M','F','F','F'])
>>> X[X < 0.7] = 0

  以上我们使用了 NumPy 库来生成一个随机的 10 行 5 列的矩阵 X,并将小于 0.7 的元素置为 0。同时,创建了一个包含性别标签的 NumPy 数组 y。我们得到一个形状为 (10, 5) 的随机矩阵 X,其中小于 0.7 的元素被置为 0,并创建了一个包含性别标签的数组 y。这些数据可以用于接下来的 分析建模 或其他任务中。


三、训练集与测试集数据

  使用了 scikit-learn 库train_test_split 函数,将数据集划分为 训练集测试集

>>> from sklearn.model_selection import train_test_split
>>> X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)

  得到划分后的训练集和测试集的特征数据 X_train、X_test,以及对应的类别标签数据 y_train、y_test。可以在训练集上进行模型训练,然后使用测试集评估模型的性能和准确率


四、创建模型

4.1 有监督学习评估器

4.1.1 线性回归

  我们使用 scikit-learn 库LinearRegression 类创建一个线性回归模型对象

>>> from sklearn.linear_model import LinearRegression
>>> lr = LinearRegression(normalize=True)

  创建一个线性回归模型对象 lr


4.1.2 支持向量机(SVM)

  我们使用 scikit-learn 库SVC 类,创建一个 支持向量机(SVM)模型对象

>>> from sklearn.svm import SVC
>>> svc = SVC(kernel='linear')

  创建一个支持向量机模型对象 svc,并 使用线性核函数进行分类


4.1.3 朴素贝叶斯

  使用 scikit-learn 库GaussianNB 类,创建一个 朴素贝叶斯模型对象

>>> from sklearn.naive_bayes import GaussianNB
>>> gnb = GaussianNB()

  创建一个朴素贝叶斯模型对象 gnb。朴素贝叶斯模型是一种常用的概率模型,适用于 分类问题


4.1.4 KNN

  使用 scikit-learn 库neighbors 模块,创建一个 K 最近邻(KNN)分类器对象

>>> from sklearn import neighbors
>>> knn = neighbors.KNeighborsClassifier(n_neighbors=5)

  创建一个 KNN 分类器对象 knn,它会 根据最近的邻居来进行分类KNN 是一种 基于实例的学习方法,根据最近邻居的标签进行分类


4.2 无监督学习评估器

4.2.1 主成分分析(PCA)

  使用 scikit-learn 库PCA 类,创建一个 主成分分析(PCA)对象

>>> from sklearn.decomposition import PCA
>>> pca = PCA(n_components=0.95)

  创建一个 PCA 对象 pca,它可以用于降维或特征提取。PCA 是一种常用的降维技术,可 将高维数据映射到低维空间,保留数据的主要特征


4.2.2 K Means

  使用 scikit-learn 库KMeans 类创建一个 K-Means 聚类器对象

>>> from sklearn.cluster import KMeans
>>> k_means = KMeans(n_clusters=3, random_state=0)

  创建一个 K-Means 聚类器对象 k_means,它将根据数据点之间的距离进行聚类。K-Means 是一种常用的聚类算法将数据点分割成预定义数量的簇,使得簇内的数据点尽可能相似,而不同簇之间的数据点差异较大


五、模型拟合

5.1 有监督学习

  展示了 三种不同的机器学习算法在训练集上进行训练的过程

# 拟合数据与模型
>>> lr.fit(X, y)
# 使用逻辑回归算法(Logistic Regression)对数据集(X, y)进行拟合。其中,X是输入特征矩阵,y是对应的目标变量向量
>>> knn.fit(X_train, y_train)
# 使用K近邻算法(K-Nearest Neighbors)对训练集(X_train, y_train)进行拟合。其中,X_train是训练集的输入特征矩阵,y_train是对应的目标变量向量
>>> svc.fit(X_train, y_train)
# 使用支持向量机算法(Support Vector Machine)对训练集(X_train, y_train)进行拟合。其中,X_train是训练集的输入特征矩阵,y_train是对应的目标变量向量

5.2 无监督学习

  对训练集进行聚类特征降维的过程如下。

>>> k_means.fit(X_train) # 拟合数据与模型
>>> pca_model = pca.fit_transform(X_train) # 拟合并转换数据

  模型会根据给定的训练集数据对 K-Means 聚类算法和 PCA 算法进行拟合。对于 K-Means 聚类算法,模型会 学习找到最佳的簇中心点;对于 PCA 算法,模型会 学习找到最佳的主成分投影空间。这些拟合操作会生成相应的模型或转换对象,以便于之后对新的数据进行聚类降维操作


六、拟合数据与模型

6.1 标准化

  以下是对训练集和测试集进行数据标准化的过程。

>>> from sklearn.preprocessing import StandardScaler
>>> scaler = StandardScaler().fit(X_train)
>>> standardized_X = scaler.transform(X_train)
>>> standardized_X_test = scaler.transform(X_test)

  创建一个 StandardScaler 对象 scaler,并 使用训练集的数据对其进行拟合。然后,我们可以使用 scaler 对训练集和测试集进行标准化转换,以确保数据具有相同的尺度和范围,以 提高模型的训练和预测效果


6.2 归一化

  接下来我们学习对训练集和测试集进行数据归一化

>>> from sklearn.preprocessing import Normalizer
>>> scaler = Normalizer().fit(X_train)
>>> normalized_X = scaler.transform(X_train)
>>> normalized_X_test = scaler.transform(X_test)

  创建一个 Normalizer 对象 scaler,并使用训练集的数据对其进行拟合。然后,我们可以 使用 scaler 对训练集和测试集进行归一化转换,以确保数据在特征向量方向上具有单位范数归一化可以使得不同样本之间的特征向量更具可比性,并且有助于某些机器学习算法的训练和预测效果。


6.3 二值化

  这里展示了对数据集进行二值化处理的过程。

>>> from sklearn.preprocessing import Binarizer
>>> binarizer = Binarizer(threshold=0.0).fit(X)
>>> binary_X = binarizer.transform(X)

  创建一个 Binarizer 对象 binarizer,并使用阈值 threshold=0.0 对数据集 X 进行二值化处理。然后,我们可以 使用 binarizer 对数据集进行二进制转换,并将结果保存在变量 binary_X 中二值化可以使得不同样本之间的特征更具可比性,并且有助于某些机器学习算法的训练和预测效果。


6.4 编码分类特征

  使用 LabelEncoder 对目标变量进行标签编码的过程。

>>> from sklearn.preprocessing import LabelEncoder
>>> enc = LabelEncoder()
>>> y = enc.fit_transform(y)

  创建一个 LabelEncoder 对象 enc,并使用其 fit_transform 方法对目标变量 y 进行标签编码处理。编码后的结果会覆盖原目标变量 y 的值,使得原本的标签被替换为相应的整数编码标签编码常用于将非数字类型的目标变量转换为模型可接受的数字形式,以便进行机器学习任务的训练和预测。


6.5 输入缺失值

  使用 Imputer 对象对数据集中的缺失值进行填充

>>> from sklearn.preprocessing import Imputer
>>> imp = Imputer(missing_values=0, strategy='mean', axis=0)
>>> imp.fit_transform(X_train)

  创建一个 Imputer 对象 imp,并使用其 fit_transform 方法对训练集 X_train 中的缺失值进行填充处理。填充后的结果会覆盖原始的训练集数据 X_train,使得缺失值被替换为相应列的均值Imputer 类常用于在数据预处理阶段处理缺失值,以保证数据集的完整性和准确性


6.6 生成多项式特征

  使用 PolynomialFeatures 对特征进行多项式扩展

>>> from sklearn.preprocessing import PolynomialFeatures
>>> poly = PolynomialFeatures(5)
>>> poly.fit_transform(X)

  创建一个 PolynomialFeatures 对象 poly,并使用其 fit_transform 方法对数据集 X 进行多项式扩展处理。扩展后的结果会包含原始特征的各种次方组合从一次项到最高次数为 5 的项多项式扩展常用于增加模型的复杂度,以捕捉特征之间的非线性关系,从而提升模型的预测能力


七、评估模型性能

7.1 评估模型性能

7.1.1 准确率

  使用 scikit-learn 中的评估器评分法和指标评分函数来评估模型的准确性

>>> knn.score(X_test, y_test)
# 评估器评分法
>>> from sklearn.metrics import accuracy_score
# 指标评分函数
>>> accuracy_score(y_test, y_pred)

  可以使用评估器评分法或指标评分函数来评估模型在测试集上的准确性评估器评分法直接调用模型对象的 score 方法,而指标评分函数则需要传入真实目标变量数据和预测结果数据来计算准确性得分。这些评估方法可以帮助我们 了解模型的性能,并 比较不同模型之间的表现


7.1.2 分类预估评价函数

  使用 scikit-learn 中的 classification_report 函数 来生成分类模型的精确度、召回率、F1指数和支持率等评估指标报告。

>>> from sklearn.metrics import classification_report
# 精确度、召回率、F1分数及支持率
>>> print(classification_report(y_test, y_pred))

  可以使用 classification_report 函数生成分类模型的评估指标报告。该报告会包含每个类别的精确度召回率F1指数支持率等指标,以及加权平均值总平均值。这些指标可以帮助我们评估模型在不同类别上的表现,并提供关于模型性能的详细信息。


7.1.3 混淆矩阵

  使用 scikit-learn 中的 confusion_matrix 函数生成分类模型的混淆矩阵

>>> from sklearn.metrics import confusion_matrix
>>> print(confusion_matrix(y_test, y_pred))

  使用 confusion_matrix 函数生成分类模型的混淆矩阵。混淆矩阵以矩阵的形式展示了模型在各个类别上的分类结果,包括 真正例假正例假负例真负例的数量。这样,我们就可以根据混淆矩阵来评估模型在不同类别上的分类性能,并进一步分析误分类的情况


7.2 回归指标

7.2.1 平均绝对误差

  使用 scikit-learn 中的 mean_absolute_error 函数来计算回归模型的平均绝对误差(Mean Absolute Error)。

>>> from sklearn.metrics import mean_absolute_error 
>>> y_true = [3, -0.5, 2]
>>> mean_absolute_error(y_true, y_pred)

  使用 mean_absolute_error 函数计算回归模型的平均绝对误差。该指标 衡量模型的预测结果与真实值之间的平均偏差程度数值越小表示模型的预测越准确。使用平均绝对误差可以帮助您评估回归模型的性能,并比较不同模型之间的表现。


7.2.2 均方误差

  使用 scikit-learn 中的 mean_squared_error 函数来计算回归模型的均方误差Mean Squared Error)。

>>> from sklearn.metrics import mean_squared_error
>>> mean_squared_error(y_test, y_pred)

  使用 mean_squared_error 函数计算回归模型的均方误差。该指标衡量了模型的预测结果与真实值之间的平均差异程度数值越小表示模型的预测越准确。使用均方误差可以帮助我们评估回归模型的性能,并比较不同模型之间的表现。


7.2.3 R²评分

  使用 scikit-learn 中的 r2_score 函数来计算 回归模型的 R² 分数(R-squared score)。

>>> from sklearn.metrics import r2_score
>>> r2_score(y_true, y_pred)

  通过执行这些代码,可以使用 r2_score 函数计算回归模型的 R² 分数,即确定性系数拟合优度R² 分数的取值范围在 0 到 1 之间,数值越接近 1 表示模型对数据的拟合程度越好,而越接近 0 则表示模型的拟合效果较差。R² 分数可以帮助我们评估回归模型的性能,并与其他模型进行比较。


7.3 群集指标

7.3.1 调整兰德系数

  使用 scikit-learn 中的 adjusted_rand_score 函数来计算聚类算法的调整兰德指数(Adjusted Rand Index)。

>>> from sklearn.metrics import adjusted_rand_score
>>> adjusted_rand_score(y_true, y_pred) 

  使用 adjusted_rand_score 函数计算聚类算法的调整兰德指数。调整兰德指数的取值范围在 -1 到 1 之间数值越接近 1 表示聚类结果与真实标签的一致性越高,而数值越接近 0 表示聚类结果与随机划分的一致性一样,数值越接近 -1 表示聚类结果与真实标签的一致性越低。调整兰德指数可以帮助评估聚类算法的性能,并与其他算法进行比较。


7.3.2 同质性

  使用 scikit-learn 中的 homogeneity_score 函数来计算聚类结果的同质性得分(Homogeneity Score)。

>>> from sklearn.metrics import homogeneity_score
>>> homogeneity_score(y_true, y_pred) 

  使用 homogeneity_score 函数计算聚类结果的同质性得分。同质性得分的取值范围在 0 到 1 之间,数值越接近 1 表示聚类结果中的样本更倾向于同属于一个类别的聚类簇,而数值越接近 0 表示聚类结果的同质性较差,样本分布更分散。同质性得分可以帮助评估聚类算法在保持同类样本集中性方面的性能,并与其他算法进行比较。


7.3.3 V-measure

  使用 scikit-learn 中的 v_measure_score 函数来计算聚类结果的 V-measure 分数

>>> from sklearn.metrics import v_measure_score
>>> v_measure_score(y_true, y_pred) 

  使用 v_measure_score 函数计算聚类结果的 V-measure 分数。V-measure 分数的取值范围在 0 到 1 之间,数值越接近 1 表示聚类结果的同质性和完整性越高,而数值越接近 0 表示聚类结果的质量较差


7.4 交叉验证

  使用 scikit-learn 中的 cross_val_score 函数来进行 交叉验证计算模型的性能评估指标

>>> from sklearn.cross_validation import cross_val_score
>>> print(cross_val_score(knn, X_train, y_train, cv=4))
>>> print(cross_val_score(lr, X, y, cv=2))

  使用 cross_val_score 函数对模型进行交叉验证并计算性能评估指标。交叉验证可以帮助我们更全面地评估模型的性能,并确保评估指标的可靠性。在交叉验证中,输入数据会被分成若干个折(即交叉验证的折数),每一折轮流作为验证集,剩余折作为训练集,用于拟合模型并计算性能评估指标。最终,所有折的性能评估指标会被汇总,得出 模型的平均性能评估指标


八、模型调整

8.1 栅格搜索

  使用 scikit-learn 中的 GridSearchCV 类来进行 网格搜索参数调优

>>> from sklearn.grid_search import GridSearchCV
>>> params = {"n_neighbors": np.arange(1,3), "metric": ["euclidean", "cityblock"]}
>>> grid = GridSearchCV(estimator=knn, param_grid=params)
>>> grid.fit(X_train, y_train)
>>> print(grid.best_score_)
>>> print(grid.best_estimator_.n_neighbors)

  通过执行这些代码,可以使用 GridSearchCV 类对模型的参数空间进行穷举搜索,并找到最佳的参数组合。网格搜索可以帮助我们找到最优的参数设置,从而提高模型的性能。在搜索过程中,将对每一组参数进行交叉验证,并根据性能评估指标选择最佳的参数组合。


8.2 随机参数优化

  使用 scikit-learn 中的 RandomizedSearchCV 类来进行 随机搜索参数调优

>>> from sklearn.grid_search import RandomizedSearchCV
>>> params = {"n_neighbors": range(1,5), "weights": ["uniform", "distance"]}
>>> rsearch = RandomizedSearchCV(estimator=knn, param_distributions=params, cv=4, n_iter=8, random_state=5)
>>> rsearch.fit(X_train, y_train)
>>> print(rsearch.best_score_)

  使用 RandomizedSearchCV 类对模型的参数空间进行随机搜索,并找到最佳的参数组合。随机搜索相比于网格搜索,可以更高效地在大范围的参数空间中寻找最佳参数组合。在搜索过程中,将对每一组参数进行交叉验证,并根据性能评估指标选择最佳的参数组合

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1059111.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全新UI彩虹外链网盘系统源码(前后端美化模板)

全新UI彩虹外链网盘系统源码前后端美化模板&#xff0c;支持所有格式文件的上传、生成文件外链、图片外链、音乐视频外链等功能&#xff0c;同时还可以自动生成相应的 UBB 代码和 HTML 代码&#xff0c;支持文本、图片、音乐、视频在线预览。这不仅仅是一个网盘&#xff0c;更是…

竞赛 机器视觉 opencv 深度学习 驾驶人脸疲劳检测系统 -python

文章目录 0 前言1 课题背景2 Dlib人脸识别2.1 简介2.2 Dlib优点2.3 相关代码2.4 人脸数据库2.5 人脸录入加识别效果 3 疲劳检测算法3.1 眼睛检测算法3.2 打哈欠检测算法3.3 点头检测算法 4 PyQt54.1 简介4.2相关界面代码 5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#x…

算法题系列9·最后一个单词的长度

目录 题目描述 实现 题目描述 给你一个字符串 s&#xff0c;由若干单词组成&#xff0c;单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。示例 1&#xff1a; 输入&#xff1a;s "Hello Worl…

WSL安装异常:WslRegisterDistribution failed with error: 0xc03a001a

简介&#xff1a;如果文件夹右上角是否都有两个相对的蓝色箭头&#xff0c;在进行安装wsl时&#xff0c;设置就会抛出 Installing WslRegisterDistribution failed with error: 0xc03a001a的异常 历史攻略&#xff1a; 卸载WSL WSL&#xff1a;运行Linux文件 WSL&#xff1…

关于MAC电脑无法正常登陆H3C iNodes登陆的解决办法

背景 前段时间&#xff0c;单位的网络在做升级改造&#xff0c;网络出口也进行彻底调整同时单位的网络出口设备做了机房物理迁移&#xff0c;迁移后网络正常使用&#xff0c;但是出现自己的MAC电脑无法登陆iNodes问题&#xff0c;总是出现“正在查询SSL 网关参数..查询SSL 网关…

【记录】IDA|IDA怎么查看当前二进制文件自动分析出来的内存分布情况(内存范围和读写性)

IDA版本&#xff1a;7.6 背景&#xff1a;我之前一直是直接看Text View里面的地址的首尾地址来判断内存分布情况的&#xff0c;似乎是有点不准确&#xff0c;然后才想到IDA肯定自带查看内存分布情况的功能&#xff0c;而且很简单。 可以通过View-Toolbars-Segments&#xff0c…

STM32复习笔记(四):独立看门狗IWDG

目录 &#xff08;一&#xff09;简介 &#xff08;二&#xff09;CUBEMX工程配置 &#xff08;三&#xff09;相关函数 总结&#xff1a; &#xff08;一&#xff09;简介 独立看门狗本质是一种定时器&#xff0c;其作用是监视系统的运行&#xff0c;当系统发生错误&…

linux命令行配置音频设备

linux命令行配置音频设备 TLTR在linux命令行播放音乐cmus需要开始声音条件功能才能调节播放的音量&#xff0c;看这个链接&#xff0c;继续折腾&#xff0c;have fun! TLTR 以archLinux为例&#xff0c;把下面软件都装一遍。 sudo pacman -S alsa-utils sudo pacman -S alsa-…

怎么才能实现一个链接自动识别安卓.apk苹果.ipa手机和win电脑wac电脑

您想要实现的功能是通过检测用户代理&#xff08;User Agent&#xff09;来识别访问设备类型并根据设备类型展示相应的页面。您可以根据以下步骤进行实现&#xff1a; 选择后端语言和框架&#xff0c;例如&#xff1a;Node.js、Express。 创建一个新的Express项目。 编写一个…

【单片机】16-LCD1602和12864显示器

1.LCD显示器相关背景 1.LCD简介 &#xff08;1&#xff09;显示器&#xff0c;常见显示器&#xff1a;电视&#xff0c;电脑 &#xff08;2&#xff09;LCD&#xff08;Liquid Crystal Display&#xff09;&#xff0c;液晶显示器&#xff0c;原理介绍 &#xff08;3&#xff…

Django基础讲解-路由控制器和视图(Django-02)

一 路由控制器 参考链接&#xff1a; Django源码阅读&#xff1a;路由&#xff08;二&#xff09; - 知乎 Route路由, 是一种映射关系&#xff01;路由是把客户端请求的 url路径与视图进行绑定 映射的一种关系。 这个/timer通过路由控制器最终匹配到myapp.views中的视图函数 …

[spring] spring core - 配置注入及其他内容补充

[spring] spring core - 配置注入及其他内容补充 上篇 [sping] spring core - 依赖注入 这里主要补一些 core 相关内容补充&#xff0c;同时添加了 java config bean 的方法 java config bean 是除了 XML、java 注解之外另一给实现 DI 的方法 java config bean 这个方法不…

Doctest:让你的测试更简单高效

简介&#xff1a;Doctest 是 Python 标准库的一部分&#xff0c;它允许开发者通过在文档字符串&#xff08;docstrings&#xff09;中编写示例来进行测试。这不仅可以在确保代码正确性的同时编写文档&#xff0c;还可以让读者更容易理解代码的用法和期望的输出。 历史攻略&…

(枚举 + 树上倍增)Codeforces Round 900 (Div. 3) G

Problem - G - Codeforces 题意&#xff1a; 思路&#xff1a; 首先&#xff0c;目标值和结点权值是直接联系的&#xff0c;最值不可能直接贪心&#xff0c;一定是考虑去枚举一些东西&#xff0c;依靠这种枚举可以遍历所有的有效情况&#xff0c;思考的方向一定是枚举 如果去…

云安全之等级保护介绍

网络安全部门概述 网络安全部门 1. 公安部 网安/网警/网监:全称“公共信息网络安全监察”&#xff0c;后改为“网络安全保卫部门”。 简称网监&#xff0c;是中华人民共和国公安部门的一项职责&#xff0c;具体实施这一职责的机构称为网监机关或网监部门(公共信息网络安全监…

kubernetes集群kubeadm方式安装

测试网络和DNS解析 kubectl run busybox --image busybox:1.28 --restart=Never --rm -it busybox -- sh ping www.baidu,com nslookup kubernetes.default.svc.cluster.localbusybox要用指定的1.28版本,不能用最新版本,最新版本,nslookup会解析不到dns和ip 延长kubernetes…

2023腾讯云轻量应用服务器和普通服务器有什么区别?

腾讯云轻量服务器和云服务器有什么区别&#xff1f;为什么轻量应用服务器价格便宜&#xff1f;是因为轻量服务器CPU内存性能比云服务器CVM性能差吗&#xff1f;轻量应用服务器适合中小企业或个人开发者搭建企业官网、博客论坛、微信小程序或开发测试环境&#xff0c;云服务器CV…

力扣 -- 279. 完全平方数(完全背包问题)

解题步骤&#xff1a; 参考代码&#xff1a; 未优化代码&#xff1a; class Solution { public:int numSquares(int n) {const int INF0x3f3f3f3f;int msqrt(n);//多开一行&#xff0c;多开一列vector<vector<int>> dp(m1,vector<int>(n1));//初始化第一行…

苹果ios系统ipa文件企业签名是什么?优势是什么?什么场合需要应用到?

企业签名是苹果开发者计划中的一种签名类型&#xff0c;允许企业开发者签署和分发企业内部使用的应用程序&#xff0c;而无需通过App Store进行公开发布。通过企业签名&#xff0c;企业可以在内部部署自己的应用程序&#xff0c;以满足特定的业务需求。 企业签名能够做到以下…

【Java 进阶篇】JDBC工具类详解

JDBC&#xff08;Java Database Connectivity&#xff09;是Java程序与数据库之间交互的标准接口&#xff0c;它允许Java应用程序连接到不同类型的数据库并执行数据库操作。在实际开发中&#xff0c;为了提高代码的可维护性和可重用性&#xff0c;通常会创建JDBC工具类来封装与…