【Python机器学习】预处理对监督学习的作用

还是用cancer数据集,观察使用MinMaxScaler对学习SVC的作用。

首先,在原始数据上拟合SVC:

python 复制代码
cancer=load_breast_cancer()
X_train,X_test,y_train,y_test=train_test_split(
    cancer.data,cancer.target,random_state=0
)
svm=SVC(C=100)
svm.fit(X_train,y_train)
print('test set accuracy:{:.2f}'.format(svm.score(X_test,y_test)))

下面先用MinMaxScaler对数据进行缩放,然后再拟合SVC:

python 复制代码
scaler=MinMaxScaler()
scaler.fit(X_train)
X_train_scaler=scaler.transform(X_train)
X_test_scaler=scaler.transform(X_test)

svm.fit(X_train_scaler,y_train)

print('Scaler test set accuracy:{:.2f}'.format(svm.score(X_test_scaler,y_test)))

可以发现,数据缩放的作用非常显著。虽然数据缩放不涉及任何复杂的数据,但良好的做法仍然是使用scikit-learn提供的缩放机制,而不是自己重新实现它们,因为即使在这些简单的计算中也容易犯错。

还可以通过改变使用的类将一种预处理算法替换成另一种,因为所有的预处理类都具有相同的接口,都包含fit和transform方法:

python 复制代码
scaler=StandardScaler()
scaler.fit(X_train)
X_train_scaler=scaler.transform(X_train)
X_test_scaler=scaler.transform(X_test)

svm.fit(X_train_scaler,y_train)

print('SVM test accuracy:{:.2f}'.format(svm.score(X_test_scaler,y_test)))
相关推荐
一次旅行11 小时前
2026‑09‑07 AI产业深度解读|GPT-6 Astra引爆AGI争议、自动化科研落地、对齐监控能力衰减
人工智能·gpt·agi
人工智能培训11 小时前
AI智能体落地价值:从工具赋能到产业重构,解锁企业降本增效新逻辑
人工智能·重构
LPCK_2026062211 小时前
生物检测、化工、化学企业的智能体落地:拆出三块共性基石
人工智能
sougeo_geo11 小时前
基于RAG架构的AI品牌心智量化:中立监测平台的技术实现与多模型验证实践
人工智能·架构
盼小辉丶11 小时前
PyTorch计算机视觉(9)——变分自编码器(VAE)详解与实现
人工智能·pytorch·深度学习·计算机视觉
狗哥哥11 小时前
年度能力建设 · 长期主义工作手册
人工智能
AC赳赳老秦11 小时前
环保监测公开数据应用:OpenClaw 抓取空气与水质公开监测数据,开展区域环境质量趋势分析
大数据·数据库·人工智能·python·php·deepseek·openclaw
大模型真好玩11 小时前
大模型训练全流程实战指南实战篇(十五)——预训练数据治理
人工智能·agent·deepseek
RSABLOCKCHAIN11 小时前
打造工业级多智能体量化交易闭环:基于 Alpaca、LangGraph 与双轨执行的智能投资与持仓治理系统
人工智能·python·ai·aigc