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