变量在范围内时的分类

数据挖掘 Python 分类 分类数据 监督学习
2022-02-15 01:51:02

我想对我的数据进行分类,我的一些变量是范围。

我对位置进行分类,例如学校,人们在学校的时间是从 7:00 到 14:00,我的一些变量是分类的(工作日),其中一些是数字的(一个月内的访问频率)。

我想使用 LDA 但如何将范围声明为一个变量?

顺便说一句,我使用 Python

例子:

place         visiting time    frequency    workday
school         8:00-14:00        18-20           1
restaurant    13:00-21:00        0-3            both
bank          8:00-17:00         0-4             1
night club     21:00-2:00        0-4            both

该算法应该受到监督,因为我自己插入了基本事实(地点)。

TIA

2个回答

这实际上更多的是关于特征工程,而不仅仅是找到任何表示。因此,我会考虑哪些变量可能有助于您的算法。

以下是一些基于您的时间范围的功能的更多想法,可能会有所帮助:

  • 期间
  • 开始时间
  • 时间结束
  • 早上、白天、晚上或夜间活动(分类,即不适用于 LDA)

对于开始和结束时间,您可能想看看循环特征设计

选项1

将范围转换为数值特征。您可以从中创建2 个功能。

     range
-------------
7:00 to 14:00

becomes


percentage of day in school | hours in school
----------------------------|----------------
            0.29            |      7

选项 2

将范围转换为热编码。您可以从中创建24 个功能。

     range
-------------
7:00 to 14:00

becomes


at 0:00|at 1:00|at 2:00|at 3:00|at 4:00|at 5:00|at 6:00|at 7:00|at 8:00|at 9:00|at 10:00|at 11:00|at 12:00|at 13:00|at 14:00|at 15:00|at 16:00|at 17:00|at 18:00|at 19:00|at 20:00|at 21:00|at 22:00|at 23:00
-------|-------|-------|-------|-------|-------|-------|-------|-------|-------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------
   0   |   0   |   0   |   0   |   0   |   0   |   0   |   1   |   1   |   1   |    1   |    1   |    1   |    1   |    0   |    0   |    0   |    0   |    0   |    0   |    0   |    0   |    0   |    0 

选项 3

将这两个选项结合起来,共有26 个功能。