Python 我应该使用哪种ML算法来预测事件列表?
我是数据科学模型选择的新手,我希望你能帮助我解决当前的问题 我试图根据带有数字标签的分类特征来预测事件列表。例如:Python 我应该使用哪种ML算法来预测事件列表?,python,deep-learning,neural-network,Python,Deep Learning,Neural Network,我是数据科学模型选择的新手,我希望你能帮助我解决当前的问题 我试图根据带有数字标签的分类特征来预测事件列表。例如: x1 x2 x3 x4 x5 y1 1 1 3 4 5 Injury 2 2 2 1 3 Flood 3 1 2 3 2 Injury 3 2 1 1 1 Fire 1 1 1 1 1 Protest 我喜欢根据分类特征预测前三名事件。我假设它涉及机器学习中的概率方法,您建议我使用哪种算法/ML/深度学习方法 预期产出
x1 x2 x3 x4 x5 y1
1 1 3 4 5 Injury
2 2 2 1 3 Flood
3 1 2 3 2 Injury
3 2 1 1 1 Fire
1 1 1 1 1 Protest
我喜欢根据分类特征预测前三名事件。我假设它涉及机器学习中的概率方法,您建议我使用哪种算法/ML/深度学习方法
预期产出如下:
1. Injury
2. Fire
3. Flood
我假设您有固定大小的输入,五个分类变量 第一个建议尝试使用嵌入向量代替简单整数进行分类值编码。最简单的方法是使用嵌入层,让网络为其创建嵌入 第二个建议,在我看来可以使用多层感知器或1D卷积层(可能两者结合)。原理应该是,你应用你的输入特征,这些将在密集层或1D CNNN层之后处理,输出层将是密集层。如果这些都是唯一可能的诊断
- 损伤
- 泛滥
- 火
- 抗议
model = Sequential()
model.add(Dense(units, activation="relu", input_shape=appropriate_shape))
model.add(Dense(output_units, activation="softmax"))
model.compile(optimizer="adam", loss="categorical_crossentropy", metrics=['acc']))
若你们以这种方式构建网络(参见输出层的softmax和分类熵作为损耗),网络自然会产生概率作为输出。培训后,如果您将模型用作:
results = model.predict(input_data)
结果将是概率列表(每个输入样本一个列表)。如果您计算一个这样的列表的总和,您将得到1。非常感谢您的建议。这很有帮助。让我详细解释一下数据集,x features值可以相同,但有不同的输出事件,因此我提到了可能涉及的概率算法。我喜欢按概率列出输出列表。经过一些挖掘,我可以使用.predict_proba(y)并使用概率等级作为我的输出列表。你怎么认为?有没有最适合排名推荐的ml?如果使用神经网络,输出层的激活将是softmax和损失分类。交叉熵,你可以把输出解释为概率。嗨,这是个好主意,你能给我看一个样本,把输出转化为概率吗?我得到了编译参数,但不确定如何将输出转换为概率。再次感谢。