【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)))
相关推荐
AI工具测评家1 分钟前
论文AI率和重复率双降怎么做?拆解AIGC降重底层技术与实操方法
人工智能·aigc·降重·ai检测·查重·降ai
故七月1 分钟前
基于最新Geo数据的测评行业服务商分析——万域智瞰深度洞察
大数据·人工智能
我的xiaodoujiao1 分钟前
Django 基础知识详细图文教程 1-Django 介绍
后端·python·学习·测试工具·django
weixin_469163692 分钟前
从提示词到驾驭工程:金融 AI 需求工程的三段式演进路径
大数据·人工智能·金融
安之眼Angleyes4 分钟前
运动相机的“盲拍”困局与AX10的解法:AR实时预览+AI双引擎,让所见即所得
人工智能·数码相机·ar
前沿在线4 分钟前
黑芝麻智能亮相2026世界机器人大会, SesameX全矩阵产品展现具身智能硬核实力
人工智能·ai·大模型
Zzj_tju5 分钟前
复现一个 Transformer Encoder:从论文公式到最小 PyTorch
人工智能·pytorch·深度学习·语言模型
June bug8 分钟前
【HCIA- AI(正课)】2.2 神经网络组成
人工智能·深度学习·神经网络
TAN-90°-10 分钟前
Deep Learning for Computer Vision——Recurrent Neural Networks
数据结构·人工智能·rnn·深度学习·神经网络·机器学习·计算机视觉
海兰10 分钟前
【应用】Ubuntu 24 搭建大数据 & AI 应用云原生容器化实践
大数据·人工智能·ubuntu