用LSTM建立二进制分类模型

时间:2019-10-08 11:31:16

标签: python machine-learning classification lstm text-classification

我有一个csv格式的数据集,其中有49列,其中有些是字符串,有些是整数。

我添加了一个新列用作“输入”标签,并将相应标签设置为0和1。

这是数据集的示例: enter image description here

要求是将所有这些功能列都考虑在内以进行模型训练。

训练该模型有哪些选择? 我应该遵循什么步骤? 任何资源(文章,视频等)将不胜感激。

谢谢

1 个答案:

答案 0 :(得分:0)

以下两个教程可能会为您提供帮助:

https://towardsdatascience.com/machine-learning-recurrent-neural-networks-and-long-short-term-memory-lstm-python-keras-example-86001ceaaebc

https://stackabuse.com/time-series-analysis-with-lstm-using-pythons-keras-library/

本教程是关于混合数据的: https://www.pyimagesearch.com/2019/02/04/keras-multiple-inputs-and-mixed-data/

如果您不使用未提及的其他内容,我建议尝试让Keras熟悉如何进行培训。

只需在Google中编写您的问题,即可帮助您找到许多具体的教程!

编辑: 来自keras文档:

keras.utils.to_categorical(y, num_classes=None, dtype='float32')

将类向量(整数)转换为二进制类矩阵。例如。用于categorical_crossentropy。 争论

  • y:要转换为矩阵的类向量(整数从0到num_classes)。
  • num_classes:类的总数。
  • dtype:输入期望的数据类型,为字符串(float32,float64,int32 ...)

返回:

输入的二进制矩阵表示形式。类轴位于最后。

# Consider an array of 5 labels out of a set of 3 classes {0, 1, 2}:
> labels
array([0, 2, 1, 2, 0])
# `to_categorical` converts this into a matrix with as many
# columns as there are classes. The number of rows
# stays the same.
> to_categorical(labels)
array([[ 1.,  0.,  0.],
       [ 0.,  0.,  1.],
       [ 0.,  1.,  0.],
       [ 0.,  0.,  1.],
       [ 1.,  0.,  0.]], dtype=float32)