我想在一个文件中表示一组标记的实例(数据),作为训练数据输入 LibSVM。对于这个问题中提到的问题。它将包括,
- 登录日期
- 登录时间
- 位置(国家代码?)
- 一周中的天
- 真实性(0 - 非真实性,1 - 真实性) - 标签
如何格式化这些数据以输入到 SVM?
我想在一个文件中表示一组标记的实例(数据),作为训练数据输入 LibSVM。对于这个问题中提到的问题。它将包括,
如何格式化这些数据以输入到 SVM?
您是在询问数据格式还是如何转换数据?对于后者,您将不得不尝试找到正确的方法来做到这一点。总体思路是将您的数据转换为名义或有序值属性。其中一些很简单——#4、#6——其中一些会很困难——#1-#3。
例如,您可以将 #1 表示为日、月和年的三个属性,或者通过将其转换为类似 UNIX 的时间戳来仅表示一个。
IP 更难 - 没有直接的方法可以将其转换为有意义的序数值。根据您的问题,使用每个 IP 作为标称属性可能没有用。
一旦你弄清楚了,转换你的数据,检查 LibSVM 文档。一般格式后跟:ie+1 1:0 2:0 ..
等
我相信以前的答案中有一个未说明的假设。未说明的假设是 libSVM 的用户知道他们应该避免将分类数据放入分类器中。
例如,libSVM 不知道如何处理国家代码。如果您试图预测哪些访问者最有可能在您的网站上购买商品,那么如果美国在您的国家代码列表中位于乍得和尼日尔之间,您可能会遇到问题。来自美国的隆起可能会扭曲对位于它附近的国家的预测。
为了解决这个问题,我将为正在考虑的每个国家创建一个类别(也许还有一个“其他”类别)。然后对于您要分类的每个实例,我会将所有国家/地区类别设置为零,但该实例所属的类别除外。(要使用 libSVM 稀疏文件格式执行此操作,这并不是什么大问题)。