我正在尝试根据来自该数据集https://analyse.kmi.open.ac.uk/open_dataset的活动数据对学生成绩进行二进制序列分类。
I've combined and cleaned the data into this dataframe.
29000多名学生中的每一个都有;
首先,我对如何拆分为x和y值感到困惑,因为我仍然应该根据学生ID对其进行匹配,因此,例如y数据帧将是final_result,week和Combined_id(因此可以对每个值进行预测周),而x数据框只是删除了final_result列的原始数据框?
X = week_combi.drop(['final_result'], axis=1)
y = week_combi.drop(['sum_click_week'], axis=1)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33)
第二,我是否应该将数据帧转换为每个学生的数据帧,因为这将使LSTM更易于阅读?
就LSTM输入形状而言,我假设样本数量/批次大小将定义为我希望对其进行训练的学生数量。时间步长为43,对应于每个学生的周数。功能将为1,即为sum_click_week列,如果使用ID和周号,则为2/3。
所以我的模型应该是这样的
amount_of_students = 1000
weeks = 43
features = 1 #sum click week? or two?
model = Sequential()
model.add(LSTM(64, input_shape=(amount_of_students, weeks, features))
model.compile(loss = 'binary_crossentropy', optimizer = 'adam')
model.add(Dense(1, activation = 'relu'))
model.summary()
非常感谢