Боюсь, у вас есть проблема с данными.
Вы не можете извлечь заметку из этого студента, потому что у вас ее нет. Единственное, что приходит мне в голову, это то, что вы можете переориентировать свою проблему и сделать следующее:
Создать LSTM, который оценивает предметы студента.
Создайте сеть, которая сравнивает вас с другим учеником и сообщает вам, лучше это или хуже (через шаг 1). Он известен как сиамская сеть.
У вас есть то, что сказано LSTM сиамский.
Что вы могли бы сделать в прогнозировании, так это узнать, имеет ли студент, основанный на оценках по предметам, лучше или хуже, чем другой студент.
РЕДАКТИРОВАТЬ :
Может быть полезна одна архитектура, похожая на эти.
Используйте LSTM для получения информации о любом предмете и соответствующей отметке.
Когда информация сгущена, я объединяю эту информацию и ученика в горячем виде.
Мы используем Dense или множественную плотность, чтобы получить отметку с сигмовидной активацией в последнем слое.
Мы используем функцию потерь, чтобы максимизировать ноту a относительно b, когда a лучше, чем b. И иначе.
y_i - ваша цель в 1 o -1. 1, если ученик а лучше ученика b, и -1, если ученик а хуже ученика b.
Я никогда не пробовал этот тип функции потери, поэтому я не могу сказать вам, работает она или нет. Он основан на потере, которую использует SVM: https://en.wikipedia.org/wiki/Support-vector_machine
Может быть, другой пользователь может помочь вам лучше.
Даты не равны. TryParse отбрасывает некоторые галочки. Сравните Значения деления.
Для одного тестового прогона:
Console.WriteLine(date.DateValue.Value.Ticks);
Console.WriteLine(actual.Ticks);
Урожаи:
633646934930000000
633646934936763185
Проблемой не является действительно TryParse, но на самом деле ToString ().
Объект DateTime запускается с точности (если не точность) вниз к миллионной части секунд. ToString () convertsit в строку, с точностью только к секунде.
TryParse делает лучшее, он может с тем, что он дан.
Если Вы добавляете спецификатор формата (вроде "yyyy-MM-dd HH:mm:ss.ffffff"
), это должно работать.
Для определения формата, который включает всю точность можно использовать Строку. Формат () метод. Пример, который дает James, был бы похож на это:
String.Format("{0:yyyy-MM-dd HH:mm:ss.ffffff}", ObjectValue);
Я не знаю то, что это сделает при передаче его что-то, что это не дата.
Возможно, более простой подход должен добавить особый случай, когда Вы уже получили объект даты:
public DateTime? DateValue
{
get
{
DateTime value = ObjectValue as DateTime;
if (value != null) return value;
return DateTime.TryParse(ObjectValue.ToString(), out value) ? value : new DateTime?();
}
}
public DateTime? DateValue
{
get
{
DateTime value;
bool isDate = DateTime.TryParse(ObjectValue.ToString(), out value);
return isDate ? new DateTime?(value) : new DateTime?();
}
}
Я не знаю, является ли это тем же в.NET, но в Java часто будет только выдерживать сравнение равняние, если экземпляры являются тем же, не, если значения являются тем же. Вы вместо этого хотели бы использовать compareTo.