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

day10 python机器学习全流程实践

在机器学习的实践中,数据预处理与模型构建是极为关键的环节。本文将回顾数据预处理的全流程,并基于处理后的数据完成简单的机器学习建模与评估,暂不涉及复杂的调参过程。

一、预处理流程回顾

机器学习的成功,很大程度上依赖于高质量的数据。以下是数据预处理的标准流程:

  1. 导入库:引入必要的 Python 库,用于数据处理、分析、可视化以及建模。
  2. 读取数据与理解:读取数据集,通过info()head()方法初步了解数据的基本信息与结构。
  3. 缺失值处理:识别并处理数据中的缺失值。
  4. 异常值处理:检测并处理异常数据点。
  5. 离散值处理:将离散型数据转换为适合模型处理的格式。
  6. 特征工程:包括特征缩放、衍生新特征以及特征选择等操作。
  7. 划分数据集:将数据划分为训练集和测试集,用于模型训练与评估。

1.1 导入所需的包

import pandas as pd  # 用于数据处理和分析,可处理表格数据
import numpy as np   # 用于数值计算,提供高效的数组操作
import matplotlib.pyplot as plt  # 用于绘制各种类型的图表
import seaborn as sns  # 基于matplotlib的高级绘图库,能绘制更美观的统计图形# 设置中文字体(解决中文显示问题)
plt.rcParams['font.sans-serif'] = ['SimHei']  # Windows系统常用黑体字体
plt.rcParams['axes.unicode_minus'] = False    # 正常显示负号

1.2 查看数据信息

data = pd.read_csv('data.csv')    # 读取数据
print("数据基本信息:")
data.info()
print("\n数据前5行预览:")
print(data.head())

数据基本信息

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 7500 entries, 0 to 7499
Data columns (total 18 columns):#   Column                        Non-Null Count  Dtype  
---  ------                        --------------  -----  0   Id                            7500 non-null   int64  1   Home Ownership                7500 non-null   object 2   Annual Income                 5943 non-null   float643   Years in current job          7129 non-null   object 4   Tax Liens                     7500 non-null   float645   Number of Open Accounts       7500 non-null   float646   Years of Credit History       7500 non-null   float647   Maximum Open Credit           7500 non-null   float648   Number of Credit Problems     7500 non-null   float649   Months since last delinquent  3419 non-null   float6410  Bankruptcies                  7486 non-null   float6411  Purpose                       7500 non-null   object 12  Term                          7500 non-null   object 13  Current Loan Amount           7500 non-null   float6414  Current Credit Balance        7500 non-null   float6415  Monthly Debt                  7500 non-null   float6416  Credit Score                  5943 non-null   float6417  Credit Default                7500 non-null   int64  
dtypes: float64(12), int64(2), object(4)
memory usage: 1.0+ MB

数据前 5 行预览

   Id Home Ownership  Annual Income Years in current job  Tax Liens  \
0   0       Own Home       482087.0                  NaN        0.0   
1   1       Own Home      1025487.0            10+ years        0.0   
2   2  Home Mortgage       751412.0              8 years        0.0   
3   3       Own Home       805068.0              6 years        0.0   
4   4           Rent       776264.0              8 years        0.0   Number of Open Accounts  Years of Credit History  Maximum Open Credit  \
0                     11.0                     26.3             685960.0   
1                     15.0                     15.3            1181730.0   
2                     11.0                     35.0            1182434.0   
3                      8.0                     22.5             147400.0   
4                     13.0                     13.6             385836.0   Number of Credit Problems  Months since last delinquent  Bankruptcies  \
0                        1.0                           NaN           1.0   
1                        0.0                           NaN           0.0   
2                        0.0                           NaN           0.0   
3                        1.0                           NaN           1.0   
4                        1.0                           NaN           0.0   Purpose        Term  Current Loan Amount  \
0  debt consolidation  Short Term           99999999.0   
1  debt consolidation   Long Term             264968.0   
2  debt consolidation  Short Term           99999999.0   
3  debt consolidation  Short Term             121396.0   
4  debt consolidation  Short Term             125840.0   Current Credit Balance  Monthly Debt  Credit Score  Credit Default  
0                 47386.0        7914.0         749.0               0  
1                394972.0       18373.0         737.0               1  
2                308389.0       13651.0         742.0               0  
3                 95855.0       11338.0         694.0               0  
4                 93309.0        7180.0         719.0               0  

1.3 缺失值处理

  • Annual Income:存在 1557 个缺失值,可根据 “Home Ownership” 等相关特征的平均收入进行填充。
  • Years in current job:存在 371 个缺失值,需先将字符串类型转换为数值类型,再用众数或中位数填充。
  • Months since last delinquent:缺失值较多(4081 个),可根据其对目标变量的影响程度,选择多重填补法或直接删除缺失行。
  • Credit Score:存在 1557 个缺失值,处理方式与 “Annual Income” 类似。

1.4 数据类型转换

  • Years in current job:将字符串类型转换为数值类型。
  • Home Ownership、Purpose、Term:根据特征性质,选择独热编码或标签编码。

1.5 异常值处理

对于数值型特征,如 “Annual Income” 和 “Current Loan Amount”,可通过箱线图检测异常值,并根据实际情况决定是否处理。

1.6 特征缩放

对数值型特征进行 Min-Max 标准化或 Z-score 标准化,统一特征的取值范围。

1.7 特征工程

  • 衍生新特征:例如计算 “负债收入比”(Debt-to-Income Ratio)。
  • 特征选择:通过相关性分析等方法,筛选与目标变量相关性高的特征。

二、数据预处理实操

2.1 处理 object 类型变量

# 筛选字符串变量 
discrete_features = data.select_dtypes(include=['object']).columns.tolist()
print(discrete_features)# 查看每个字符串变量的唯一值
for feature in discrete_features:print(f"\n{feature}的唯一值:")print(data[feature].value_counts())

处理结果

  • Home Ownership:进行标签编码
mapping = {'Own Home': 1,'Rent': 2,'Have Mortgage': 3,'Home Mortgage': 4
}data['Home Ownership']=data['Home Ownership'].map(mapping)
data.head()
  • Years in current job:进行标签编码
years_in_job_mapping = {'< 1 year': 1,'1 year': 2,'2 years': 3,'3 years': 4,'4 years': 5,'5 years': 6,'6 years': 7,'7 years': 8,'8 years': 9,'9 years': 10,'10+ years': 11
}
data['Years in current job'] = data['Years in current job'].map(years_in_job_mapping)
  • Purpose:进行独热编码
data = pd.get_dummies(data, columns=['Purpose'])
# 将独热编码后的bool类型转换为数值
for col in data.columns:if 'Purpose' in col:data[col] = data[col].astype(int)
  • Term:进行 0-1 映射
term_mapping = {'Short Term': 0,'Long Term': 1
}
data['Term'] = data['Term'].map(term_mapping)
data.rename(columns={'Term': 'Long Term'}, inplace=True)

2.2 处理数值型变量

# 筛选数值型特征
continuous_features = data.select_dtypes(include=['int64', 'float64']).columns.tolist()# 用中位数填补缺失值
for feature in continuous_features:median_value = data[feature].median()data[feature].fillna(median_value, inplace=True)

处理后的数据信息:

data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 7500 entries, 0 to 7499
Data columns (total 32 columns):#   Column                        Non-Null Count  Dtype  
---  ------                        --------------  -----  0   Id                            7500 non-null   int64  1   Home Ownership                7500 non-null   int64  2   Annual Income                 7500 non-null   float643   Years in current job          7500 non-null   float644   Tax Liens                     7500 non-null   float645   Number of Open Accounts       7500 non-null   float646   Years of Credit History       7500 non-null   float647   Maximum Open Credit           7500 non-null   float648   Number of Credit Problems     7500 non-null   float649   Months since last delinquent  7500 non-null   float6410  Bankruptcies                  7500 non-null   float6411  Long Term                     7500 non-null   int64  12  Current Loan Amount           7500 non-null   float6413  Current Credit Balance        7500 non-null   float6414  Monthly Debt                  7500 non-null   float6415  Credit Score                  7500 non-null   float6416  Credit Default                7500 non-null   int64  17  Purpose_business loan         7500 non-null   int32  18  Purpose_buy a car             7500 non-null   int32  19  Purpose_buy house             7500 non-null   int32  20  Purpose_debt consolidation    7500 non-null   int32  21  Purpose_educational expenses  7500 non-null   int32  22  Purpose_home improvements     7500 non-null   int32  23  Purpose_major purchase        7500 non-null   int32  24  Purpose_medical bills         7500 non-null   int32  25  Purpose_moving                7500 non-null   int32  26  Purpose_other                 7500 non-null   int32  27  Purpose_renewable energy      7500 non-null   int32  28  Purpose_small business        7500 non-null   int32  29  Purpose_take a trip           7500 non-null   int32  30  Purpose_vacation              7500 non-null   int32  31  Purpose_wedding               7500 non-null   int32  
dtypes: float64(13), int32(15), int64(4)
memory usage: 1.4 MB

三、机器学习模型建模与评估

3.1 数据划分

from sklearn.model_selection import train_test_split
X = data.drop(['Credit Default'], axis=1)  # 特征
y = data['Credit Default']  # 标签
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)print(f"训练集形状: {X_train.shape}, 测试集形状: {X_test.shape}")

结果

训练集形状: (6000, 31), 测试集形状: (1500, 31)

3.2 模型训练与评估

使用多种常见的分类模型进行训练与评估,包括 SVM、KNN、逻辑回归、朴素贝叶斯、决策树、随机森林、XGBoost 和 LightGBM。

from sklearn.svm import SVC
from sklearn.neighbors import KNeighborsClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.naive_bayes import GaussianNB
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
import xgboost as xgb
import lightgbm as lgb
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, classification_report, confusion_matrix
import warnings
warnings.filterwarnings("ignore")# SVM模型
svm_model = SVC(random_state=42)
svm_model.fit(X_train, y_train)
svm_pred = svm_model.predict(X_test)
print("\nSVM 分类报告:")
print(classification_report(y_test, svm_pred))
print("SVM 混淆矩阵:")
print(confusion_matrix(y_test, svm_pred))
print("SVM 模型评估指标:")
print(f"准确率: {accuracy_score(y_test, svm_pred):.4f}")
print(f"精确率: {precision_score(y_test, svm_pred):.4f}")
print(f"召回率: {recall_score(y_test, svm_pred):.4f}")
print(f"F1 值: {f1_score(y_test, svm_pred):.4f}")# KNN模型
knn_model = KNeighborsClassifier()
knn_model.fit(X_train, y_train)
knn_pred = knn_model.predict(X_test)
print("\nKNN 分类报告:")
print(classification_report(y_test, knn_pred))
print("KNN 混淆矩阵:")
print(confusion_matrix(y_test, knn_pred))
print("KNN 模型评估指标:")
print(f"准确率: {accuracy_score(y_test, knn_pred):.4f}")
print(f"精确率: {precision_score(y_test, knn_pred):.4f}")
print(f"召回率: {recall_score(y_test, knn_pred):.4f}")
print(f"F1 值: {f1_score(y_test, knn_pred):.4f}")# 逻辑回归模型
logreg_model = LogisticRegression(random_state=42)
logreg_model.fit(X_train, y_train)
logreg_pred = logreg_model.predict(X_test)
print("\n逻辑回归 分类报告:")
print(classification_report(y_test, logreg_pred))
print("逻辑回归 混淆矩阵:")
print(confusion_matrix(y_test, logreg_pred))
print("逻辑回归 模型评估指标:")
print(f"准确率: {accuracy_score(y_test, logreg_pred):.4f}")
print(f"精确率: {precision_score(y_test, logreg

@浙大疏锦行

相关文章:

day10 python机器学习全流程实践

在机器学习的实践中&#xff0c;数据预处理与模型构建是极为关键的环节。本文将回顾数据预处理的全流程&#xff0c;并基于处理后的数据完成简单的机器学习建模与评估&#xff0c;暂不涉及复杂的调参过程。 一、预处理流程回顾 机器学习的成功&#xff0c;很大程度上依赖于高…...

Rust Ubuntu下编译生成环境win程序踩坑指南

前言&#xff1a; 1&#xff0c;公司要给一线搞一个升级程序&#xff0c;需要在win下跑。 之前都是找开发总监帮忙&#xff0c;但是他最近比较忙。就让我自己搞。有了下文.。说来惭愧&#xff0c;之前写过一篇ubuntu下编译windows的文章。里面的demo就一句话 fuck world。依赖…...

2025年- H12-Lc119-56.合并区间(普通数组)---java版

1.题目描述 2.思路 思路参考了代码随想录&#xff1a; 按照左边界从小到大排序之后&#xff0c;如果 intervals[i][0] < intervals[i - 1][1] 即intervals[i]的左边界 < intervals[i - 1]的右边界&#xff0c;则一定有重叠。&#xff08;本题相邻区间也算重贴&#xff…...

合并两个有序链表

题目&#xff1a;21. 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&#xff1a; 输入&#xff1a;l1 [1,2,4], l2 [1,3,4] 输出&#xff1a;[1,1,2,3,4,4]示例 2&#xff1a; 输入&#x…...

rsync命令详解与实用案例

rsync命令详解与实用案例 rsync是一款功能强大的Linux文件同步工具&#xff0c;通过高效的增量传输算法&#xff0c;能够显著减少数据传输量和时间&#xff0c;是备份、镜像和跨平台文件同步的理想选择。其核心价值在于只传输文件的差异部分&#xff0c;而非全量复制&#xff…...

gitee 如何修改提交代码的邮箱

gitee 如何修改提交代码的邮箱 1. 修改全局提交邮箱2. 修改特定仓库的提交邮箱3. 修改已提交记录的邮箱 4. 可能遇到的问题git filter-repo 拒绝执行解决办法方法一&#xff1a;使用 --force 参数 &#xff08;亲测有效&#xff09;方法二&#xff1a;创建一个全新的克隆仓库 注…...

MATLAB画一把伞

% 伞的参数num_ribs 5; % 伞骨数量修改为5R 1; % 伞的半径height 0.5; % 伞的高度handle_length 2; % 伞柄长度semicircle_radius 0.26; % 伞柄末端半圆的半径% 生成伞叶网格theta linspace(0, 2*pi, 100);phi linspace(0, pi/2, 50);[Theta, Phi] meshgrid(theta, phi…...

vue 实现文件流下载功能 前端实现文件流下载

首先场景就是,一般的文件下载是通过后端返回的文件地址下载文件,但当后端返回的是文件流的时候,下载要做特殊处理 案例截图: 下载成功: 代码处理,首先就是要在接口封装的地方加上 在 Vue 前端开发中实现文件流下载与普通文件下载的核心区别在于 数据处理方式。文件流…...

[Android]导航栏中插入电源菜单

1. 新增 frameworks/base/packages/SystemUI/res/layout/power.xml <?xml version"1.0" encoding"utf-8"?> <com.android.systemui.navigationbar.buttons.KeyButtonView xmlns:android"http://schemas.android.com/apk/res/android"…...

VSCode Verilog环境搭建

VSCode Verilog环境搭建 下载Iverilog安装Iverilog验证安装VS Code安装插件 下载Iverilog 官网下载Iverilog 安装Iverilog 一定要勾选这两项 建议勾选这两项 验证安装 运行Windows PowerShell输入命令&#xff1a;iverilog输入命令&#xff1a;Get-Command gtkwave …...

Hadoop 和 Spark 生态系统中的核心组件

通过jps命令&#xff0c;可以看到如下进程名&#xff0c;请解释一下它们各自是哪个命令产生的&#xff0c;有什么作用&#xff1f;一、Worker 1.来源&#xff1a;Spark 集群的 工作节点&#xff08;Worker Node&#xff09;&#xff0c;由 start-worker.sh 启动 2.作用&#…...

MySQL多表操作

熟能生巧&#xff0c;全部代码在最后&#xff01;&#xff01;&#xff01; 一、多表关系 一对一关系、一对多关系、多对多关系 注意多对多关系必须有中间表进行关联 多对多的关系就相当于是两个一对多关系 二、创建外键约束 专门用于多表操作的一种约束方式 控制的那个表…...

WPF TextBlock控件性能优化指南

WPF TextBlock控件性能优化指南 1. 引言 TextBlock作为WPF中最基础且使用最广泛的文本显示控件&#xff0c;其性能优化对整个应用程序的响应速度和资源占用有着重要影响。尽管TextBlock是一个轻量级控件&#xff0c;但在大型应用或需要显示大量文本的场景中&#xff0c;不恰当…...

DotNet 入门:(一) 环境安装

一、前言 本想用 Go 语言实现一个通过小爱同学操作电脑的&#xff0c;比如我对着手机说打开音乐&#xff0c;或调小音乐&#xff0c;电脑能做相应的处理。奈何我一时间没看懂&#xff0c;就想着用.Net 来试一下&#xff0c;于是就有了下面这篇文章。 二、安装.Net 环境 1. 下…...

初识Redis · 分布式锁

目录 前言&#xff1a; 分布式锁 setnx lua脚本和看门狗 redlock算法 Redlock 的加锁流程&#xff08;5 步&#xff09; 前言&#xff1a; 到了分布式锁这一章之后&#xff0c;我们首先能联想到的问题就是线程安全的问题&#xff0c;线程安全指的是多个线程在并发执行的…...

使用 OpenCV 实现图像中心旋转

在图像处理中&#xff0c;围绕中心点旋转图像是一个常见的需求。无论是为了数据增强、视觉效果&#xff0c;还是图像对齐&#xff0c;旋转图像都是一项基础且重要的操作。本文将详细介绍如何使用 OpenCV 实现围绕图像中心旋转的功能&#xff0c;并深入探讨其背后的数学原理。 一…...

云钥科技红外短波工业相机

云钥科技的红外短波相机是一款基于短波红外&#xff08;SWIR&#xff0c;波长范围约1-3微米&#xff09;技术的成像设备&#xff0c;专为高精度检测、全天候成像及特殊场景应用设计。以下从核心技术、性能参数、应用场景及产品优势等方面进行详细介绍&#xff1a; ​​一、核心…...

npm如何安装pnpm

在 npm 中安装 pnpm 非常简单,你可以通过以下步骤完成: 1. 使用 npm 全局安装 pnpm 打开终端(命令行工具),运行以下命令: npm install -g pnpm2. 验证安装 安装完成后,可以检查 pnpm 的版本以确保安装成功: pnpm --version如果正确显示版本号(如 8.x.x),说明安…...

GTC Taipei 2025 医疗域前瞻:从AI代理到主权生态,解码医疗健康与生命科学的未来图景

引言 2025年,全球医疗健康领域正经历一场由人工智能、机器人技术与分布式计算驱动的范式转移。随着NVIDIA及其生态伙伴在GTC Taipei 2025大会上的深度布局,医疗行业的核心趋势愈发清晰:AI代理程序(Digital AI Agents)赋能临床协作、医疗大数据与精准医学加速落地、医学影…...

【AI学习】李宏毅新课《DeepSeek-R1 这类大语言模型是如何进行「深度思考」(Reasoning)的?》的部分纪要

针对推理模型&#xff0c;主要讲了四种方法&#xff0c;两种不需要训练模型&#xff0c;两种需要。 对于reason和inference&#xff0c;这两个词有不同的含义&#xff01; 推理时计算不是新鲜事&#xff0c;AlphaGo就是如此。 这张图片说明了将训练和推理时计算综合考虑的关系&…...

npm打包内存不足- JavaScript heap out of memory

直接贴出报错信息 <--- Last few GCs --->[30904:0000010F60FE58E0] 22090 ms: Scavenge 2037.4 (2069.4) -> 2036.4 (2074.2) MB, 2.5 / 0.0 ms (average mu 0.228, current mu 0.216) allocation failure [30904:0000010F60FE58E0] 22101 ms: Scavenge 2…...

【最新 MCP 战神手册 08】工具使用详解:实现 AI 行动

文章目录 1. 开始啦!2. 第一部分:设计高效且安全的工具3. 第二部分:定义工具蓝图——参数、输出与约束条件4. 第三部分:弥合差距:LLM 兼容性(函数调用)5. 第四部分:实施与测试的最佳实践1. 开始啦! 在前几章中,我们将工具介绍为 AI 模型在 MCP 客户端引导下向 MCP 服…...

开发iOS App时,我常用的一款性能监控小工具分享

开发iOS App时&#xff0c;我常用的一款性能监控小工具分享 最近在做一个iOS应用的性能优化&#xff0c;频繁遇到内存泄露、界面卡顿和网络请求超时的问题。平时用Xcode Instruments虽然专业&#xff0c;但流程繁琐&#xff0c;临时排查问题不够灵活。 于是开始找有没有轻量一…...

如何防止 ES 被 Linux OOM Killer 杀掉

当 Linux 系统内存不足时&#xff0c;内核会找出一个进程 kill 掉它释放内存&#xff0c;旨在保障整个系统不至于崩溃。如果 ES 按照最佳实践去实施部署&#xff0c;会保留一半的内存&#xff0c;不至于发生此类事情。但事情总有例外&#xff0c;有的朋友可能 ES 和其他的程序部…...

Windows权限与icacls命令详解

在Windows操作系统中&#xff0c;权限管理是确保系统安全和资源访问控制的核心机制。特别是在使用NTFS&#xff08;New Technology File System&#xff09;文件系统的环境中&#xff0c;访问控制列表&#xff08;ACL&#xff09;用于定义哪些用户或组可以对文件、文件夹或其他…...

5.4.2 MVVM例2-用户控件的使用(水在水管中流动的实例)

本文以一个例子介绍用户控件的使用(UserControl),下图所示: 一、主要技术点 1.MainViewModel使用CommunityToolkit.Mvvm 这个Nuget包 2.LinearGradientBrush使用,下面代码可以产生如下的效果 <LinearGradientBrush x:Key="HorizontalBackground" …...

PHP代码-服务器下载文件页面编写

内部环境的服务资源下载页面有访问需求&#xff0c;给开发和产品人员编写一个简洁的下载页面提供资源下载。直接用nginxphp的形式去编写了&#xff0c;这里提供展示index.php文件代码如下&#xff1a; <?php // 配置常量 define(BASE_DIR, __DIR__); // 当前脚本所在目录作…...

51单片机快速入门之 SPI通信 2025年4月29日09:26:32

SPI通信 : SPI&#xff08;Serial Peripheral Interface&#xff09;通信是一种同步串行数据传输协议&#xff0c;主要用于嵌入式系统内部设备之间的通信。它由Motorola公司在2000年提出&#xff0c;广泛应用于微控制器、传感器、存储设备等之间的数据传输。 SPI通信的主要特点…...

SpringMVC再复习1

一、三层架构 表现层&#xff08;WEB 层&#xff09; 定义 &#xff1a;是应用程序与客户端进行交互的最外层&#xff0c;主要负责接收用户的请求&#xff0c;并将处理结果显示给用户。 作用 &#xff1a;在 Spring MVC 中&#xff0c;表现层通常采用 MVC 设计模式来构建。 技…...

音视频之H.265/HEVC网络适配层

H.265/HEVC系列文章&#xff1a; 1、音视频之H.265/HEVC编码框架及编码视频格式 2、音视频之H.265码流分析及解析 3、音视频之H.265/HEVC预测编码 4、音视频之H.265/HEVC变换编码 5、音视频之H.265/HEVC量化 6、音视频之H.265/HEVC环路后处理 7、音视频之H.265/HEVC熵编…...

01_微服务常见问题

文章目录 微服务常见问题一、常见问题概要一、问题详解1.1 服务拆分1.2 服务通信1.3 服务注册与发现1.4 服务治理1.5 数据一致性1.6 故障隔离与容错处理1.7 数据库设计1.8 性能测试与调优 微服务常见问题 一、常见问题概要 ‌服务拆分‌&#xff1a;如何合理地拆分服务&#…...

Python在自动驾驶仿真环境中的应用:构建智能驾驶的虚拟世界

Python在自动驾驶仿真环境中的应用:构建智能驾驶的虚拟世界 引言 随着自动驾驶技术的迅速发展,仿真环境的构建变得愈发重要。传统的测试方法依赖物理车辆和道路进行验证,但这种方式不仅成本高昂,还存在一定的风险。为了加速自动驾驶技术的研发,仿真环境成为了一个必不可…...

【统计方法】交叉验证:Resampling, nested 交叉验证等策略 【含R语言】

Resampling (重采样方法) 重采样方法是从训练数据中反复抽取样本&#xff0c;并在每个&#xff08;重新&#xff09;样本上重新调整模型&#xff0c;以获得关于拟合模型的附加信息的技术。 两种主要的重采样方法 Cross-Validation (CV) 交叉验证 &#xff1a; 用于估计测试误…...

海外App数据隐私架构实战:构建GDPR、CCPA合规的全栈解决方案

一、隐私合规的架构范式转变 从“数据收集”到“数据最小化”传统模式&#xff1a;尽可能收集数据 → 导致合规风险隐私原生模式&#xff1a;默认不收集 → 按需申请 → 自动过期kotlin// Android权限动态申请示例&#xff08;GDPR兼容&#xff09; val request PermissionRe…...

Prometheus监控

1、docker - prometheusgrafana监控与集成到spring boot 服务_grafana spring boot-CSDN博客 2、【IT运维】普罗米修斯基本介绍及监控平台部署&#xff08;PrometheusGrafana&#xff09;-CSDN博客 3、Prometheus监控SpringBoot-CSDN博客 4、springboot集成普罗米修斯-CSDN博客…...

Vue3 Echarts 3D圆形柱状图实现教程以及封装一个可复用的组件

文章目录 前言一、实现原理二、series ——type: "pictorialBar" 简介2.1 常用属性 三、代码实战3.1 封装一个echarts通用组件 echarts.vue3.2 首先实现一个基础柱状图3.3 添加上下2个椭圆面3.4 进阶封装一个可复用的3D圆形柱状图组件 总结 前言 在前端开发的数据可视…...

洛谷P12238 [蓝桥杯 2023 国 Java A] 单词分类

[Problem Discription] \color{blue}{\texttt{[Problem Discription]}} [Problem Discription] Copy from luogu. [Analysis] \color{blue}{\texttt{[Analysis]}} [Analysis] 既然都是字符串前缀的问题了&#xff0c;那当然首先就应该想到 Trie \text{Trie} Trie 树。 我们可…...

【3D基础】顶点法线与平面法线在光照与PBR中的区别与影响

顶点法线与平面法线在光照与PBR中的区别与影响 在3D图形学中&#xff0c;法线&#xff08;Normal&#xff09;是影响光照计算、表面细节表现和渲染质量的核心参数之一。法线用于描述一个表面或顶点的朝向&#xff0c;直接关系到光的反射与分布&#xff0c;从而影响最终像素的颜…...

jmeter-Beashell获取http请求体json

在JMeter中&#xff0c;使用BeanShell处理器或BeanShell Sampler来获取HTTP请求体中的JSON数据是很常见的需求。这通常用于在测试计划中处理和修改请求体&#xff0c;或者在响应后进行验证。以下是一些步骤和示例代码&#xff0c;帮助你使用BeanShell来获取HTTP请求体中的JSON数…...

为网页LOGO视频增加电影质感表现

为网页LOGO视频增加电影质感表现 推荐超级课程: 本地离线DeepSeek AI方案部署实战教程【完全版】Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战目录 为网页LOGO视频增加电影质感表现前几天,一个朋友开了一家烤肉店,给我发来了烤肉店的宣传视频,我…...

精益数据分析(32/126):电商指标优化与搜索策略解析

精益数据分析&#xff08;32/126&#xff09;&#xff1a;电商指标优化与搜索策略解析 在创业和数据分析的探索之旅中&#xff0c;每一次深入学习都能为我们带来新的启发和成长。今天&#xff0c;我们继续秉持共同进步的理念&#xff0c;深入研读《精益数据分析》&#xff0c;…...

​【空间数据分析】缓冲区分析--泰森多边形(Voronoi Diagram)-arcgis操作

泰森多边形&#xff08;Voronoi Diagram&#xff09;&#xff1a;根据一组输入点生成多边形&#xff0c;使得每个多边形内的任意位置到其关联点的距离最近。 多边形之间无重叠&#xff0c;全覆盖研究区域。 边界是相邻两点连线的垂直平分线。 实验操作&#xff1a; 使用 Cre…...

JavaScript高级进阶(五)

操作节点属性 设置属性&#xff08;先找属性再操作&#xff09; setAttribute()方法添加指定的属性&#xff0c;并为其赋指定的值 语法&#xff1a; element.setAttribute(attributename/属性名,attributevalue/属性值) 例: <style> .box{ width: 200px; height: 200p…...

WPF之TextBlock控件详解

文章目录 1. TextBlock控件介绍2. TextBlock的基本用法2.1 基本语法2.2 在代码中创建TextBlock 3. TextBlock的常用属性3.1 文本内容相关属性3.2 字体相关属性3.3 外观相关属性3.4 布局相关属性 4. TextBlock文本格式化4.1 使用Run元素进行内联格式化4.2 其他内联元素 5. 处理长…...

串口通信协议

什么是串口通信&#xff1f; 串口通信是将数据在一条数据线上传输。 串口通信的特点是传输线少&#xff08;相对于并行通信&#xff09;&#xff0c;长距离传输的成本低&#xff0c;但数据的传送控制比并行通信复杂。 常见的串行通信接口包括&#xff1a;USB&#xff0c;RS-…...

9.idea中创建springboot项目

9. idea中创建springboot项目 步骤 1&#xff1a;打开 IntelliJ IDEA 并创建新项目 启动 IntelliJ IDEA。在欢迎界面&#xff0c;点击 New Project&#xff08;或通过菜单栏 File > New > Project&#xff09;。 步骤 2&#xff1a;选择 Maven 项目类型 在左侧菜单中…...

详解大语言模型生态系统概念:lama,llama.cpp,HuggingFace 模型 ,GGUF,MLX,lm-studio,ollama这都是什么?

llama&#xff0c;llama.cpp&#xff0c;HuggingFace 模型 &#xff0c;GGUF&#xff0c;MLX&#xff0c;lm-studio&#xff0c;ollama这些名词的概念给个详细的解释&#xff0c;彼此什么关系&#xff1f;是不是头很晕&#xff1f; 详解大语言模型生态系统概念 基础模型与架构…...

如何系统学习音视频

学习音视频技术涉及多个领域&#xff0c;包括音频处理、视频处理、编码解码、流媒体传输等。 第一阶段&#xff1a;基础知识准备 目标&#xff1a;掌握音视频学习所需的计算机科学和数学基础。 计算机基础 学习计算机网络基础&#xff08;TCP/IP、UDP、HTTP、RTSP等协议&#…...

elementui里的el-tabs的内置样式修改失效?

1.问题图 红框里的是组件的内置样式&#xff0c;红框下的是自定义样式 2.分析 2.1scoped vue模板编译器在编译有scoped的stye标签时&#xff0c;会生成对应的postCSS插件&#xff0c;该插件会给每个scoped标记的style标签模块&#xff0c;生成唯一一个对应的 data-v-xxxhash…...

Webshell管理工具的流量特征

目录 一、常见Webshell工具流量特征 1. ​​中国菜刀&#xff08;Chopper&#xff09;​​ 2. ​​冰蝎&#xff08;Behinder&#xff09;​​ 3. ​​哥斯拉&#xff08;Godzilla&#xff09;​​ 4. ​​蚁剑&#xff08;AntSword&#xff09;​​ 5. ​​C99 Shell​​…...