- CSV files
- JSON files
- Data filteren
- Training data en test data
Voeg de Papa Parse library toe aan je HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/PapaParse/5.3.0/papaparse.min.js"></script>
of als je met modules werkt:
npm install papaparse
import Papa from './PapaParse/papaparse';
Download eerst een CSV file, bijvoorbeeld de overlevenden van de Titanic.
function loadData(){
Papa.parse("./data/titanic_survivors.csv", {
download:true,
header:true,
dynamicTyping:true,
complete: results => checkData(results.data)
})
}
function checkData(data) {
console.table(data)
}
Data in JSON formaat kan je ophalen met fetch
. Hier gebruiken we carsData.json
van google.
async function getData() {
const response = await fetch('https://storage.googleapis.com/tfjs-tutorials/carsData.json')
const json = await response.json()
checkData(json)
}
function checkData(data) {
console.log(data)
}
Met map kan je specifieke kolommen uit een dataset halen.
const selectedColumns = data.map(car => ({
mpg: car.mpg,
horsepower: car.horsepower,
}))
Met filter kan je checken of er geen ongeldige waarden in de data staan. Hier staan twee voorbeelden van filteren op null
of op waarden die geen number
zijn.
// check of waarden niet leeg zijn
const cleanData = data.filter(car => (
car.mpg != null &&
car.horsepower != null
))
// check of waarden een nummer zijn
const cleanData = data.filter(car => (
!isNaN(car.mpg) &&
!isNaN(car.horsepower)
))
Je kan map()
en filter()
aan elkaar plakken, dat ziet er bv. zo uit:
const cleanData = data
.map(day => ({
MinTemp: day.MinTemp,
MaxTemp: day.MaxTemp
}))
.filter(day =>
typeof day.MinTemp === "number" &&
typeof day.MaxTemp === "number"
)
Met slice
kunnen we data opsplitsen in trainingdata en testdata. In dit geval is 80% van de data trainingdata en 20% is testdata.
let trainData = data.slice(0, Math.floor(data.length * 0.8))
let testData = data.slice(Math.floor(data.length * 0.8) + 1)
⚠️ Om te voorkomen dat je data gesorteerd is op bv. het label moet je je array shufflen voordat je splitst op traindata en testdata.
function shuffleArray(arr) {
arr.sort(() => (Math.random() - 0.5))
}