深入探究 Scikit-learn 机器学习库
一、数据处理与准备
(一)数据加载
- 内置数据集:Sklearn 自带一些经典数据集,如鸢尾花数据集(load_iris)、波士顿房价数据集(load_boston)等。这些数据集方便初学者快速上手实践,可直接用于算法测试与学习,了解数据的基本特征与分布情况。例如,通过加载鸢尾花数据集,可以直观地看到花瓣与花萼的长度、宽度等特征数据。
- 外部数据读取:能够读取常见格式的外部数据,如 CSV 文件(可使用 pandas 库先读取再转换为 sklearn 适用格式)。在读取过程中,需注意数据的编码格式,避免出现乱码导致数据读取错误。同时,要正确识别数据中的特征列与目标列,确保数据划分准确,比如在处理一个销售数据 CSV 文件时,准确区分产品特征与销售金额目标列。
- 数据格式转换:将原始数据转换为适合 sklearn 算法处理的格式,通常是二维数组或稀疏矩阵形式。对于文本数据,可能需要进行独热编码(One-Hot Encoding)等操作,将分类变量转换为数值型。例如,将颜色类别变量转换为独热编码后,每个颜色类别对应一个二进制向量,便于机器学习模型处理。
(二)数据预处理
- 缺失值处理:可采用删除含有缺失值的样本或特征(如 dropna 函数),或者填充缺失值(如使用均值、中位数填充,SimpleImputer 类)的方法。在选择处理方式时,要考虑数据的特点与缺失值的比例。若数据量较大且缺失值比例较小,删除可能影响不大;若缺失值较多,填充可能更合适,例如在处理一份含有少量缺失年龄值的用户数据时,可根据整体年龄分布情况填充中位数。
- 标准化与归一化:标准化(StandardScaler)可使数据特征服从标准正态分布,而归一化(MinMaxScaler)将数据缩放到特定区间,如 [0, 1]。标准化有助于基于梯度下降的算法收敛更快,归一化在某些特定算法或数据可视化场景中有优势。比如在图像数据处理中,归一化可使像素值在合适区间,便于后续操作。
- 特征编码:对分类特征进行编码,除了独热编码,还有 OrdinalEncoder 可将分类特征转换为有序数值。在处理具有顺序关系的分类变量时,如产品等级(高、中、低),OrdinalEncoder 能保留这种顺序信息,使模型更好地学习特征与目标之间的关系。
(三)特征选择
- 过滤式方法:基于特征的统计量或相关性等指标进行选择,如卡方检验(chi2)选择与目标变量相关性高的特征。这种方法计算速度相对较快,不依赖于具体的机器学习模型。例如在文本分类中,通过卡方检验筛选出与不同类别相关性强的词汇特征,减少特征维度。
- 包裹式方法:将特征选择视为一个搜索问题,以模型的性能评估指标为指导进行特征子集的搜索,如递归特征消除(RFE)。它与具体的机器学习模型紧密结合,能选择出对模型性能提升最有帮助的特征组合。比如在支持向量机模型中,使用 RFE 逐步剔除不重要的特征,找到最优特征子集。
- 嵌入式方法:将特征选择融入到模型的训练过程中,如 Lasso 正则化(LassoCV),在优化目标函数时对特征系数进行约束,使一些不重要的特征系数变为 0,从而实现特征选择。这种方法在训练模型的同时完成特征选择,避免了额外的搜索过程,在处理高维数据时较为有效。
(四)数据划分
- 训练集、测试集划分:通常使用 train_test_split 函数按照一定比例(如 70% 训练集,30% 测试集)将数据集划分为训练集和测试集。划分时要注意数据的随机性,确保训练集和测试集都能代表原始数据的分布,避免因划分不合理导致模型评估结果偏差较大。例如在一个不平衡的数据集划分中,要保证训练集和测试集中各类别样本的比例相近。
- 交叉验证:除了简单的单次划分,还可采用交叉验证(如 KFold、StratifiedKFold)来更全面地评估模型性能。将数据集划分为 K 个折叠,依次将每个折叠作为测试集,其余作为训练集进行训练和评估,最后取平均结果。这种方法能有效利用数据,减少因单次划分带来的随机性影响,尤其在数据量较小时更为适用。
- 分层抽样划分:对于分类问题中类别不平衡的数据集,StratifiedKFold 等分层抽样方法可确保每个折叠中各类别的比例与原始数据集相同。这样在模型评估时,能更准确地反映模型对不同类别样本的处理能力,例如在医学疾病诊断数据集中,保证训练集和测试集中患病与未患病样本的合理比例。
(五)数据降维
- 主成分分析(PCA):通过线性变换将原始数据投影到低维空间,保留数据的主要方差信息。在降维过程中,可根据累计方差贡献率确定保留的主成分数量,既能减少数据维度,又能在一定程度上保留数据的特征信息。例如在图像处理中,PCA 可将高维的图像像素特征降维,降低计算复杂度。
- 奇异值分解(SVD):可用于数据降维与矩阵分解,与 PCA 有一定联系。它能将一个矩阵分解为三个矩阵的乘积,在数据压缩、推荐系统等领域有应用。例如在推荐系统中,SVD 可分解用户 - 物品评分矩阵,提取出潜在特征,实现推荐预测。
- 线性判别分析(LDA):与 PCA 不同,LDA 是一种有监督的降维方法,它试图找到一个投影方向,使得同类样本尽可能靠近,不同类样本尽可能远离,从而在低维空间中更好地进行分类。在多分类问题中,LDA 可有效提取分类特征,提高分类模型的性能。
二、模型构建与训练
(一)分类模型
- 决策树分类器:通过构建树状结构对数据进行分类,基于特征的划分条件逐步将数据集划分成不同的类别区域。其优点是可解释性强,能直观地看到分类的决策过程,但容易出现过拟合。例如在判断水果种类时,根据水果的颜色、形状等特征构建决策树,逐步判断是苹果、香蕉还是橙子等。
- 支持向量机(SVM):寻找一个最优超平面将不同类别的样本分隔开来,通过最大化间隔来提高模型的泛化能力。对于线性不可分的数据,可使用核函数(如线性核、多项式核、高斯核等)将数据映射到高维空间使其线性可分。在文本分类、图像识别等领域有广泛应用,例如在手写数字识别中,SVM 可有效区分不同数字的图像特征。
- 朴素贝叶斯分类器:基于贝叶斯定理和特征条件独立假设进行分类。计算简单,对大规模数据集有较好的处理能力,在文本分类(如垃圾邮件识别)领域表现出色。例如在判断一封邮件是否为垃圾邮件时,根据邮件中出现的词汇频率,结合先验概率计算后验概率,确定邮件类别。
- 逻辑回归分类器:虽然名为 “回归”,但常用于二分类问题。通过将线性回归的结果映射到 Sigmoid 函数上,得到样本属于某一类别的概率。可通过调整阈值来控制分类结果,在医学诊断、信用风险评估等领域有应用。例如在预测患者是否患病时,根据患者的症状、检查指标等特征进行逻辑回归分析,得出患病概率。
- 随机森林分类器:由多个决策树组成,通过集成学习的方式提高分类性能。每个决策树基于随机选取的样本和特征进行训练,最后综合多个决策树的投票结果确定样本类别。能有效减少过拟合风险,提高模型的准确性和稳定性。例如在森林植被分类中,随机森林可综合多个决策树对不同植被类型的判断结果,得出更可靠的分类。
- 梯度提升树(GBDT):以决策树为基学习器,通过梯度提升的方式依次训练多个决策树,每个决策树拟合前一个模型的残差,不断优化模型。在数据挖掘竞赛中表现优异,对复杂数据有较好的拟合能力,但计算相对复杂。例如在预测电商商品销量时,GBDT 可逐步修正预测误差,提高销量预测的准确性。
- K 近邻分类器:根据样本周围的 K 个最近邻样本的类别来确定该样本的类别。简单直观,无需训练模型参数,但计算量较大,对数据的局部结构敏感。例如在图像识别中,根据图像像素特征,找到与待识别图像最相似的 K 个图像,以它们的类别确定待识别图像的类别。
- 神经网络分类器:利用多层神经元构建模型,通过反向传播算法训练模型参数。在深度学习中广泛应用,对复杂数据有很强的学习能力,但需要较多的训练数据和计算资源,模型解释性相对较差。例如在人脸识别中,神经网络可学习人脸的各种特征,实现高精度的身份识别。
- 集成学习方法:除了随机森林和 GBDT,还有如 Adaboost 等集成学习方法。Adaboost 通过不断调整样本权重和基学习器权重,将多个弱分类器组合成一个强分类器。在提升模型性能方面有独特优势,可应用于多种分类场景。例如在异常检测中,Adaboost 可整合多个简单检测模型的结果,提高异常检测的准确率。
- 模型评估指标:对于分类模型,常用的评估指标有准确率(Accuracy)、召回率(Recall)、F1 值、精确率(Precision)等。准确率表示正确分类的样本比例,召回率反映了实际正样本中被正确分类的比例,F1 值综合考虑了精确率和召回率,精确率则是正确分类的正样本占预测为正样本的比例。这些指标可全面评估分类模型的性能,在不同的应用场景中,可根据需求重点关注某一指标。例如在癌症诊断中,召回率更为重要,尽量减少漏诊;而在垃圾邮件过滤中,精确率更受关注,减少误判正常邮件为垃圾邮件。
(二)回归模型
- 线性回归:假设特征与目标变量之间存在线性关系,通过最小二乘法拟合直线或超平面,使预测值与真实值的误差平方和最小。简单直观,可解释性强,但对于非线性关系的数据拟合效果较差。例如在预测房价时,根据房屋面积、房龄等线性特征建立线性回归模型,预测房价走势。
- 岭回归(Ridge):在普通线性回归的基础上添加 L2 正则化项,用于解决线性回归中的过拟合问题,尤其是当特征之间存在多重共线性时。正则化参数可控制正则化的强度,通过调整该参数可在模型拟合效果和泛化能力之间取得平衡。例如在经济预测中,面对多个相关的经济指标特征,岭回归可防止模型因过拟合而导致的不稳定预测。
- 套索回归(Lasso):采用 L1 正则化项,不仅能防止过拟合,还具有特征选择的功能,可使部分不重要的特征系数变为 0。在高维数据中,可有效降低特征维度,简化模型。例如在基因数据与疾病关系的研究中,Lasso 回归可筛选出与疾病相关的关键基因特征,建立简约的回归模型。
- 弹性网络回归(ElasticNet):结合了 L1 和 L2 正则化项,综合了岭回归和套索回归的优点。在实际应用中,可通过调整 L1 和 L2 正则化参数的比例,适应不同的数据特点和建模需求。例如在分析复杂的市场销售数据时,弹性网络回归可根据数据的特征相关性和稀疏性,灵活地构建回归模型。
- 决策树回归:与决策树分类器类似,通过构建树状结构对连续的目标变量进行预测。将数据集根据特征的划分条件逐步划分成不同的区域,每个区域内的样本采用该区域的均值或中位数作为预测值。决策树回归模型可处理非线性关系,但容易出现过拟合,需要进行剪枝等处理。例如在预测气温变化时,根据日期、天气状况等特征构建决策树回归模型,预测气温值。
- 随机森林回归:基于多个决策树的集成学习方法,每个决策树基于随机选取的样本和特征进行训练,最后综合多个决策树的预测结果得到最终的回归预测值。能有效减少过拟合风险,提高模型的稳定性和准确性。例如在预测股票价格波动时,随机森林回归可综合多个决策树对不同影响因素的分析结果,进行股票价格的预测。
- 梯度提升回归树(GBRT):类似于 GBDT 在分类问题中的应用,通过梯度提升的方式依次训练多个决策树,每个决策树拟合前一个模型的残差,逐步优化回归模型。在处理复杂的非线性回归问题时有较好的表现,但计算复杂度较高。例如在电力负荷预测中,GBRT 可不断修正预测误差,提高对电力负荷变化的预测精度。
- 支持向量机回归(SVR):通过寻找一个最优超平面,使尽可能多的样本落在超平面周围的特定区域内,该区域的宽度由参数控制。对于离群点较为敏感,可通过调整参数来平衡模型的拟合效果和对离群点的容忍度。例如在预测产品质量指标时,SVR 可根据产品的相关特征构建回归模型,预测质量指标值。
- 神经网络回归:利用多层神经元构建回归模型,通过反向传播算法训练模型参数。在处理复杂的非线性回归问题时具有强大的学习能力,但需要较多的训练数据和计算资源,模型解释性较差。例如在预测交通流量时,神经网络可学习交通流量与时间、天气、节假日等多种因素之间的复杂关系,进行流量预测。
- 模型评估指标:回归模型常用的评估指标有均方误差(MSE)、均方根误差(RMSE)、平均绝对误差(MAE)、R 平方值(R-squared)等。MSE 衡量预测值与真实值的平均平方误差,RMSE 是 MSE 的平方根,MAE 表示预测值与真实值的平均绝对误差,R-squared 反映了模型对数据的拟合程度,越接近 1 表示拟合效果越好。这些指标可从不同角度评估回归模型的性能,在实际应用中,根据数据的特点和需求选择合适的指标。例如在工程质量控制中,RMSE 可直观地反映预测值与实际值的偏差程度,便于评估模型的准确性。
(三)聚类模型
- K-Means 聚类:基于距离度量将数据点划分到 K 个簇中,通过不断更新簇中心和数据点所属簇,使簇内数据点的距离之和最小。简单高效,但需要预先指定簇的数量 K,且对初始簇中心敏感。例如在市场细分中,根据客户的消费行为特征(如消费金额、消费频率等),使用 K-Means 聚类将客户划分为不同的群体,以便进行针对性营销。
- 层次聚类:构建数据点的层次结构,有凝聚式(自底向上)和分裂式(自顶向下)两种方式。不需要预先指定簇的数量,但计算复杂度较高,结果的可视化呈现较为直观。例如在生物分类学中,根据生物的特征相似性,通过层次聚类构建生物的分类体系,从物种到属、科、目等不同层次进行划分。
- DBSCAN 聚类:基于密度的聚类方法,将数据点分为核心点、边界点和噪声点。能够发现任意形状的簇,不需要预先知道簇的数量,但对数据的密度分布有一定要求,在数据密度不均匀时可能出现聚类效果不佳的情况。例如在地理信息系统中,根据地理区域内的人口密度、建筑物密度等特征,使用 DBSCAN 聚类划分不同的功能区域。
- 高斯混合模型(GMM):假设数据是由多个高斯分布混合而成,通过估计每个高斯分布的参数(均值、协方差等)来实现聚类。可用于处理具有复杂分布的数据,并且能够给出每个数据点属于各个簇的概率。例如在语音识别中,根据语音信号的特征分布,利用 GMM 聚类将不同语音类别区分开来,为后续的语音识别提供基础。
- 谱聚类:基于图论和矩阵运算,将数据点构建成图,通过计算图的拉普拉斯矩阵的特征值和特征向量来进行聚类。对数据的形状和分布适应性强,能够处理非凸形状的簇,但计算量较大,尤其是在大规模数据上。例如在图像分割中,谱聚类可根据图像像素的特征关系,将图像分割成不同的区域,如前景与背景的划分。
- 聚类评估指标:常用的聚类评估指标有轮廓系数(Silhouette Coefficient)、Calinski-Harabasz 指数、Davies-Bouldin 指数等。轮廓系数衡量每个数据点与其所属簇内其他点的紧密程度以及与其他簇的分离程度,越接近 1 表示聚类效果越好;Calinski-Harabasz 指数通过计算簇间方差与簇内方差的比值来评估聚类效果,比值越大越好;Davies-Bouldin 指数则综合考虑了簇内距离和簇间距离,值越小表示聚类效果越好。这些指标可帮助选择合适的聚类模型和确定最佳的聚类参数,例如在客户聚类分析中,通过轮廓系数评估不同 K 值下 K-Means 聚类的效果,选择最优的 K 值。
- 聚类结果可视化:可使用 matplotlib 等库进行聚类结果的可视化,将不同簇的数据点用不同颜色或标记表示,直观地展示聚类效果。对于二维或三维数据,可视化效果较为清晰,可帮助理解数据的分布和聚类情况。例如在数据挖掘项目中,将聚类后的客户数据在二维平面上进行可视化,观察不同客户群体的分布特征,为进一步的市场策略制定提供依据。
相关文章:
深入探究 Scikit-learn 机器学习库
一、数据处理与准备 (一)数据加载 内置数据集:Sklearn 自带一些经典数据集,如鸢尾花数据集(load_iris)、波士顿房价数据集(load_boston)等。这些数据集方便初学者快速上手实践&…...
PAT甲级-1114 Family Property
题目 题目大意 共有n个户主,每个户主的房产按照“ 户主id 父亲id 母亲id 孩子个数 孩子的id 房产数 房产面积 ”的格式给出。如果父亲或母亲不存在,值为-1。每个户主及其父亲母亲孩子可以构成一个家庭,不同户主如果有相同的家人,…...
5.2 JavaScript 案例 - 轮播图
JavaScript - 轮播图 文章目录 JavaScript - 轮播图基础模版一、刷新页面随机轮播图案例二、轮播图 定时器版三、轮播图完整版 基础模版 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"…...
使用IP自签名SSL证书
最近需要创建WebSocket服务器并使用SSL证书,由于是内网测试,所以需要使用指定IP的自签SSL证书。 其实笔者前面博文 使用nexus3作为Docker镜像仓库 解决nexus3登录x509: certificate has expired or is not yet valid 中有创建过相应的证书,这…...
数据库中的运算符
1.算术运算符 算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行加()、减(-)、乘(*)、除(/)和取模(%&…...
定制erp真的很贵吗?
定制ERP真的很贵吗?这个问题,相信很多企业在考虑是否实施ERP系统时,都会纠结。特别是对于一些中小型企业,预算有限,心里总会有个疑问:花大价钱定制一个系统,真的值得吗?其实…...
Java Integer的数值比较
文章目录 环境问题答案说明解决办法其它总结 环境 Windows 11 专业版Java 21 问题 下面这段代码的运行结果是什么? Integer i1 0;int i2 0;for (int n 0; n < 200; n) {if (i1 ! i2) {System.out.println("i1 " i1 ", i2 " i2);b…...
QGroundControl之5-AppSettings.cc
介绍 应用程序设置 Application Settings ,这里看下语言选择功能,它是怎么和json文件关联起来的,刚刚看的时候,很是奇怪这么多的json文件作用。 1.AppSettings.cc 文件怎么和App.SettingsGroup.json关联 在AppSettings.cc文件没…...
Django Fixtures 使用指南:JSON 格式详解
在Django开发中,fixtures是一种非常有用的工具,它们可以帮助我们序列化数据库内容,并在不同的环境或测试中重用这些数据。本文将详细介绍Django fixtures的概念、如何生成和使用JSON格式的fixtures。 什么是Fixtures? Fixtures是…...
单元测试SpringBoot
添加测试专用属性 加载测试专用bean Web环境模拟测试 数据层测试回滚 测试用例数据设定...
邮件营销平台应如何提升外贸开发信的效果?
邮件营销平台在外贸中优势包括高效市场定位、成本效益、增强客户关系、实时反馈优化、全球覆盖及时区优化、环保可持续性。Geeksend邮件营销是强大平台,高效管理,精准销售,把握外贸市场的每一个机遇,助力外贸企业精准定位、简化管…...
绘制折线图遇到问题记录
绘制折线图 主要参考:https://blog.csdn.net/qq_38029916/article/details/121611066 对应代码 import csv import matplotlib.pyplot as plt import pandas as pd import numpy as np plt.rcParams[font.sans-serif] [SimHei] plt.rcParams[font.family] sans…...
python 调Qt C++ 写法配置和坑点
python 示例写法 和调c动态库一样 通过回调函数方式 将python函数注册到c 动态库中 from ctypes import *def DllCall(nParam, nFlag):print(nParam, nFlag)z2 0.6z3 0.4z4 0.0z5 0.3z6 0.5z7 0.8z8 0.3z9 0.9strData str(z2) str(z3) str(z4) str(z5)…...
css设置透明的几种办法
在CSS中,有几种方法可以设置元素的透明度。以下是主要的几种方式: 1. 使用 opacity 属性 定义:opacity 属性用于设置元素的整体透明度,包括其内容和背景。取值范围:取值从0(完全透明)到1&…...
刷题日志【4】
目录 1、猜数字大小 1、猜数字大小 题意有点抽象,我大概讲一下,就是在1——n里面会有一个目标数,我们通过猜数字的方式逼近这个数字,直到解出这个数,之前我们是用二分法求最快达到求解的问题,这道题多了每…...
如何制作自己的字体文件.ttf
日常编程中,一些常用的符号可以直接用来当做图标使用,不需要引入过多的资源文件(例如:ico、png、svg等)十分方便! 笔者发现iconfont网站可以选择自己需要的图标,制作成.ttf文件来直接使用&…...
gradle在IDEA 中无法使用的启动守护线程的问题
最近打开一个比较早的项目,Gradle 配置没有问题,IDEA 打开Java项目却不能初始化守护线程,UI 上只能看到失败,看不到具体原因。 首先尝试了升级最新的gradle 版本8.11, 实际上这个版本在本地命令行都不能正常工作,没有…...
Spring Boot 配置多数据源并手动配置事务
Spring Boot 配置多数据源并手动配置事务 一、为什么多数据源需要手动配置?二、配置多数据源1. 数据源配置类 (DataSourceConfig)2. 主数据库 MyBatis 配置类 (PrimaryDbMyBatisConfig)3. 从数据库 MyBatis 配置类 (SecondaryDbMyBatisConfig)4. application.yml 配…...
YashanDB 23.2 YAC 共享集群部署和使用自带YMP迁移工具进行数据迁移,效果很city
1. 环境准备 本文以经典架构(2 台服务器,1 共享存储且包含 3 个及以上 LUN)为例,搭建双实例单库的共享集群环境。 主机名 IP 版本 CPU 内存 硬盘 用途 yac1 192.168.50.60 Kylin-Server-V10-SP3 4C 8G 100G YAC 集群…...
【数学】矩阵的逆与伪逆 EEGLAB
文章目录 前言matlab代码作用EEGLAB 中的代码总结参考文献 前言 在 EEGLAB 的使用中,运行程序时出现了矩阵接近奇异值,或者缩放错误。结果可能不准确。RCOND 1.873732e-20 的 bug,调查 EEGLAB 后发现是 raw 数据的问题。 matlab代码 A_1 …...
狐猬编程 C++ L3 第7课 字符串入门 元音字母
给你一个所有字符都是字母的字符串, 请输出其中元音字母的个数。(提示: 二十六个字母中的五个元音字母是 a, e, i, o, u; 所有字符有大小写区别。) 输入格式 仅一行, 包…...
APP UI自动化测试的思路小结
在移动互联网飞速发展的今天,APP质量直接影响用户体验。为了保障UI功能的稳定性和一致性,APP UI自动化测试已经成为各大企业必不可少的一环。那么如何设计一套高效的测试方案?本篇为你总结关键思路! 如何从零构建UI自动化测试&am…...
2412d,d的7月会议
原文 总结 卡斯滕 Carsten说,Decard一直在大量试验WebAssembly.他们一直在把d运行时挖出来,直到它工作.他们在浏览器中运行了一些库函数,并试了不同虚机. 他们在移动方面遇见了很多问题,因为不同芯片按不同方式工作.他们想让他们的整个SDK在WASM上运行,但可能需要一年时间才…...
ANOMALY BERT 解读
出处: ICLR workshop 2023 代码:Jhryu30/AnomalyBERT 可视化效果: 一 提出动机 动机:无监督 TSAD 领域内,“训练集” 也缺失:真值标签(GT);换句话说,一个…...
定时/延时任务-Netty时间轮源码分析
文章目录 1. 概要2. 参数3. 构造器4. 回收5. 启动时间轮 - start6. 停止时间轮 - stop7. 添加任务8. 工作线程 - Worker8.1 线程参数8.2 核心逻辑-run8.3 指针跳动到下一个tick8.4 处理要取消的任务8.5 把新增的任务加入时间轮8.6 执行过期任务 9. HashedWheelTimeout9.1 属性9…...
React的一些主要优点是?
React 一些主要的优点: 组件化架构: React 通过组件化的方式构建 UI,允许开发者将复杂的应用拆分成可重用的小部分。这使得代码更加模块化和可维护。 虚拟 DOM: React 使用虚拟 DOM 来提高性能。它通过在内存中维护一个与应用状态…...
RabbitMQ 基本使用方法详解
RabbitMQ 基本使用方法 在你的代码中,涉及到了 RabbitMQ 的基本使用,包括队列定义、交换机的配置、消息的发送与接收等内容。下面我将详细总结 RabbitMQ 的基本使用方法,重点解释如何在 Spring Boot 项目中与 RabbitMQ 集成。 1. 引入依赖 …...
[leetcode100] 101. 对称二叉树
https://leetcode.cn/problems/symmetric-tree/description/?envTypestudy-plan-v2&envIdtop-100-liked 心血来潮,突然感觉很久没做leetcode,刷一题。 看到“简单”,哦吼,应该很快吧。 结果真是《简单》 题目描述 给你一个…...
Vue.createApp的对象参数
目录 template 属性 data 属性 methods 属性 疑问 function 函数的两种写法 methods 属性中 this 的指向 总结 Vue 实例是通过 Vue.createApp() 创建的,该函数需要接收一个对象作为参数,该对象可添加 template、data、methods 等属性。 template …...
短信验证码burp姿势
首先声明,本文仅仅作为学习使用,因个人原因导致的后果,皆有个人承担,本人没有任何责任。 在之前的burp学习中,我们学习了图片验证码的突破,但是现实中还有很多短信验证码,在此我介绍几种短信验…...
wordpress高阶教程/怎么让某个关键词排名上去
目录 Bash 的变量和运算符 什么是变量 变量的分类 用户自定义变量 变量定义 变量调用 变量查看 变量删除 Bash 的变量和运算符 什么是变量 在定义变量时,有一些规则需要遵守:变量名称可以由字母、数字和下划线组成,但是不能以数字…...
郎溪网站建设/人民网疫情最新消息
今天在安装zblog的时候出现了提示“release.xml不存在!”导致无法正常安装的问题: 解决后发篇文章分享下,如果遇到同样问题可以尝试按照本文操作下。 先说解决办法: 重新去zblog官方下载最新版的安装程序重新上传安装即可解决。 问题原因…...
地方门户网站建设/一键免费创建论坛网站
第一次正式学习Java的Lambda编程,感觉并不陌生,在Spotfire,PL/SQL, C语言、Excel等很多地方都用过函数式编程。 Summary Section 17.1 Introduction • Prior to Java SE 8, Java supported three programming paradigms—procedural programming, objec…...
wordpress添加flash游戏/经典软文案例200字
为什么80%的码农都做不了架构师?>>> Logback是由log4j创始人设计的又一个开源日志组件。 logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改…...
wordpress本地上传视频资料/产品代理推广方案
为什么项目过程中折腾我们的往往是一些微不足道的小事?新功能添加"顺手就改,转眼就忘,一旦出错,一问就蒙"的情况如何避免? 答案:流程 一年前我还对流程表示反感和排斥,因为我将"流程"简单地等同于堆积如山的文档和照本宣科的会议,牺牲了弥足珍贵的设计和…...
网络运营者应当对其收集的用户信息严格保密/专业seo关键词优化
通过加速,国内用户能够快速访问最流行的 Docker 镜像。 仓库 registry.docker-cn.com 包含流行的公有镜像。私有镜像仍需要从 Docker Hub 镜像库中拉取。 以下命令直接从镜像加速地址进行拉取: $ docker pull registry.docker-cn.com/myname/myrepo:myta…...