LibSVM 输入格式

发布于 2024-10-21 10:16:11 字数 309 浏览 7 评论 0原文

我想在文件中表示一组标记实例(数据),并将其作为训练数据输入到 LibSVM 中。对于这个问题中提到的问题。它将包括:

  1. 登录日期
  2. 登录时间
  3. 位置(国家/地区代码?)
  4. 星期几
  5. 真实性(0 - 不真实,1 - 真实) - 标签

如何格式化要输入到 SVM 的数据?

I want to represent a set of labelled instances (data) in a file to be fed in to LibSVM as training data. For the problem mentioned in this question. It will include,

  1. Login date
  2. Login time
  3. Location (country code?)
  4. Day of the week
  5. Authenticity (0 - Non Authentic, 1 - Authentic) - The Label

How can I format this data to be input to the SVM?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

澜川若宁 2024-10-28 10:16:11

您是问数据格式还是如何转换数据?对于后者,您将必须进行试验才能找到正确的方法来做到这一点。总体思路是将数据转换为名义或有序值属性。其中一些很简单 - #4、#6 - 其中一些会很困难 - #1-#3。

例如,您可以将 #1 表示为日、月和年的三个属性,或者通过将其转换为类似 UNIX 的时间戳来仅表示一个属性。

IP 甚至更难 - 没有直接的方法将其转换为有意义的序数值。根据您的问题,使用每个 IP 作为标称属性可能没有用。

一旦你弄清楚了这一点,就可以转换你的数据,检查 LibSVM 文档。一般格式如下:即+1 1:0 2:0 ..

Are you asking about the data format or how to convert the data? For the latter you're going to have to experiment to find the right way to do this. The general idea is to convert your data into a nominal or ordinal value attribute. Some of these are simple - #4, #6 - some of these are going to be tough - #1-#3.

For example, you could represent #1 as three attributes of day, month and year, or just one by converting it to a UNIX like timestamp.

The IP is even harder - there's no straightforward way to convert that into a meaningful ordinal value. Using every IP as a nominal attribute might not be useful depending on your problem.

Once you figure this out, convert your data, check the LibSVM docs. The general format is followed by : i.e., +1 1:0 2:0 .. etc

心如荒岛 2024-10-28 10:16:11

我相信前面的答案中有一个未阐明的假设。未声明的假设是 libSVM 的用户知道他们应该避免将分类数据放入分类器中。

例如,libSVM 将不知道如何处理国家/地区代码。如果您试图预测哪些访问者最有可能在您的网站上购买商品,那么如果美国位于您的国家/地区代码列表中的乍得和尼日尔之间,您可能会遇到问题。美国的经济增长可能会影响对其周边国家的预测。

为了解决这个问题,我将为每个正在考虑的国家创建一个类别(也许还有一个“其他”类别)。然后,对于要分类的每个实例,我会将除该实例所属的国家/地区类别之外的所有国家/地区类别设置为零。 (对于 libSVM 稀疏文件格式来说,这并不是什么大问题)。

I believe there is an unstated assumption in the previous answers. The unstated assumption is that users of libSVM know that they should avoid putting categorical data into the classifier.

For example, libSVM will not know what to do with country codes. If you are trying to predict which visitors are most likely to buy something on your site then you could have problems if USA is between Chad and Niger in your country code list. The bulge from USA will likely skew predictions for the countries located near it.

To fix this I would create one category for each country under consideration (and perhaps an 'other' category). Then for each instance you want to classify, I would set all the country categories to zero except the one to which the instance belongs. (To do this with the libSVM sparse file format, this isn't really a big deal).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文