Если вы новичок в языке машинного обучения и задаетесь вопросом, с чего начать, не Nevilpaul здесь, чтобы помочь, вы можете использовать другой язык для изучения ML (машинное обучение), но я выделю три javascript , Питон и PHP. В этой статье я расскажу, как подготовить данные для обучения в tensorflow.js.
Перед обучением модели машинному обучению входные данные и имеющаяся метка должны быть преобразованы в данные машинного обучения, поскольку модели машинного обучения, построенные в тензорном потоке, предназначены для чтения или работы с небольшими числами, такими как 0–1 или -1–1. Подготовка данных занимает всего три шага, и это перемешивание извлеченных или текущих данных, преобразование данных в тензор и нормализация.
Получите данные JSON, затем отфильтруйте входные данные и отметьте
Во-первых, вы напишете код, чтобы заставить данные JSON работать и использовать их в тензорном потоке. Используйте javascript fetch API для получения данных или вы можете использовать либо axios, либо ajax, затем используйте метод карты для циклического просмотра и получения двух данных, которые упростят работу, поскольку мы должны использовать один в качестве ввода, а другой как метка. Путем фильтрации данных он удаляет данные JSON, которые возвращают carD.mpg и carD.speed, оставляя одну милю на галлон и скорость для работы с «easy».
const Uri = 'https://storage.googleapis.com/tfjs-tutorials/carsData.json'; //this will fetch and filter data that You want removing the unwanted json data async function data(){ const getData = await fetch(Uri); const jsonData = await getData.json(); const values = jsonData.map(carD=>({ mpg:car.Miles_per_Gallon, speed:car.Acceleration, })) .filter(carD=>(carD.mpg != null && carD.speed != null)); return values; } //next function is to include the fetched data in tensor
Приведите в порядок, перемешайте и нормализуйте данные с помощью data-tenor.
Следующая функция объяснит три упомянутых выше шага, а именно dataTotensor ().
dataTotensor = (data) =>{//this can also be function dataTotensi(){} return tf.tidy(()=>{ // step:1 tf.util.shuffle(data); //get the values and give one as input and another as label const input = data.map(car=>car.mpg); const label= data.map(car=>car.speed); // step 2 convert to tensor data const inputTensor = input.tensor2d(input,[input.length,1]); const labelTensor = label.tensor2d(input,[input.length,1]); // step 3 Normalization of the inputTensor and labelTensor const inputMin = inputTensor.min(); const inputMax = inputTensor.max(); const labelMax = labelTensor.max(); const labelMin = labelTensor.min(); //do the math (min-max scaling 0-1,-1 - 1) const normInput = inputTensor.sub(inputMin).div(inputMax.sub(inputMin)); const normLabel = labelTensor.sub(labelMin).div(labelMax.sub(labelMin)); //return the normalized data and will be used your model return { input: normInput, label: normLabel, inputMin, inputMax, labelMax, labelMin } }); }
Наконец, вы можете написать на botRun ();
async function flowRun(){ const data = await data(); datatotensor = dataTotensor(data); console.log(datatotensor); } document.addEventListener('DOMContentLoaded',flowRun).
После нормализации мы сохраняем данные, а затем они не будут преобразованы в исходное состояние после успешного возврата результата.