libsvm 数据格式简介

libsvm文件数据格式:

xml 复制代码
<label> <index1>:<value1> <index2>:<value2> ...

其中,

<label> 是训练数据集的目标值,对于分类,它是标识某类的整数(支持多个类);对于回归,是任意实数。

<index> 是以1开始的整数,可以是不连续的;

<value>为实数,也就是我们常说的自变量。

即:lable 数据集的标签,index为特征,value为特征值。

例如:

复制代码
+1  1:0.708333  2:1   3:1           4:-0.320755
-1  1:0.583333  2:-1  3:0.333333    4:-0.603774 
+1  1:0.166667  2:1   3:-0.333333   4:-0.433962 
-1  1:0.458333  2:1   3:1           4:-0.358491 

需要注意的是,如果特征值value为0,则此特征可以省略,index可以不连续。如:

复制代码
-15 1:0.708 3:-0.3333

表明第2个特征值为0,从编程的角度来说,这样做可以减少内存的使用,并提高做矩阵内积时的运算速度。

需要注意以下几点:

  • 标签列label可以重复;
  • 索引index要从1开始;
  • 数据的长度是以最大列数为准的,因为特征值value为0,则此特征index可以省略。因此最好是要保持数据列数一致;

Spark 中自带的 data/mllib/sample_libsvm_data.txt 介绍:

总共100个实例,label的取值为:0和1。有692个特征。

scala 复制代码
scala> val data = spark.read.format("libsvm").load("data/mllib/sample_libsvm_data.txt)
data: org.apache.spark.sql.DataFrame = [label: double, features: vector]

scala> data.count
res1: Long = 100

scala> data.show()
+-----+--------------------+
|label|            features|
+-----+--------------------+
|  0.0|(692,[127,128,129...|
|  1.0|(692,[158,159,160...|
|  1.0|(692,[124,125,126...|
|  1.0|(692,[152,153,154...|
|  1.0|(692,[151,152,153...|
|  0.0|(692,[129,130,131...|
|  1.0|(692,[158,159,160...|
|  1.0|(692,[99,100,101,...|
|  0.0|(692,[154,155,156...|
|  0.0|(692,[127,128,129...|
|  1.0|(692,[154,155,156...|
|  0.0|(692,[153,154,155...|
|  0.0|(692,[151,152,153...|
|  1.0|(692,[129,130,131...|
|  0.0|(692,[154,155,156...|
|  1.0|(692,[150,151,152...|
|  0.0|(692,[124,125,126...|
|  0.0|(692,[152,153,154...|
|  1.0|(692,[97,98,99,12...|
|  1.0|(692,[124,125,126...|
+-----+--------------------+
only showing top 20 rows
相关推荐
我想睡觉26126 分钟前
Python打卡训练营Day40
开发语言·人工智能·python·深度学习·机器学习
lucky_lyovo1 小时前
机器学习-线性回归基础
人工智能·机器学习·线性回归
maligebilaowang2 小时前
【2025年电工杯数学建模竞赛A题】光伏电站发电功率日前预测问题+完整思路+paper+源码
机器学习·数学建模·2025年电工杯·光伏电站发电功率日前预测问题
写代码的小阿帆11 小时前
Attention Is All You Need论文阅读笔记
论文阅读·深度学习·机器学习·transformer
学算法的程霖13 小时前
CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!
人工智能·深度学习·目标检测·机器学习·计算机视觉·自动驾驶·视觉检测
白熊18814 小时前
【机器学习基础】机器学习入门核心算法:集成学习(Ensemble Learning)
算法·机器学习·集成学习
xiaohanbao0917 小时前
day40 python图像数据与显存
python·深度学习·学习·算法·机器学习·图像
丁值心18 小时前
5.29打卡
开发语言·人工智能·python·机器学习·支持向量机
满怀101518 小时前
【数据分析】Pandas
python·机器学习·数据挖掘·数据分析·pandas
禺垣19 小时前
循环神经网络(RNN)模型
人工智能·深度学习·机器学习·循环神经网络·序列数据