statistics - 将已知值外推到表中缺失值的最佳数据挖掘模型是哪个?(一般问题)
问题描述
我正在从事一个小型数据挖掘项目(我仍然是数据科学专业的学生,而不是专业人士)。也许您可以帮助我为我的任务选择合适的模型。
因此,假设我们有一个包含三列和大约 4000 行的表:
年 | 颜色 | 姓名 |
---|---|---|
1900 | 绿 | 大卫 |
1901 | 黄色的 | 莎拉 |
1902 | 绿 | ??? |
1902 | 红色的 | 莎拉 |
…</td> | …</td> | …</td> |
2020 | 紫色的 | 约翰 |
任何字段的任何值都可以在数据集中重复(也可以是年份值)。
在前两列中,我们没有缺失值,但在第三列中我们只有大约 20% 的 Name 值。名称值在某种程度上取决于前两列(不是因果关系)。
我的目标是将可用的名称值外推到整个表,并为每个名称值获取一系列出现(例如在箱线图中)
我想象过这样的过程,虽然我不太确定它在统计上是否有意义(感谢任何反对和建议):
对于每个未知的 NAME 值,算法随机选择一个已知的 NAME 值。选择特定名称值的几率取决于变量 YEAR 和 COLOR。例如,如果“大卫”的值往往与较低的年份值相关,并且与颜色的“绿色”或“紫色”值相关,那么如果年份和颜色的输入值为“ 1900 年,紫色”。
当上述过程结束时,计算每个名称的出现次数。
上述过程应用了 30 次,每个名称的结果都显示在 plotbox 中。
但是,我不知道哪个是实现类似想法的最佳模型。我用一张简单的油漆画出了这个过程:
您认为哪种方法可能是完成这项任务的好方法?我很感激任何帮助。
解决方案
我认为您已经完成了流程,它正在转换可能是第一个障碍的数据。
我会考虑使用from sklearn.preprocessing import OrdinalEncoder
对数据进行编码以从分类转换为数字。
然后,您可以使用随机数生成器在编码定义的范围内生成一个数字,该编码将随机选择一个名称。
用 f 循环循环这 30 次以获得结果。
看起来您还需要在构建代码之前提供年份和颜色的排名值。从这里您只需在 for 循环中提供带,例如,if year > 1985
等来指定名称。
推荐阅读
- sql - 如何有效地为“ALL”运算符索引 PostgreSQL 数组列?
- kubernetes - 是否有可能用 MicroK8S 获得公共 ip
- lodash - 如何通过 url 访问 lodash 模板
- docker - go mod 找不到模块
- entity-framework-core - EF Core 多对多配置 - 如何将其传递给 UsingEntity()
- python-3.x - 如何在python中将多行字符串作为参数传递
- vulkan - 可以使用管道屏障同步 vkQueuePresentKHR 吗?
- google-apps-script - Google sheet + App Script + Dialog + Triggers:获取对话框以继续从触发的脚本中显示
- android - 如何使用parcelable将数据从一个活动的recyclerView显示到另一个活动的recyclerView
- opencv - OpenCV 填充缺失的像素