LIBSVM中归一化和参数估计的重要性

LIBSVM中归一化和参数估计的重要性

LIBSVM中归一化和参数估计的重要性

下面是Libsvm guide中采用不同方法使用Libsvm的例子:(可以看到归一化和参数估计的重要性)

Astroparticle Physics

– Original sets with default parameters
$./svm-train train.1
$./svm-predict test.1 train.1.model test.1.predict
! Accuracy = 66.925%----很低

– Scaled sets with default parameters
$./svm-scale -l -1 -u 1 -s range1 train.1 > train.1.scale----归一化的结果
$./svm-scale -r range1 test.1 > test.1.scale
$./svm-train train.1.scale
$./svm-predict test.1.scale train.1.scale.model test.1.predict
! Accuracy = 96.15%--还不错

– Scaled sets with parameter selection
$python grid.py train.1.scale
· · ·
8192.0 0.0 96.9569

(Best C=8192.0, G=0.03125 with five-fold cross-validation rate=96.8922%)
$./svm-train -c 8192.0 -g 0.03125 train.1.scale----估计参数c和g
$./svm-predict test.1.scale train.1.scale.model test.1.predict
! Accuracy = 96.525%

– Using an automatic script
$python easy.py train.1 test.1
Scaling training data...
Cross validation...
Best c=8192.0, g=0.03125 

Training...
Scaling testing data...
Testing...

Accuracy = 96.525% (3875/4000) (classification)


libsvm数据归一化是指将数据集的特征值按照一定的比例缩放到某个范围内,以确保所有特征的数值具有相似的尺度。数据归一化的目的是消除不同特征之间的量纲差异,避免某些特征对于模型的训练产生过大的影响。 libsvm提供了两种常见的数据归一化方式:线性归一化和标准化。 1. 线性归一化(Min-Max Scaling)是将数据按照线性比例缩放到[0, 1]的范围内。公式如下: X_scaled = (X - X_min) / (X_max - X_min) 其,X_scaled是归一化后的特征值,X是原始特征值,X_min和X_max分别是原始特征值的最小值和最大值。 2. 标准化(Standardization)是将数据按照正态分布的标准差进行缩放,使得数据的均值为0,标准差为1。公式如下: X_scaled = (X - X_mean) / X_std 其,X_scaled是归一化后的特征值,X是原始特征值,X_mean是原始特征值的均值,X_std是原始特征值的标准差。 数据归一化可以通过sklearn库的preprocessing模块来实现。具体步骤如下: 1. 导入preprocessing模块:from sklearn import preprocessing 2. 实例化一个归一化器:scaler = preprocessing.MinMaxScaler() 或 scaler = preprocessing.StandardScaler() 3. 调用fit_transform()方法进行数据归一化:X_scaled = scaler.fit_transform(X) 其,X是原始的特征矩阵。 4. 对于测试数据,可以使用已经实例化的归一化器进行相同的归一化处理:X_test_scaled = scaler.transform(X_test)。 归一化后的数据可以提高模型的训练效果,使得各特征的权重更加平衡,同时也可以提高模型的稳定性和可解释性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值