실시예 1 데이터


TensorFlow 데이터 수집

예제 1에서 사용된 데이터는 다음과 같은 자동차 객체의 목록입니다.

{
  "Name": "chevrolet chevelle malibu",
  "Miles_per_Gallon": 18,
  "Cylinders": 8,
  "Displacement": 307,
  "Horsepower": 130,
  "Weight_in_lbs": 3504,
  "Acceleration": 12,
  "Year": "1970-01-01",
  "Origin": "USA"
},
{
  "Name": "buick skylark 320",
  "Miles_per_Gallon": 15,
  "Cylinders": 8,
  "Displacement": 350,
  "Horsepower": 165,
  "Weight_in_lbs": 3693,
  "Acceleration": 11.5,
  "Year": "1970-01-01",
  "Origin": "USA"
},

데이터세트는 다음에 저장된 JSON 파일입니다.

https://storage.googleapis.com/tfjs-tutorials/carsData.json


청소 데이터

머신 러닝을 준비할 때 항상 다음을 수행하는 것이 중요합니다.

  • 필요하지 않은 데이터 제거
  • 오류에서 데이터 정리

데이터 제거

불필요한 데이터를 제거하는 현명한 방법, 필요한 데이터만 추출하는 것 입니다.

이것은 map 함수 를 사용하여 데이터를 반복(루핑)하여 수행할 수 있습니다 .

아래 함수는 객체를 가져와서 객체의 Horsepower 및 Miles_per_Gallon 속성에서 x와 y만 반환합니다.

function extractData(obj) {
  return {x:obj.Horsepower, y:obj.Miles_per_Gallon};
}

오류 제거

대부분의 데이터세트에는 몇 가지 유형의 오류가 있습니다.

오류를 제거하는 현명한 방법은 필터 기능 을 사용하여 오류를 필터링하는 것입니다.

속성(x 또는 y) 중 on에 null 값이 포함된 경우 아래 코드는 false를 반환합니다.

function removeErrors(obj) {
  return obj.x != null && obj.y != null;
}

데이터를 가져 오는 중

맵 및 필터 함수가 준비되면 데이터를 가져오는 함수를 작성할 수 있습니다.

async function runTF() {
  const jsonData = await fetch("cardata.json");
  let values = await jsonData.json();
  values = values.map(extractData).filter(removeErrors);
}


데이터 플로팅

다음은 데이터를 그리는 데 사용할 수 있는 몇 가지 코드입니다.

function tfPlot(values, surface) {
  tfvis.render.scatterplot(surface,
    {values:values, series:['Original','Predicted']},
    {xLabel:'Horsepower', yLabel:'MPG'});
}