libsvm中数据归一化的重要性
来源:互联网 发布:企业在淘宝开店流程 编辑:程序博客网 时间:2024/05/01 02:56
这两天用Python来实现手写数字识别,刚开始用原始数据进行训练,结果预测结果都是同一个类别,全部是对应数字1。正确率也只有10%左右,下面是代码及运行结果截图:
预测结果都是数字1。
数据归一化是指将特征值从一个大范围映射到[0,1]或者[-1,1],如果原始值都是正数,则建议选择映射到[0,1];如果原始值有正数又有负数,则建议映射到[-1,1];具体情况需要具体分析。映射到[0,1]的实现是:
这样就能实现从原来的范围映射到[0,1]之间。
libsvm中提供了数据归一化工具,就是svm-scale这个工具。如果你的数据文件已经满足了svm的格式要求,即
其中-l 指定下界,-u指定上界,-s指定保存scale参数文件路径,-r源文件路径
下面以数据源train.txt为例,将其归一化到[0,1],并存入到train-to-one.txt中,语句截图如下:
因为手写数字图片是由一系列的像素点组成的,像素值从0到255,所以可以让每一个像素值除以255,从而实现映射。可以调用svm-scale来实现,也可以直接编写java代码来实现,然后再以归一化之后的数据进行训练模型并预测,其代码和截图如下:
可以看出,准确率和速率明显提高了,不会出现仅仅只有一类的问题。但是其中的原理,本人现在还不知道,等我理解了再解释吧!
阅读全文
0 0
- libsvm中数据归一化的重要性
- LIBSVM中归一化和参数估计的重要性
- LIBSVM中归一化和参数估计的重要性
- 数据的归一化处理
- 数据的归一化
- 数据的归一化处理
- 数据的归一化
- 数据归一化的作用
- 数据的归一化处理
- 数据归一化的方法
- 数据归一化的方法
- 数据的归一化
- 使用libsvm实现归一化
- 机器学习中数据归一化和两种常用的归一化方法
- 图像处理中数据归一化
- 机器学习中关于数据的归一化和标准化
- 数据的归一化及其还原
- 数据统计分析的归一化问题
- 【Android学习】spinner
- 分块算法 优雅的暴力
- 常用数据库知识(四)
- 解决cordova 自打包下https下 调不通的问题
- 数据库第三章 学生——课程数据库
- libsvm中数据归一化的重要性
- 基于ros系统下使用Android应用 Make nav进行地图加载和导航
- anroid studio 快捷键 全解
- Keras 和 tensorflow安装过程中的小问题
- Nginx的基本原理
- C++操作Excel说明
- Nginx + IIS 实现负载均衡
- python的一些面试资料
- python logging类库中RotatingFileHandler的使用