我对神经网络比较陌生,所以请原谅我的无知.我正在尝试在这里调整keras BLSTM示例.这个例子中的文本读取和0或1.我想BLSTM,做的东西非常像词性标注,虽然喜欢lemmatizing或其他高级功能演员都没有neccessary它们分类,我只想要一个基本模型.我的数据是一个句子列表,每个单词都有一个1-8类.我想训练一个BLSTM,它可以使用这些数据来预测一个看不见的句子中每个单词的类别.
例如input = ['The','dog','is','red']给出输出= [2,4,3,7]
如果keras示例不是最佳路线,我会接受其他建议.
我目前有这个:
'''Train a Bidirectional LSTM.'''
from __future__ import print_function
import numpy as np
from keras.preprocessing import sequence
from keras.models import Model
from keras.layers import Dense, Dropout, Embedding, LSTM, Input, merge
from prep_nn import prep_scan
np.random.seed(1337) # for reproducibility
max_features = 20000
batch_size = 16
maxlen = 18
print('Loading data...')
(X_train, y_train), (X_test, y_test) = prep_scan(nb_words=max_features,
test_split=0.2)
print(len(X_train), 'train sequences')
print(len(X_test), 'test sequences')
print("Pad sequences (samples x time)")
# type issues here? …Run Code Online (Sandbox Code Playgroud) 我对R比较陌生,所以请原谅我认为是一个相对简单的问题.
我有表格中的数据
1 2 3 4 5
A 0 1 1 0 0
B 1 0 1 0 1
C 0 1 0 1 0
D 1 0 0 0 0
E 0 0 0 0 1
Run Code Online (Sandbox Code Playgroud)
AE是人,1-5是他们是否具有这种品质的二进制文件.我需要制作一个AE矩阵,其中如果A&B的任何质量1-5的总和为2,则单元格A,B = 1.(如果它们共享至少一个质量).简单的5x5将是:
A B C D E
A 1
B 1 1
C 1 0 1
D 0 1 0 1
E 0 1 0 0 1
Run Code Online (Sandbox Code Playgroud)
然后我需要总结整个矩阵.(上面是9).我有成千上万的观察,所以我不能手工完成.我确信有几行简单的代码,我只是没有足够的经验.
谢谢!
编辑:我已经从.csv文件中导入数据,其中列(上面的1-5)作为变量,在实际数据中我有40个变量.AE是对人的唯一ID观察,大约2000年.我还想知道如何首先将其转换为矩阵,以便执行您已经提供的伟大答案.谢谢!
我正在运行基于IMDB 示例的BLSTM ,但我的版本不是分类,而是标签的序列预测.为简单起见,您可以将其视为POS标记模型.输入是单词的句子,输出是标签.该示例中使用的语法在语法上与大多数其他Keras示例略有不同,因为它不使用model.add但启动序列.我无法弄清楚如何在这种稍微不同的语法中添加遮罩层.
我运行模型并测试它,它工作正常,但它正在预测和评估0的准确性,这是我的填充.这是代码:
from __future__ import print_function
import numpy as np
from keras.preprocessing import sequence
from keras.models import Model
from keras.layers.core import Masking
from keras.layers import TimeDistributed, Dense
from keras.layers import Dropout, Embedding, LSTM, Input, merge
from prep_nn import prep_scan
from keras.utils import np_utils, generic_utils
np.random.seed(1337) # for reproducibility
nb_words = 20000 # max. size of vocab
nb_classes = 10 # number of labels
hidden = 500 # 500 gives best results so far
batch_size = …Run Code Online (Sandbox Code Playgroud)