遥感&机器学习入门实战教程|Sklearn案例⑨:数据预处理(Processing)

数据预处理sklearn.preprocessing的两种种方法,标准化和正则化 阅读详情

在前几篇实战中,我们多次用到 StandardScaler 和 MinMaxScaler。有同学问:

“是不是预处理方法越复杂,分类效果就一定更好?”

答案是否定的。预处理的核心是 让特征尺度合理,但是否能提高分类精度,要看数据和模型。本篇通过实验直观对比几种常见预处理方式,看看它们对遥感分类的影响。

🧩 四种常见预处理方法

  • StandardScaler:均值=0,方差=1(最常用)。

  • MinMaxScaler:缩放到 [0,1] 区间。

  • RobustScaler:用中位数和 IQR,抗异常值。

  • Normalizer:把每个样本缩放到单位范数。

💻 实例代码:可视化 + 分类对比

# -*- coding: utf-8 -*-
"""
Sklearn案例⑨:预处理对比
1) PCA 投影可视化
2) 预处理+SVM 分类精度对比
"""

import os, numpy as np, scipy.io as sio, matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler, MinMaxScaler, RobustScaler, Normalizer
from sklearn.decomposition import PCA
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score

# ===== 参数 =====
DATA_DIR = "your_path"   # ← 修改为你的数据路径
PCA_DIM, TRAIN_RATIO, SEED = 30, 0.3, 42

# ===== 1. 加载数据(只取有标签像素) =====
X = sio.loadmat(os.path.join(DATA_DIR, "KSC.mat"))["KSC"].astype(np.float32)
Y = sio.loadmat(os.path.join(DATA_DIR, "KSC_gt.mat"))["KSC_gt"].astype(int)
coords = np.argwhere(Y != 0)
X_all  = X[coords[:,0], coords[:,1]]
y_all  = Y[coords[:,0], coords[:,1]] - 1

X_train, X_test, y_train, y_test = train_test_split(
    X_all, y_all, train_size=TRAIN_RATIO, stratify=y_all, random_state=SEED
)

# ===== 2. 定义预处理方法 =====
scalers = {
    "Standard": StandardScaler(),
    "MinMax": MinMaxScaler(),
    "Robust": RobustScaler(),
    "Normalizer": Normalizer()
}

# ===== 3. 可视化:PCA 2D 投影对比 =====
plt.figure(figsize=(10,8))
for i, (name, scaler) in enumerate(scalers.items(), 1):
    Xs = scaler.fit_transform(X_train)
    pca = PCA(n_components=2, random_state=SEED).fit(Xs)
    Xp = pca.transform(Xs)

    plt.subplot(2,2,i)
    plt.scatter(Xp[:,0], Xp[:,1], c=y_train, s=6, cmap="tab20")
    plt.title(name); plt.axis("off")

plt.suptitle("不同预处理方法的特征分布(PCA投影)", fontsize=14)
plt.tight_layout(rect=[0,0,1,0.96])
plt.show()

# ===== 4. 分类精度对比(SVM) =====
results = {}
for name, scaler in scalers.items():
    Xtr_s = scaler.fit_transform(X_train)
    Xte_s = scaler.transform(X_test)

    pca = PCA(n_components=PCA_DIM, random_state=SEED).fit(Xtr_s)
    Xtr_p = pca.transform(Xtr_s)
    Xte_p = pca.transform(Xte_s)

    clf = SVC(kernel="rbf", C=20, gamma=0.005)
    clf.fit(Xtr_p, y_train)
    acc = accuracy_score(y_test, clf.predict(Xte_p))
    results[name] = acc
    print(f"{name:10s}: OA = {acc*100:.2f}%")

# ===== 5. 可视化分类精度 =====
plt.figure(figsize=(7,4))
names, accs = list(results.keys()), [v*100 for v in results.values()]
plt.bar(names, accs, color="skyblue")
for i,a in enumerate(accs):
    plt.text(i, a+0.3, f"{a:.1f}%", ha='center')
plt.ylabel("Overall Accuracy (%)")
plt.title("不同预处理方法对比 (SVM分类器)")
plt.ylim(min(accs)-5, min(100,max(accs)+6))
plt.tight_layout(); plt.show()

🔍 结果与思考

PCA 可视化:不同预处理方法会改变特征的投影分布。

图片

分类精度对比:有时差别不大,甚至可能几乎相同。

图片

关键点:

    • StandardScaler 通常是安全的默认选项;

    • MinMaxScaler 在特征范围差异大时有帮助;

    • RobustScaler 抗异常值;

    • Normalizer 更适合做光谱角或方向性分析。

✅ 总结

  • 预处理≠保证提升精度:它主要是为模型提供合理输入。

  • 选择依赖场景:分类器 + 数据特征决定了预处理的必要性。

  • 建议:做实验时至少尝试 StandardScaler 和 MinMaxScaler,并结合结果选择。

欢迎大家关注下方我的公众获取更多内容!

保姆级教程:用SNAP一步步搞定Sentinel-1 SAR数据预处理(附水稻提取实战) 本文提供了一份详细的SNAP软件处理Sentinel-1 SAR数据的保姆级教程,涵盖从软件安装、数据获取到水稻提取的全流程。通过逐步解析热噪声去除、辐射定标、地形校正等关键步骤,帮助用户高效处理SAR数据并应用于农业监测,特别适合遥感初学者和农业研究人员。 阅读详情

相关推荐

Orfeo ToolBox (OTB):从入门到实战,解锁遥感影像处理新范式

本文全面介绍Orfeo ToolBox (OTB)在遥感影像处理中的应用,从安装配置到实战案例,涵盖影像融合、分类算法、SAR处理等核心功能。作为开源工具,OTB凭借流式处理架构和并行计算优势,可高效处理TB级数据,是遥感影像处理的瑞士军刀。文章还分享了与QGIS联动、Python API集成等高级技巧,帮助用户快速掌握这一强大工具。

weixin_30861459的博客 370

GIS人如何用机器学习升级遥感影像分析能力

遥感影像分析是地理信息科学的核心能力,其本质是通过多光谱、时序与空间特征识别地表变化。机器学习作为智能建模方法,能自动挖掘NDVI、EVI、纹理及SAR极化等遥感特征间的非线性关系,显著提升分类精度与响应效率。相比传统目视解译或阈值法,ML模型具备可量化评估、支持概率输出、适配高频更新等技术优势,广泛应用于耕地监测、生态评估、城市扩张识别等自然资源管理场景。本文聚焦GIS从业者最易上手的scikit-learn+QGIS+GEE技术路径,以真实业务问题为驱动,详解从辐射定标、样本构建到模型部署的全流程实践。

weixin_34032792的博客 440

随机森林实现遥感影像像素级分类实战

像素级分类是遥感地物识别的基础技术,其核心在于将每个像元作为独立样本,基于光谱特征(如NDVI、B08近红外波段)建模判别地表覆盖类型。该方法不依赖深度学习框架,原理清晰、可解释性强,特别适合农业遥感等中小样本场景。技术价值体现在本地化部署能力、低硬件门槛与高结果可复现性,广泛应用于农田识别、盐碱地监测、绿洲动态评估等业务。本文以阿尔及利亚El Oued地区Sentinel-2影像为数据源,完整呈现从数据下载、坐标系对齐、纹理与几何特征工程,到Random Forest建模与GeoTIFF输出的端到端流程,

dibeichan3033的博客 559

Sklearn.processing:scale, StandardScaler, MinMaxScaler, Normalizer

一、标准化 去除均值和方差缩放:通过(X-X_mean)/std计算每个属性(每列),进而使所有数据聚集在0附近,方差为1. (1)、sklearn.preprocessing.scale()  直接将给定数据进行标准化 from sklearn import preprocessing import numpy as np X = np.array([[ 1., -1.,  2.],[ 2...

Bebr的博客 2935

MATLAB数模实战:机器学习落地全流程指南

机器学习在数学建模中不是理论推演,而是从原始数据到可交付报告的工程闭环。理解timetable时序对齐、fitcecoc多分类建模、ttest2双样本检验等核心机制,本质是掌握数据形态适配、物理意义建模与评审导向交付三大能力。MATLAB凭借Statistics and Machine Learning Toolbox的交互式训练器、Signal Processing Toolbox的小波/潮汐分析、内置统计函数的置信区间输出等‘开箱即用’能力,在数据清洗、特征工程、模型验证、结果可视化全链路中显著压缩交付

weixin_33968104的博客 379

GIS模型选型:机器学习与深度学习的工程决策指南

在地理信息系统(GIS)应用中,模型选择本质上是空间数据特性与工程约束之间的权衡问题。机器学习依赖人工设计的地理特征(如NDVI、坡度、拓扑关系),具备强可解释性与小样本适应性;深度学习则通过端到端方式自动学习多尺度空间模式,但高度依赖高质量标注与GPU算力。二者差异并非算法先进性之分,而源于对空间数据‘尺度嵌套性’‘拓扑强约束性’和‘标注稀缺性’这三大物理特性的响应机制不同。实际项目中,当样本量<5000、无GPU环境或需对接ArcGIS/QGIS等传统平台时,XGBoost、随机森林等机器学习方法往往更

cqwmy840702的博客 408

sklearn_processing的几个重要的类

数据预处理sklearn的几个重要的类

J_X0110的博客 418

空间机器学习在精准农业中的三大落地算法

精准农业的核心挑战在于农田数据固有的空间依赖性与异质性——作物长势、病害传播、水肥运移均非独立事件,而是受邻域地形、灌溉网络、微气候等物理关系约束的空间过程。空间机器学习(Spatial ML)由此成为突破传统机器学习局限的关键范式,它通过显式建模地理邻接、距离衰减与多源拓扑关系,赋予模型‘看地图’的能力。其技术价值体现在小样本鲁棒性、强噪声适应性与多尺度融合能力,广泛应用于作物产量预测、病害早期检测、灌溉优化等核心场景。本文聚焦空间随机森林、空间卷积神经网络与空间图神经网络三大经田间验证的算法,直击农田数

weixin_30333885的博客 415

2023双非计算机硕士应战秋招算法岗之机器学习基础知识

目录特征工程 2缺失值处理 15评价指标 33逻辑回归 37决策树 40随机森林 46SVM 49Knn 56Kmeans 59PCA 66朴素贝叶斯 68常见分类算法的优缺点 72特征工程1.什么是特征工程有这么一句话在业界广泛流传,数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。那特征工程到底是什么呢?顾名思义,其本质是一项工程活动,目的是最大限度地从原始数据中提取特征以供算法和模型使用。

qq_41950533的博客 1689

k-NN在GIS空间分析中的实战应用与避坑指南

k-Nearest Neighbors(k-NN)作为一种基于邻近性原理的非参数机器学习方法,其‘距离即关系’的核心思想与地理信息系统(GIS)的空间依赖性高度契合。它不假设数据分布、无需复杂训练,天然适配Tobler第一定律所描述的‘近处事物关联更强’这一地理本质。在空间分类、邻域关系建模、遥感影像解译等场景中,k-NN凭借强可解释性与工程友好性,成为GIS工程师快速验证空间假设、落地业务决策的关键工具。尤其在缺乏标注样本、需兼顾空间语义与计算效率的现实项目中,结合地理距离、网络距离与空间索引优化的k-N

weixin_30706691的博客 364

空间智能落地三剑客:随机森林、SVM与k近邻实战指南

空间机器学习并非追求模型复杂度,而是解决地理数据固有的坐标系混杂、属性噪声高、样本不均衡等现实挑战。随机森林凭借混合特征处理与可解释的决策树结构,天然适配GIS影响因子分析;支持向量机通过最优超平面建模,在地质灾害预警等场景中可直接生成空间可解释的决策边界;k近邻则严格遵循地理学第一定律,以球面距离为基础实现局部空间推理。三者共同构成鲁棒性强、调试路径清晰、业务可理解的技术底座,广泛应用于土地利用分类、选址评估、环境风险预测等核心空间智能任务。

weixin_33701251的博客 425

sklearn.preprocessing中的标准化StandardScaler与scale的区别

标准化主要用于对样本数据在不同特征维度进行伸缩变换,目的是使得不同度量之间的特征具有可比性,同时不改变原始数据的分布一些机器学习算法对输入数据的规模和量纲非常敏感,如果输入数据的特征之间存在数量级差异,可能会影响算法的准确性和性能标准化处理的好处是我们在进行特征提取时,可以忽略不同特征之间由于噪声所导致的度量差异,而保留样本在各个维度上的信息分布,提高算法的准确性和性能,增加数据的可解释性计算数据列的算数平均值(mean)计算数据列的标准差/方差(std)scale()函数和。

Java/Python大数据随笔 1437

Python实战:用Py2neo轻松玩转Neo4j图数据库(附完整CRUD示例)

本文通过构建武侠知识图谱的实战案例,详细介绍了如何使用Python的Py2neo库对Neo4j图数据库进行CRUD操作。内容涵盖环境搭建、节点与关系创建、Cypher查询、数据更新删除及事务管理,帮助开发者直观高效地处理复杂关联数据,实现从入门到进阶的完整交互流程。

weixin_29034963的博客 185

数据预处理实战:从缺失值处理到特征工程,构建高质量数据挖掘地基

数据预处理是数据挖掘与机器学习项目中的关键基础环节,其核心在于将原始、杂乱的‘脏数据’转化为算法可高效处理的‘干净数据’。从原理上看,它通过一系列系统化的工程方法,如数据清洗、转换、集成与归约,解决数据中的缺失值、异常值、不一致性等问题,并构造有效的特征表示。这一过程的技术价值在于,它直接决定了后续模型性能的上限,是避免‘垃圾进,垃圾出’现象、提升模型泛化能力与稳定性的基石。在应用场景上,无论是经典的表格数据分析,还是特定领域的遥感影像处理或推荐系统构建,都需要量身定制的预处理流程。例如,在遥感数据分析中,

weixin_34321753的博客 538

基于Joplin和Joplin Server搭建私有云笔记

我们知道,多端同步功能是笔记工具最重要的功能。只有实现了多端同步,我们才能在工作电脑和手机之间无缝切换笔记体验。Joplin 在同步上做得不错,支持 Dropbox、OneDrive 和 AWS s3(当然国内都没法用),支持 WebDAV 协议,也支持自家的 Joplin Server。 本文介绍如何在自己的服务器上搭建 Joplin Server,并配置好 Joplin Desktop 的同步功能。 前置条件 安装docker 创建 Joplin Server 配置文件 创建配置文件,~/docke

代码时光 1万+

从模组到集装箱:手把手拆解一个储能BMS的软硬件架构设计与通信组网

本文深入解析储能BMS的软硬件架构设计与通信组网,从电芯采样到系统集成的全链条技术实现。详细介绍了三级硬件架构(AFE、CMU、BMU)的设计要点,以及软件分层实现中的驱动层、应用层核心算法和通信协议栈。通过实战案例分享CAN网络搭建、调试工具链和系统验证测试经验,为储能系统开发提供实用指导。

weixin_30752699的博客 462

空间机器学习专用IDE:SRS感知与混合数据协同开发平台

空间机器学习是地理信息科学与人工智能交叉融合的前沿方向,其核心在于处理具有坐标、投影、拓扑和时空属性的异构数据。区别于通用Python开发环境,专业IDE需深度支持空间参考系统(SRS)全程无损传递、栅格/矢量/时序混合数据结构的内存协同、空间自相关验证(如Moran’s I)、以及空间元数据版本治理等关键技术原理。这类工具不仅提升模型训练效率,更保障结果的空间可解释性与工程可复现性,广泛应用于城市热岛建模、农业遥感分类、流行病传播模拟与地质风险预测等真实场景。本文聚焦5款具备SRS感知能力与多模态协同特性

weixin_30596343的博客 416

深入解析mSATA与mini-PCIE接口的硬件设计要点

本文深入解析mSATA与mini-PCIE接口的硬件设计要点,涵盖信号定义、电源设计、高速信号处理及PCB布局布线等关键内容。通过实战案例和调试技巧,帮助工程师规避常见设计陷阱,提升电路设计效率,特别适合工业控制和嵌入式系统开发场景。

weixin_28741413的博客 315

RS、GIS与GPS融合:土壤空间分析、评价与制图全流程实战指南

空间数据分析是现代地理信息科学的核心,它通过整合多源地理空间数据,揭示要素的分布规律与相互关系。其基本原理在于利用地理信息系统(GIS)对具有空间位置的信息进行管理、分析和可视化。在工程实践中,这项技术价值巨大,能够将海量、离散的野外采样数据转化为连续、直观的空间分布图,支撑科学决策。特别是在农业资源管理、环境评估和国土调查等领域,精准的空间分析是完成土地适应性评价、土壤普查等任务的关键。本文聚焦于如何将遥感(RS)、GIS和全球定位系统(GPS)三大技术有机融合,构建一套从数据采集、处理、分析到专题图制作

weixin_33742618的博客 475

【可穿戴算法开发】-PPG信号检测方法

文章目录一、PPG(光电容积脉搏波法)信号的检测原理二.PPG技术目前存在的问题(挑战)三. **心电信号产生的原理** 随着经济的发展,在人们生活水平提高的同时,高脂肪摄入和低运动量成为了人们普遍的生活模式,近年来高血压、高血脂已经发展为危险性最高的病症。心电、血压、血氧等生理参数是预防和分析心血管疾病的重要生理参数。 常用的心电测量仪器有:多导ECG心电图仪、PPG心率检测器、心率带等; 常...

wxq_1993的博客 2万+

【系统架构设计师】2025年下半年真题论文回忆版及写作要点

本文摘要围绕云原生数据库、性能测试、无服务器架构和秒杀场景等关键技术进行论述。云原生数据库通过容器化、微服务和自动化运维实现弹性扩展;性能测试需要规划测试场景并关注响应时间等关键指标;无服务器架构以事件驱动为核心,简化开发流程;秒杀场景需组合运用扩容、缓存、限流等技术应对高并发。这些技术方案为构建现代高可用系统提供了重要参考。

数据知道的博客 6154

野外数据科学实战:生物多样性监测的开源技术链

生物多样性监测是生态信息学的基础应用场景,其核心在于将遥感影像解译、物种分布建模、野外数据采集标准化等多源异构数据融合为可行动的保护决策。技术实现需直面真实野外环境的‘脏数据’本质——GPS漂移、红外图像模糊、历史标本坐标粗略、专家鉴定分歧等并非缺陷,而是生态系统固有特征。因此,容错优先于精度、可解释性重于黑箱模型、离线可用性高于云端智能。基于QGIS、R、ODK Collect和轻量级AI的开源工具链,构建从无人机航拍、Sentinel-2物候分析到护林员移动端复核的端到端闭环,使数据真正服务于一线保护实

xSTARx 394

27、自闭症儿童治疗与玩具设计研究

本研究探讨了自闭症儿童的治疗方法与玩具设计之间的关联,分析了游戏疗法、音乐疗法和职业疗法等在治疗中的应用,并介绍了多种针对自闭症儿童的治疗玩具案例。通过用户研究和多学科合作,提出了以Pro-Ability为核心的设计理念,开发了结合音乐疗法和精细运动训练的智能玩具套件。研究总结了当前成果与局限性,并展望了未来发展方向,旨在为自闭症儿童提供更有效的康复支持。

keras9composer的博客 210

基于随机森林算法的森林生物量反演:Matlab与Python实现全流程解析

遥感影像分析是获取大范围地表信息的关键技术,其核心原理是通过传感器接收地物反射或辐射的电磁波信号,反演地表参数。在生态监测领域,利用遥感数据反演森林生物量,对于量化碳汇、评估生态系统服务具有重要价值。随机森林算法凭借其出色的非线性拟合能力和抗过拟合特性,成为处理高维、复杂遥感特征与生物量之间映射关系的理想工具。该算法通过集成多棵决策树,有效提升了模型的稳健性和预测精度,广泛应用于森林碳储量估算、植被参数反演等场景。本文聚焦于森林生物量反演这一具体应用,详细阐述了从数据预处理、特征工程到模型构建与评估的全链条

weixin_33831673的博客 417

IEC 60747-8 是由国际电工委员会(IEC)制定的标准,标题为《半导体器件 - 分立器件 - 第8部分:场效应晶体管》

IEC 60747-8 是由国际电工委员会(IEC)制定的标准,标题为《半导体器件 - 分立器件 - 第8部分:场效应晶体管》(Semiconductor devices - Discrete devices - Part 8: Field-effect transistors)。该标准详细规定了场效应晶体管(FETs)的测试方法,涵盖静态和动态特性测试,适用于多种类型的FET,包括结型场效应晶体管(JFETs)、绝缘栅场效应晶体管(MOSFETs,增强型和耗尽型)等。3. 标准其他部分(简要概述)

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 571

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Python图像处理全流程:从OpenCV基础到完整分类项目实战

数字图像处理作为计算机视觉的基础技术,通过算法将图像转换为数字矩阵进行分析和操作。其核心原理涉及像素级的数学运算,能够改善图像质量、提取有用信息并进行模式识别。在技术价值层面,图像处理为医疗影像分析、自动驾驶、安防监控等关键领域提供了强大的视觉理解能力。OpenCV作为最流行的计算机视觉库,与PIL、NumPy等工具配合使用,可以实现图像增强、特征提取、目标检测等核心任务。在实际应用场景中,掌握图像分类项目的完整流程尤为重要,包括环境配置、数据预处理、特征工程和模型训练等关键环节。本文基于Python 3.

weixin_34151004的博客 495

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

上一篇: 遥感&机器学习入门实战教程|Sklearn案例⑧:评估指标(metrics)全解析
下一篇: 遥感&机器学习入门实战教程|Sklearn案例⑩:降维与分解(decomposition 模块)
遥感AI实战
博客等级 码龄9年 1002粉丝 107原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

遥感AI实战

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值