【发布时间】:2019-10-05 21:14:24
【问题描述】:
我有一个看起来有点像以下的数据集,想想像沃尔玛这样的商店。
+-----------------------------------------------------+------------------+------------------+------------------+-----+
| Description | Classification 1 | Classification 2 | Classification 3 | ... |
+-----------------------------------------------------+------------------+------------------+------------------+-----+
| iphone 7 order# :123595 | Electronic | Cell Phone | Apple | |
| purchase of samsung galaxy s10 reference 32-2345 | Electronic | Cell Phone | Samsung | |
| dell 13" 500gb ssd intel i7 | Electronic | Laptop | Dell | |
| tablet 15cm for chris t price $199.76 | Electronic | Tablet | NULL | |
| ... | ... | ... | ... | |
| 50x rolley chairs for office supplied by home depot | Supplies | Furniture | Chairs | |
| electrician cost for new building | Supplies | Electrical | Work | |
+-----------------------------------------------------+------------------+------------------+------------------+-----+
这种数据集的形状非常大,有几千(可能 >100,000)行,可能有 50 多列。
我想要一种方法,以便根据其描述正确分类该行。
因此,基于上述数据集的模型应该采用以前从未见过的描述并正确分类该项目,例如:
iphone 11 $999.99 => Electronic, Cell Phone, Apple.
我目前只计划使用描述进行分类作为第一步以保持简单,但是还有其他列,例如谁提供了可以帮助分类的项目,例如,如果项目是由 Apple 提供的例如,AT&T 或 AT&T 更有可能被归类为 Cell Phone。
我正在考虑实现一个神经网络来做到这一点。我以前实现过神经网络,但只在典型示例上实现(例如,识别数字 0-9 [MINST 数据集] 或识别衣服的系统),所以我了解神经网络如何工作的理论(权重、偏差、梯度下降) ,反向传播等)但是我正在努力实现我现在的这个想法。
到目前为止,这是我的想法:
我想用 Python,配合 tensorflow2.0 + keras。
我需要一种将文本转换为数字格式的方法。似乎有 有几个选项,比如 word2vec,但我不确定是什么 最好的选择。
我的基础层应该有多少个神经元? (带号码识别 每个图像都是 28*28,所以 28*28 的基础层很有意义,这里我 不确定)
有多少隐藏层?
有多少个输出层? (我应该为每个不同的 分类的组合,因此一种用于
Electronic, Cell Phone, Samsung,一种用于Electronic, Cell Phone, Apple等。这将导致 到数千个神经元的输出层,我不确定这是否是 可能/建议?
我不是在寻找完整的答案,事实上我知道,鉴于所提供的信息,这实际上是不可能的。相反,我正在从更有经验的人那里寻找有关如何解决此问题的指导/建议,事实上,很可能有些事情我还没有考虑。
【问题讨论】:
标签: python tensorflow machine-learning keras neural-network