机器学习算法-sklearn源起
scikit-learn(简称 sklearn)是 Python 中最流行的开源机器学习库之一,基于 NumPy、SciPy 和 Matplotlib 构建。它提供了丰富的机器学习算法和工具,适用于数据挖掘和数据分析任务。以下是其核心特点的简介:
1、sklearn主要功能
-
监督学习
-
分类(如 SVM、随机森林、逻辑回归)等
-
回归(如线性回归、岭回归)等
-
-
无监督学习
-
聚类(如 K-Means、DBSCAN)等
-
降维(如 PCA、t-SNE)等
-
-
模型选择与评估
-
交叉验证、超参数调优(如网格搜索
GridSearchCV
)等 -
评估指标(如准确率、F1 分数、ROC 曲线)等
-
-
数据预处理(数据集变换)
-
标准化、归一化、缺失值处理、特征编码(如 One-Hot Encoding)等
-
-
工具链集成
-
流水线(
Pipeline
)支持多步骤任务(如预处理 + 建模)等
-
2、监督学习
监督学习(Supervised Learning)是机器学习的一种范式,其目标是从带有标签的数据中学习一个模型,用于预测未知数据的标签。它主要分为 分类(Classification) 和 回归(Regression) 两大类。以下是监督学习的核心算法及其应用场景:
2.1、分类(Classification)
预测离散类别标签(如垃圾邮件/正常邮件、图像类别等)。
2.1.1. 经典算法
-
逻辑回归(Logistic Regression)
-
用于二分类或多分类,输出概率值。
-
适用场景:线性可分问题(如信用评分、疾病预测)。
from sklearn.linear_model import LogisticRegression model = LogisticRegression()
-
-
支持向量机(SVM, Support Vector Machine)
-
通过最大化分类间隔找到最优决策边界,可处理高维数据。
-
适用场景:小样本、高维数据(如文本分类、图像识别)。
from sklearn.svm import SVC model = SVC(kernel='linear') # 线性核或高斯核(RBF)
-
-
决策树(Decision Tree)
-
基于树结构的规则划分,可解释性强。
-
适用场景:非线性关系数据(如客户分群、诊断决策)。
from sklearn.tree import DecisionTreeClassifier model = DecisionTreeClassifier(max_depth=5)
-
-
随机森林(Random Forest)
-
多棵决策树的集成,降低过拟合风险。
-
适用场景:复杂非线性问题(如金融风控、推荐系统)。
from sklearn.ensemble import RandomForestClassifier model = RandomForestClassifier(n_estimators=100)
-
-
K近邻(K-Nearest Neighbors, KNN)
-
基于样本距离的“投票”机制,简单但计算量大。
-
适用场景:小规模数据、局部特征明显(如手写数字识别)。
from sklearn.neighbors import KNeighborsClassifier model = KNeighborsClassifier(n_neighbors=5)
-
-
朴素贝叶斯(Naive Bayes)
-
基于贝叶斯定理,假设特征之间独立。
-
适用场景:文本分类(如垃圾邮件过滤、情感分析)。
from sklearn.naive_bayes import GaussianNB model = GaussianNB()
-
2.1.2. 进阶方法
-
梯度提升树(如 XGBoost、LightGBM、CatBoost)
-
神经网络(如 MLPClassifier)
-
集成学习(如 VotingClassifier、Stacking)
2.2、回归(Regression)
预测连续数值(如房价、温度、销售额等)。
2.2.1. 经典算法
-
线性回归(Linear Regression)
-
拟合线性关系,可解释性强。
-
适用场景:自变量与因变量呈线性关系(如经济预测)。
from sklearn.linear_model import LinearRegression model = LinearRegression()
-
-
岭回归(Ridge Regression)
-
在线性回归基础上加入 L2 正则化,防止过拟合。
-
适用场景:多重共线性数据。
from sklearn.linear_model import Ridge model = Ridge(alpha=1.0)
-
-
Lasso 回归(Lasso Regression)
-
加入 L1 正则化,可进行特征选择。
-
适用场景:高维稀疏数据(如基因数据分析)。
from sklearn.linear_model import Lasso model = Lasso(alpha=0.1)
-
-
支持向量回归(SVR, Support Vector Regression)
-
基于 SVM 的回归版本,可处理非线性问题。
-
适用场景:小样本、非线性回归(如股票价格预测)。
from sklearn.svm import SVR model = SVR(kernel='rbf')
-
-
决策树回归(Decision Tree Regressor)
-
通过树结构划分数据区域,预测每个区域的均值。
from sklearn.tree import DecisionTreeRegressor model = DecisionTreeRegressor()
-
-
随机森林回归(Random Forest Regressor)
-
多棵回归树的集成,提升预测稳定性。
from sklearn.ensemble import RandomForestRegressor model = RandomForestRegressor()
-
2.3、适用场景
场景类型 | 问题示例 | 典型算法 |
---|---|---|
分类 | 垃圾邮件检测、图像分类 | SVM、随机森林、逻辑回归 |
回归 | 房价预测、销量预测 | 线性回归、梯度提升树、SVR |
3、无监督学习
无监督学习(Unsupervised Learning)是机器学习的一种范式,其目标是从无标签数据中挖掘潜在的结构或模式,无需依赖人工标注。以下是其核心方法、应用场景及典型算法的详细介绍:
3.1、核心任务类型
无监督学习主要分为以下几类任务:
-
聚类(Clustering)
将数据划分为有相似性的组(簇)。 -
降维(Dimensionality Reduction)
减少数据维度,保留重要信息。 -
关联规则(Association Rule)
发现数据中的频繁项集或关联关系。 -
异常检测(Anomaly Detection)
识别数据中的异常点或离群值。
3.2、主要算法与实现
3.2.1. 聚类(Clustering)
-
K-Means
-
通过迭代将数据划分到K个簇中,以最小化簇内平方误差。
-
适用场景:客户分群、图像压缩(颜色量化)。
-
代码示例(sklearn):
from sklearn.cluster import KMeans model = KMeans(n_clusters=3) clusters = model.fit_predict(X)
-
-
DBSCAN
-
基于密度划分簇,可发现任意形状的簇并识别噪声点。
-
适用场景:地理空间数据聚类(如地震点分布)、异常检测。
-
代码示例:
from sklearn.cluster import DBSCAN model = DBSCAN(eps=0.5, min_samples=5) clusters = model.fit_predict(X)
-
-
层次聚类(Hierarchical Clustering)
-
构建树状结构(树状图)划分簇,适合多粒度分析。
-
适用场景:生物基因分类、文档主题分层。
-
-
高斯混合模型(GMM)
-
假设数据服从多个高斯分布的混合,用概率模型划分簇。
-
适用场景:语音信号分离、图像分割。
-
3.2.2. 降维(Dimensionality Reduction)
-
主成分分析(PCA)
-
通过正交变换将数据投影到低维空间,保留最大方差。
-
适用场景:可视化高维数据(如基因表达数据降维到2D)、去噪。
-
代码示例:
from sklearn.decomposition import PCA pca = PCA(n_components=2) X_reduced = pca.fit_transform(X)
-
-
t-SNE
-
非线性降维,适合保留局部结构,常用于可视化。
-
适用场景:高维数据探索(如MNIST手写数字可视化)。
-
-
UMAP
-
类似t-SNE但计算效率更高,同时保留全局和局部结构。
-
适用场景:单细胞RNA测序数据分析。
-
3.2.3. 关联规则(Association Rule)
-
Apriori算法
-
发现频繁项集(如购物篮分析中的商品组合)。
-
适用场景:零售商品推荐(如“啤酒与尿布”关联)。
-
代码示例(mlxtend库):
from mlxtend.frequent_patterns import apriori frequent_itemsets = apriori(df, min_support=0.1, use_colnames=True)
-
-
FP-Growth算法
-
比Apriori更高效,通过树结构压缩数据。
-
适用场景:大规模交易数据分析。
-
3.2.4. 异常检测(Anomaly Detection)
-
孤立森林(Isolation Forest)
-
通过随机划分树快速隔离异常点(异常点路径更短)。
-
适用场景:金融欺诈检测、工业设备故障预警。
-
代码示例:
from sklearn.ensemble import IsolationForest model = IsolationForest(contamination=0.01) anomalies = model.fit_predict(X)
-
-
LOF(局部离群因子)
-
基于密度的异常检测,适合局部稀疏区域识别。
-
适用场景:网络入侵检测、传感器异常值识别。
-
3.3、适用场景
场景类型 | 问题示例 | 典型算法 |
---|---|---|
聚类 | 客户分群、社交网络社区发现 | K-Means、DBSCAN、层次聚类 |
降维 | 图像压缩、特征工程预处理 | PCA、t-SNE、UMAP |
关联规则 | 购物篮分析、广告投放策略优化 | Apriori、FP-Growth |
异常检测 | 信用卡欺诈检测、设备故障预警 | 孤立森林、LOF |
4、模型评估
模型评估是机器学习流程中的关键环节,其目的是衡量模型的性能和泛化能力。以下是针对不同任务类型(分类、回归、聚类等)的评估方法及核心指标详解:
4.1、分类任务评估
4.1.1. 基础指标
-
准确率(Accuracy)
-
公式:正确预测样本数 / 总样本数
-
代码:
sklearn.metrics.accuracy_score(y_true, y_pred)
-
适用场景:类别均衡时有效,但类别不平衡时易误导(如99%负样本时,全预测负类准确率99%)。
-
-
混淆矩阵(Confusion Matrix)
-
可视化模型预测结果的四象限矩阵(TP、TN、FP、FN)。
-
代码:
sklearn.metrics.confusion_matrix
-
-
精确率(Precision)
-
公式:TP / (TP + FP)
-
意义:预测为正的样本中实际为正的比例(减少误报)。
-
适用场景:注重减少FP(如垃圾邮件分类中避免误判正常邮件)。
-
-
召回率(Recall)
-
公式:TP / (TP + FN)
-
意义:实际为正的样本中被正确预测的比例(减少漏报)。
-
适用场景:注重减少FN(如疾病诊断中避免漏诊)。
-
-
F1分数(F1 Score)
-
公式:2 * (Precision * Recall) / (Precision + Recall)
-
意义:精确率和召回率的调和平均,平衡二者。
-
代码:
sklearn.metrics.f1_score
-
4.2、回归任务评估
4.21. 核心指标
-
均方误差(MSE, Mean Squared Error)
-
公式:Σ(y_pred - y_true)^2 / n
-
代码:
sklearn.metrics.mean_squared_error
-
特点:对异常值敏感(平方放大误差)。
-
-
均方根误差(RMSE)
-
公式:√MSE
-
意义:与目标变量单位一致,更易解释。
-
-
平均绝对误差(MAE)
-
公式:Σ|y_pred - y_true| / n
-
代码:
sklearn.metrics.mean_absolute_error
-
特点:对异常值鲁棒性强。
-
-
R²分数(决定系数)
-
公式:1 - (残差平方和) / (总平方和)
-
范围:(-∞, 1],越接近1模型越好。
-
代码:
sklearn.metrics.r2_score
-
4.3、聚类任务评估
4.3.1. 有标签评估
-
调整兰德指数(Adjusted Rand Index, ARI)
-
衡量聚类结果与真实标签的相似性,值越接近1越好。
-
代码:
sklearn.metrics.adjusted_rand_score
-
-
归一化互信息(NMI, Normalized Mutual Information)
-
基于信息论衡量聚类与真实标签的关联性。
-
代码:
sklearn.metrics.normalized_mutual_info_score
-
4.3.2. 无标签评估
-
轮廓系数(Silhouette Coefficient)
-
公式:(b - a) / max(a, b)
-
a
:样本与同簇其他样本的平均距离 -
b
:样本与最近其他簇样本的平均距离
-
-
范围:[-1, 1],值越大聚类效果越好。
-
代码:
sklearn.metrics.silhouette_score
-
5、数据集变换
数据集变换是机器学习流程中的核心步骤,旨在将原始数据转化为适合模型训练的格式,提升模型性能和稳定性。以下是数据集变换的核心方法、工具及实践指南:
5.1、数据清洗(可参考数据预处理文章)
5.1.1. 处理缺失值
-
删除缺失样本/特征
-
适用场景:缺失比例高(如>80%)且对目标无显著影响。
-
代码:
df.dropna(axis=0, how='any') # 删除含缺失值的行 df.drop(columns=['feature_name'], inplace=True) # 删除某列
-
-
填充缺失值
-
均值/中位数填充:适合数值型特征(如年龄、收入)。
from sklearn.impute import SimpleImputer imputer = SimpleImputer(strategy='median') X_filled = imputer.fit_transform(X)
-
众数填充:适合分类特征(如性别、职业类别)。
-
插值法:时间序列数据(如线性插值、样条插值)。
-
-
模型预测填充
-
用其他特征预测缺失值(如用KNN回归)。
from sklearn.impute import KNNImputer imputer = KNNImputer(n_neighbors=3) X_filled = imputer.fit_transform(X)
-
5.1.2. 处理异常值
-
统计方法
-
Z-Score法:将绝对值大于3的值视为异常。
from scipy.stats import zscore z_scores = zscore(X['feature']) outliers = (np.abs(z_scores) > 3)
-
IQR法:定义异常值为低于Q1-1.5IQR或高于Q3+1.5IQR。
-
-
模型方法
-
使用孤立森林(Isolation Forest)或LOF算法检测异常点。
-
5.2、特征编码
5.2.1. 分类特征编码
-
标签编码(Label Encoding)
-
将类别转换为整数(如“红/绿/蓝” → 0/1/2)。
-
适用场景:有序分类变量(如学历等级)。
from sklearn.preprocessing import LabelEncoder encoder = LabelEncoder() X['color'] = encoder.fit_transform(X['color'])
-
-
独热编码(One-Hot Encoding)
-
将类别转换为二进制向量(如“红” → [1,0,0])。
-
适用场景:无序分类变量(如城市名称)。
from sklearn.preprocessing import OneHotEncoder encoder = OneHotEncoder(sparse=False) encoded_features = encoder.fit_transform(X[['color']])
-
-
目标编码(Target Encoding)
-
用目标变量的均值对类别编码(需防止过拟合)。
from category_encoders import TargetEncoder encoder = TargetEncoder() X['city_encoded'] = encoder.fit_transform(X['city'], y)
-
5.2.2. 文本特征编码
-
词袋模型(Bag of Words)
-
统计词频生成稀疏矩阵。
from sklearn.feature_extraction.text import CountVectorizer vectorizer = CountVectorizer() X_text = vectorizer.fit_transform(text_data)
-
-
TF-IDF
-
衡量词的重要性(词频-逆文档频率)。
from sklearn.feature_extraction.text import TfidfVectorizer vectorizer = TfidfVectorizer() X_tfidf = vectorizer.fit_transform(text_data)
-
5.3、特征缩放
5.3.1. 标准化(Standardization)
-
将数据转换为均值为0、标准差为1的分布。
-
适用场景:大多数算法(如SVM、神经网络)。
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
5.3.2. 归一化(Normalization)
-
将数据缩放到[0,1]或[-1,1]区间。
-
适用场景:图像像素值、无显著异常值的数据。
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler(feature_range=(0, 1))
X_normalized = scaler.fit_transform(X)
5.3.3. 鲁棒缩放(Robust Scaling)
-
使用中位数和四分位数缩放,降低异常值影响。
from sklearn.preprocessing import RobustScaler
scaler = RobustScaler()
X_robust = scaler.fit_transform(X)
5.4、特征构造
5.4.1. 数值特征衍生
-
多项式特征:生成特征间的交互项。
from sklearn.preprocessing import PolynomialFeatures poly = PolynomialFeatures(degree=2, include_bias=False) X_poly = poly.fit_transform(X)
-
分箱(Binning):将连续变量离散化(如年龄分段为青年/中年/老年)。
import pandas as pd df['age_bin'] = pd.cut(df['age'], bins=[0, 18, 35, 60, 100], labels=['child', 'young', 'adult', 'senior'])
5.4.2. 时间特征处理
-
提取年、月、日、星期几等时间成分。
-
计算时间差(如用户注册至今的天数)。
5.4.3. 文本特征提取
-
提取词性(POS)、命名实体(NER)等高级语义特征。
5.5、降维与特征选择
5.5.1. 主成分分析(PCA)
-
通过线性变换保留最大方差的方向。
from sklearn.decomposition import PCA
pca = PCA(n_components=0.95) # 保留95%方差
X_pca = pca.fit_transform(X_scaled)
5.5.2. 特征重要性筛选
-
基于树模型(如随机森林)评估特征重要性。
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier()
model.fit(X, y)
importance = model.feature_importances_
5.5.3. 递归特征消除(RFE)
-
递归删除不重要的特征。
from sklearn.feature_selection import RFE
selector = RFE(estimator=LogisticRegression(), n_features_to_select=10)
X_selected = selector.fit_transform(X, y)
5.6、处理不平衡数据
5.6.1. 过采样(Oversampling)
-
SMOTE:生成少数类合成样本。
from imblearn.over_sampling import SMOTE smote = SMOTE() X_resampled, y_resampled = smote.fit_resample(X, y)
5.6.2. 欠采样(Undersampling)
-
随机删除多数类样本。
from imblearn.under_sampling import RandomUnderSampler undersample = RandomUnderSampler() X_resampled, y_resampled = undersample.fit_resample(X, y)
5.6.3. 调整类别权重
-
在模型训练中赋予少数类更高权重。
model = RandomForestClassifier(class_weight='balanced')
相关文章:

机器学习算法-sklearn源起
scikit-learn(简称 sklearn)是 Python 中最流行的开源机器学习库之一,基于 NumPy、SciPy 和 Matplotlib 构建。它提供了丰富的机器学习算法和工具,适用于数据挖掘和数据分析任务。以下是其核心特点的简介: 1、sklearn主…...
Keepalived 在不同场景下的高可用方案设计与最佳实践
一、Keepalived 典型应用场景深度解析 1. Web 服务器集群:统一入口与故障容错 1.1 场景需求 核心目标:为多台 Web 服务器提供统一 VIP 入口,隐藏后端节点细节,实现故障透明切换。 挑战: 确保用户请求在主节点故障时…...

注册并创建一个微信小程序
目录 (一)前往微信公众平台,并注册一个微信小程序账号 (二)配置微信小程序 (三)创建微信小程序项目 1.流程 1.1获取小程序ID 1.2下载微信开发者工具 1.3安装微信开发者工具 2.创建项目…...
CentOS 10:启动telnet服务
参考, 鳥哥私房菜 - 第七章、網路安全與主機基本防護:限制埠口, 網路升級與 SELinux 7.3.3 埠口与服务的启动/关闭及开机时状态设定 我们知道系统的 Telnet 服务通常是以 super daemon 来控管的,请您启动您系统的 telnet 试看看。 1 要启动 …...

计算机网络——每一层的用到的设备及其作用
计算机网络基础 OSI参考模型TCP/IP协议族集线器(Hub)交换机(Switch)路由器(Router)功能特点无线路由器(家庭宽带)光猫功能 网关(Gateway)功能应用场景特点 IP…...
OpenLayers 加载鹰眼控件
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图控件是一些用来与地图进行简单交互的工具,地图库预先封装好,可以供开发者直接使用。OpenLayers具有大部分常用的控件&#x…...
Eigen与OpenCV矩阵操作全面对比:最大值、最小值、平均值
功能对比总表 功能Eigen 方法OpenCV 方法主要区别最大值mat.maxCoeff(&row, &col)cv::minMaxLoc(mat, NULL, &maxVal, NULL, &maxLoc)Eigen需要分开调用,OpenCV一次获取最小值mat.minCoeff(&row, &col)cv::minMaxLoc(mat, &minVal, NU…...
安全基础与协议分析
5.1 Web安全基础 5.1.1 Web安全基础概览(一、二) Web安全的核心目标是保护Web应用及其数据免受攻击,涵盖以下关键领域: 攻击面: 前端漏洞(XSS、CSRF)。 后端漏洞(SQL注入、RCE&a…...

【Web前端】JavaScript入门与基础(一)
JavaScript简介 JavaScript 是一种轻量级的脚本语言。所谓“脚本语言”,指的是它不具备开发操作系统的能力,而是只用来编写控制其他大型应用程序的“脚本”。 JavaScript 是一种嵌入式(embedded)语言。它本身提供的核心语法不算…...
第一课:医学影像研究的科学思维与问题提出
课程目标: 理解科学思维在医学影像研究中的核心地位。掌握从临床实践、文献回顾及技术进展中发现医学影像研究问题的方法。学习如何凝练、评估并清晰表述一个具有研究价值的医学影像科学问题。熟悉医学影像研究问题提出的伦理考量。课程大纲与核心内容: 引言 医学影像研究的…...

前端大文件上传性能优化实战:分片上传分析与实战
前端文件分片是大文件上传场景中的重要优化手段,其必要性和优势主要体现在以下几个方面: 一、必要性分析 1. 突破浏览器/服务器限制 浏览器限制:部分浏览器对单次上传文件大小有限制(如早期IE限制4GB) 服务器限制&a…...
数据的获取与读取篇---常见的数据格式JSON
文件格式 假如你有一份想分析的数据文件,获得文件后下一步就是用代码读取它。不同的文件格式有不同的读取方法。所以读取前了解文件格式也很重要。你可能见过非常多的文件格式,例如TXT、MP3、PDF、JPEG等等。 一般可以通过文件的后缀来分辨文件的格式,例如TXT格式,一般保存…...
【python代码】一些小实验
目录 1. 测试Resnet50 ONNX模型的推理速度 1. 测试Resnet50 ONNX模型的推理速度 ############################### # 导出resnet50 模型 # 测试onnx模型推理 cpu 和 GPU 的对比 ###############################import time import numpy as np import onnxruntime as ort im…...

Linux服务器配置深度学习环境(Pytorch+Anaconda极简版)
前言: 最近做横向需要使用实验室服务器跑模型,之前用师兄的账号登录服务器跑yolo,3张3090一轮14秒,我本地一张4080laptop要40秒,效率还是快很多,(这么算一张4080桌面版居然算力能比肩3090&#…...
Vue-创建应用/挂载应用/根组件模版-.vue单文件/应用配置
目录 应用实例 根组件 挂载应用 容器元素自己将不会被视为应用的一部分 那为什么还要在被挂载标签里面写东西呢? .mount( ) 方法应该始终在整个应用配置和资源注册完成后被调用 什么是资源注册? 什么是应用实例? 什么是根实例&#…...

超低延迟音视频直播技术的未来发展与创新
引言 音视频直播技术正在深刻改变着我们的生活和工作方式,尤其是在教育、医疗、安防、娱乐等行业。无论是全球性的体育赛事、远程医疗、在线教育,还是智慧安防、智能家居等应用场景,都离不开音视频技术的支持。为了应对越来越高的需求&#x…...
虚拟文件(VFS)
核心知识点:虚拟文件系统(VFS) 1. 通俗易懂的解释 想象一下你家里的冰箱。你把食物放进去,不用管它是放在塑料盒里、玻璃罐里还是直接用保鲜膜包着,你只需要知道它在冰箱的哪个位置(比如“蔬菜抽屉里”&a…...

Java 内存模型(JMM)深度解析:理解多线程内存可见性问题
Java 内存模型(JMM)深度解析:理解多线程内存可见性问题 在 Java 编程中,多线程的运用能够显著提升程序的执行效率,但与此同时,多线程环境下的一些问题也逐渐凸显。其中,内存可见性问题是一个关…...

转移dp简单数学数论
1.转移dp问题 昨天的练习赛上有一个很好玩的起终点问题,第一时间给出bfs的写法。 但是写到后面发现不行,还得是的dp转移的写法才能完美的解决这道题目。 每个格子可以经过可以不经过,因此它的状态空间是2^(n*m)&…...
【大模型面试每日一题】Day 27:自注意力机制中Q/K/V矩阵的作用与缩放因子原理
【大模型面试每日一题】Day 27:自注意力机制中Q/K/V矩阵的作用与缩放因子原理 📌 题目重现 🌟🌟 面试官:请解释Transformer自注意力机制中Query、Key、Value矩阵的核心作用,并分析为何在计算注意力分数时…...
Ubuntu24.04 LTS安装java8、mysql8.0
在 Ubuntu 24.04 上安装 OpenJDK OpenJDK 包在 Ubuntu 24.04 的默认存储库中随时可用。 打开终端并运行以下 apt 命令: sudo apt update查看是否已经安装java java --version如果未安装会有提示,直接复制命令安装即可,默认版本: sudo apt in…...

动静态库--
目录 一 静态库 1. 创建静态库 2. 使用静态库 2.1 第一种 2.2 第二种 二 动态库 1. 创建动态库 2. 使用动态库 三 静态库 VS 动态库 四 动态库加载 1. 可执行文件加载 2. 动态库加载 一 静态库 Linux静态库:.a结尾 Windows静态库:.lib结尾…...
【检索增强生成(RAG)全解析】从理论到工业级实践
目录 🌟 前言🏗️ 技术背景与价值🩹 当前技术痛点🛠️ 解决方案概述👥 目标读者说明 🧠 一、技术原理剖析📊 核心架构图解💡 核心工作流程🔧 关键技术模块⚖️ 技术选型对…...

git clone时出现无法访问的问题
git clone时出现无法访问的问题 问题: 由于我的git之前设置了代理,然后在这次克隆时又没有打开代理 解决方案: 1、如果不需要代理,直接取消 Git 的代理设置: git config --global --unset http.proxy git config --gl…...
Lesson 22 A glass envelope
Lesson 22 A glass envelope 词汇 dream v. 做梦,梦想 n. 梦 用法:1. have a dream 做梦 2. have a good / sweet dream 做个好梦 [口语晚安] 3. dream about 人/物 梦到…… 4. dream that 句子 梦到…… 例句:他昨晚…...

文件系统·linux
目录 磁盘简介 Ext文件系统 块 分区 分组 inode 再谈inode 路径解析 路径缓存 再再看inode 挂载 小知识 磁盘简介 磁盘:一个机械设备,用于储存数据。 未被打开的文件都是存在磁盘上的,被打开的加载到内存中。 扇区:是…...

【Matlab】雷达图/蛛网图
文章目录 一、简介二、安装三、示例四、所有参数说明 一、简介 雷达图(Radar Chart)又称蛛网图(Spider Chart)是一种常见的多维数据可视化手段,能够直观地对比多个指标并揭示其整体分布特征。 雷达图以中心点为原点&…...
【信息系统项目管理师】第24章:法律法规与标准规范 - 27个经典题目及详解
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 【第1题】【第2题】【第3题】【第4题】【第5题】【第6题】【第7题】【第8题】【第9题】【第10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16题】【第17题】【第18题】【第19题】【第20题】【第…...

使用JProfiler进行Java应用性能分析
文章目录 一、基本概念 二、Windows系统中JProfiler的安装 1、下载exe文件 2、安装JProfiler 三、JProfiler的破解 四、IDEA中配置JProfiler 1、安装JProfiler插件 2、关联本地磁盘中JProfiler软件的执行文件 3、IDEA中启动JProfiler 五、监控本地主机中的Java应用 …...

遥感解译项目Land-Cover-Semantic-Segmentation-PyTorch之一推理模型
文章目录 效果项目下载项目安装安装步骤1、安装环境2、新建虚拟环境和安装依赖测试模型效果效果 项目下载 项目地址 https://github.com/souvikmajumder26/Land-Cover-Semantic-Segmentation-PyTorch 可以直接通过git下载 git clone https://github.com/souvikmajumder26/Lan…...