Диабет является очень распространенным заболеванием. По сути, ваше тело не может правильно обрабатывать сахар, что может вызвать побочные эффекты, включая слепоту. Как и в случае с любой болезнью, важно обнаружить ее как можно раньше, а еще лучше, если она будет настолько автономной, насколько это возможно. Машинное обучение — очень мощный инструмент для этих целей.

Мы построим простую модель, используя машинное обучение в JavaScript (TensorFlow.js). Я построил также более продвинутые модели, используя тот же подход, с большим количеством функций, но мы остановимся на этой простой модели только для пояснения.

1° создать модель

const model = tf.sequential();

2° Добавление слоев

//Input layer
    model.add(
      tf.layers.dense({
        inputShape: [numOfFeatures],
        units: 50,
        activation: 'relu',
      })
    );
    //Output Layer
    model.add(
      tf.layers.dense(
        { units: 1, activation: 'sigmoid' }
      ));

3° скомпилировать модель

model.compile({
      optimizer: tf.train.adam(),
      loss: 'binaryCrossentropy',
      metrics: ['accuracy'],
    });

4° обучение модели

      await model.fit(features_tensor_normalized, target_tensor, {
        batchSize: 40,
        epochs: numberEpochs,
        validationSplit: 0.2,

        callbacks: [
          // Show on a tfjs-vis visor the loss and accuracy values at the end of each epoch.
          tfvis.show.fitCallbacks(trainingSurface, ['loss', 'acc', "val_loss", "val_acc"], {
            callbacks: ['onEpochEnd'],
          }),
          {
            // Print to console the loss value at the end of each epoch.
            onEpochEnd: async (epoch: any, logs: any) => {
              // console.log(`${epoch}:${logs.loss}`);
              // console.log(logs);

              this.accurracy = `${logs.val_acc * 100}%`;

            },
          },
          {
            onTrainEnd: async () => {
              // console.log('Training has ended.');
              this.training = false;
            },
          },
        ],
      });

Заключительные замечания

Меня удивила мощность этой модели, хотя ее относительно легко построить. По сравнению с моделями, которые я создавал в прошлом с помощью других инструментов, TensorFlow.js довольно мощный и простой в использовании. Я полностью рекомендую даже для научных вычислений.

Репозиторий GitHub