我想研究如何执行LIBSVM进行回归,而我目前仍然在准备我的数据。目前我有.csv和.xlsx格式的这种形式的数据,我想将其转换为libsvm数据格式。
到目前为止,我知道数据应该采用这种格式,以便可以在LIBSVM中使用:
根据我读到的内容,对于回归,“label”是目标值,可以是任何实数。
我正在进行电力负荷预测研究。谁能告诉我它是什么?最后,我应该如何组织我的列和行?
答案 0 :(得分:11)
LIBSVM数据格式由:
给出<标签> < index1之间>:其中值1> <索引2>:其中值2> ... ...
...
如您所见,这形成了一个矩阵[(IndexCount + 1)列,LineCount行]。更准确地说是稀疏矩阵。如果您为每个 index
指定一个值,则您有一个密集矩阵,但如果您只指定了一些像<label> <5:value> <8:value>
这样的索引,那么只有index 5
和8
以及label
当然会有自定义值,所有其他值都设置为0
。这只是为了简化符号或节省空间,因为数据集可能很大。
对于标签的含义,我引用了ReadMe file:
&LT;标签&gt;是训练数据的目标值。用于分类, 它应该是一个标识类的整数(多类 支持分类)。对于回归,它是真实的 数。对于单类SVM,它没有被使用,所以可以是任何数字。 是从1开始的整数,&lt; value&gt;是一个真实的数字。指数 必须按升序排列。
如您所见,label
是您要预测的数据。 index
标记了数据的功能及其value
。功能只是一个指标,用于关联或关联目标值,因此可以做出更好的预测。
完全虚构的故事时间:Gabriel Luna(一个完全虚构的角色)想要预测他未来几天的能量消耗。他发现前一天的外部温度是一个很好的指标,因此他选择Temperature
作为功能的1
索引0
。 重要:指数总是从1开始,零有时会导致奇怪的LIBSVM行为。然后,他惊讶地注意到,星期几(星期一到星期日或6
到2
)也会影响他的负载,所以他选择它作为第二个功能索引<myLoad_Value> <1:outsideTemperatureFromYesterday_Value> <2:dayOfTheWeek_Value>
。 LIBSVM的矩阵行现在具有以下格式:
0.72 1:25 2:0
加布里埃尔·卢娜(他晚上是蝙蝠侠)现在可以在几周内捕获这些数据,这看起来像这样(以千瓦时为单位加载,温度以摄氏度为单位,如上所述):
0.65 1:21 2:1
0.68 2:29 2:2
...
2:0
请注意,由于稀疏矩阵格式,我们可以省略23
。这将是您训练LIBSVM模型的训练数据。然后,我们预测明天的负荷如下。你知道今天的温度,我们说1
°C,今天是星期二,2
,所以明天是0 1:23 2:2
。因此,这是与模型一起使用的线或向量:
<label>
在这里,您可以任意设置$(document).ready(function()
{
$('#searchinputtext').keyup(function()
{
var tr = $('#videosfromtagstable tbody tr'); //use tr not td
if ($(this).val().length >= 2) {
var inputdata = $.trim($("#searchinputtext").val());
$('#errmsgnovideos').hide();
var noElemvideo = true;
var val = $.trim(this.value).toLowerCase();
el = tr.filter(function()
{
return this.innerHTML.toLowerCase().indexOf(val) >= 0;
}); // <==== closest("tr") removed
if (el.length >= 1)
{
noElemvideo = false;
}
//now you fadeIn/Out every row not every cell
tr.not(el).fadeOut();
el.fadeIn();
if (noElemvideo)
if (inputdata !== '')
{
$('#errmsgnovideos').html('No Results Matched').show();
}
else
{
$('#errmsgnovideos').hide();
}
}
else {
tr.fadeIn(); //show all if length does not match the required number of characters
$('#errmsgnovideos').hide();
}
})
});
值。它将被预测值覆盖。我希望这会有所帮助。