我正在尝试将机器学习模型转换为excel,以便数据分析人员可以交互地使用它。
我想将分类变量转换为虚拟表示形式:
WeekDay
Monday
Thursday
to
WeekDay
{1,0,0,0,0,0,0}
{0,0,0,1,0,0,0}
使用Excel数组。
我尝试过:
={INT(A1="Monday"),INT(A1="Tuesday"),INT(A1="Wednesday"), ...}
但是,由于某些原因,Excel不接受数组表达式中的forumlas。
此方法确实有效,但存在问题-因为它不允许将多个数组组合成一个数组
=IF(A1="Monday", {1,0,0,0,0,0,0}, IF(A1="Tuesday", {0,1,0,0,0,0,0}, ....))
也很丑
任何想法?
我不确定最终目标是什么,但是我建议不要使用数组(同样,假设您没有使用VBA,即使您使用的是,使用Case函数也很有可能):
使用公式= Weekday(Cell,当天应为1的不同返回类型)
如果要使用实际日期(例如,2020年5月1日,请通过自定义格式将其显示为仅显示星期几(通常数据分析已经具有完整日期),
单元格值A20 =“ 5/1/2020”,格式显示长日期-“ 2020年5月1日,星期五”]
使用公式'= WEEKDAY(A20,1)'= 6的单元格引用
使用公式'= WEEKDAY(A20,2)'= 5的单元格引用(这类似于{0,0,0,0,1,0,0}足以供您使用吗?]
如果使用VBA,则可以使用逻辑定义范围以将其变为{0,0,0,0,1,0,0}
希望这会有所帮助。