ตัวอย่างที่ 2 ข้อมูล
ตัวอย่างที่ 2 ใช้ซอร์สโค้ดเดียวกันกับตัวอย่างที่ 1
แต่เนื่องจากใช้ชุดข้อมูลอื่น รหัสจึงต้องรวบรวมข้อมูลอื่น
การเก็บรวบรวมข้อมูล
ข้อมูลที่ใช้ในตัวอย่างที่ 2 เป็นรายการของวัตถุบ้าน:
{
"Avg. Area Income": 79545.45857,
"Avg. Area House Age": 5.682861322,
"Avg. AreaNumberofRooms": 7.009188143,
"Avg. Area Number of Bedrooms": 4.09,
"Area Population": 23086.8005,
"Price": 1059033.558,
},
{
"Avg. Area Income": 79248.64245,
"Avg. Area House Age": 6.002899808,
"Avg. AreaNumberofRooms": 6.730821019,
"Avg. Area Number of Bedrooms": 3.09,
"Area Population": 40173.07217,
"Price": 1505890.915,
},
ชุดข้อมูลเป็นไฟล์ JSON ที่เก็บไว้ที่:
https://github.com/meetnandu05/ml1/blob/master/house.jsonข้อมูลการทำความสะอาด
เมื่อเตรียมสำหรับแมชชีนเลิร์นนิง สิ่งสำคัญคือต้อง:
- ลบข้อมูลที่คุณไม่ต้องการ
- ทำความสะอาดข้อมูลจากข้อผิดพลาด
ลบข้อมูล
วิธีที่ชาญฉลาดในการลบข้อมูลที่ไม่จำเป็น คือดึงเฉพาะข้อมูลที่คุณต้องการ
ซึ่งสามารถทำได้โดยวนซ้ำ (วนซ้ำ) ข้อมูลของคุณด้วยฟังก์ชันแผนที่
ฟังก์ชันด้านล่างรับวัตถุและส่งคืนเฉพาะ x และ yจากคุณสมบัติ แรงม้า และ Miles_per_Gallon ของวัตถุ:
function extractData(obj) {
return {x:obj.Horsepower, y:obj.Miles_per_Gallon};
}
ลบข้อผิดพลาด
ชุดข้อมูลส่วนใหญ่มีข้อผิดพลาดบางประเภท
วิธีที่ชาญฉลาดในการขจัดข้อผิดพลาดคือการใช้ฟังก์ชันตัวกรองเพื่อกรองข้อผิดพลาด
รหัสด้านล่างคืนค่าเท็จหากคุณสมบัติ (x หรือ y) มีค่าว่าง:
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:'Rooms', yLabel:'Price',});
}