Как обучать GNN на огромных наборах данных?Python

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Как обучать GNN на огромных наборах данных?

Сообщение Гость »


У меня есть набор данных, имеющий форму (783126,3), где в моем наборе данных есть три столбца R1, R2 и Оценка, представляющие Остаток 1, Остаток 2 и их Оценка. Я хочу обучить нейронную сеть графа на своих данных, чтобы я мог проецировать данные в виде графика и позволить моей модели изучить важные связи. Я преобразовал это в задачу классификации, где те пары остатков, которые имеют оценку 0,75 или выше, помечаются как класс 0, пары остатков, имеющие оценку от 0,75 до 0,5, помечаются как класс 1, пары остатков, имеющие оценку от 0,5 до 0,25, помечаются как класс. 2, а пары остатков, имеющие балл менее 0,25, помечаются как класс 3. В связи с этим у меня есть два вопроса:
[*]
Я обучил свою модель GNN, но с самой первой итерации она показывает точность 99 %. Теперь я не уверен, действительно ли моя модель чему-то обучается или просто переопределяет данные. Как я могу узнать, работает ли моя модель правильно или нет?
[*]
Я хотел бы также включить последовательность белка в обучение модели, чтобы модель понимала фактические остатки и пыталась понять связь между остатками последовательности белка и GNN. Я думал, смогу ли я использовать отдельную модель LSTM для сопоставления последовательностей, а затем объединить окончательные слои из LSTM и GNN. Но я не уверен, как именно я смогу это сделать, учитывая тот огромный набор данных, который у меня есть.

Это мой код для модели GNN:

импортировать панды как pd импортировать тензорный поток как tf из tensorflow.keras.layers import Input, Dense, Conv1D, Dropout, BatchNormalization, Activation, Flatten из tensorflow.keras.models Модель импорта из tensorflow.keras.optimizers импортировать Адама из sklearn.preprocessing импортировать LabelEncoder, OneHotEncoder данные = pd.read_csv("score_train.csv") class_intervals = [-1, 0,25, 0,5, 0,75, 1] class_labels = [3, 2, 1, 0] data['label'] = pd.cut(data['Score'], bins=class_intervals, labels=class_labels, right=False) данные['метка'] = данные['метка'].fillna(0) X_train = данные[['R1', 'R2']].значения y_train = данные['метка'].значения кодировщик = OneHotEncoder (разреженный = False) y_train_encoded = encoder.fit_transform(y_train.reshape(-1, 1)) num_classes = len(class_labels) # Количество уникальных классов входы = Вход(форма=(2,)) x = Dense(64, активация='relu')(входные данные) х = Выпадение (0,5) (х) x = Плотный(64, активация='relu')(x) х = Выпадение (0,5) (х) выходные данные = Dense(num_classes, active='softmax')(x) модель = Модель(входы=входы, выходы=выходы) оптимизатор = Adam(learning_rate=0.01) # Обновить оптимизатор model.compile(optimizer=optimizer, loss='categorical_crossentropy', metrics=['accuracy']) если tf.test.gpu_device_name(): print('Устройство графического процессора по умолчанию: {}'.format(tf.test.gpu_device_name())) еще: print("Графический процессор не найден. Используется процессор.") # обучение модели model.fit(X_train, y_train_encoded, эпохи = 100, Batch_size = 32) Вот результат обучения:
Устройство графического процессора по умолчанию: /device:GPU:0 Эпоха 1/100 24473/24473 [==============================] - 87 с 3 мс/шаг - потеря: 0,0403 - точность: 0,9970 Эпоха 2/100 24473/24473 [==============================] - 85 с 3 мс/шаг - потери: 0,0206 - точность: 0,9971 Эпоха 3/100 24473/24473 [==============================] - 83 с 3 мс/шаг - потери: 0,0206 - точность: 0,9971 Эпоха 4/100 24473/24473 [=============================] - 82 с 3 мс/шаг - потеря: 0,0206 - точность: 0,9971 Эпоха 5/100 24473/24473 [==============================] - 83 с 3 мс/шаг - потери: 0,0206 - точность: 0,9971
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • ADO.Net получает значения автоинкремента для базы данных MS Access в строго типизированных наборах данных
    Anonymous » » в форуме C#
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Как обучать Mamba с помощью пользовательских данных временных рядов
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Как обучать Mamba с помощью пользовательских данных временных рядов
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Как обучать Mamba с помощью пользовательских данных временных рядов
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Как обучать Mamba с помощью пользовательских данных временных рядов
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»