บทนำ
TensorFlow เฟรมเวิร์ก ML จาก Google โค้ดเปิด ใช้กับ Python
การติดตั้ง
pip install tensorflow
Tensor และปัญหา Regression
เทนเซอร์ = อาร์เรย์หลายมิติ สำหรับ Data flow graph ทำนายตัวแปรต่อเนื่อง
ชุดข้อมูล Auto MPG
ข้อมูลรถยนต์ยุค 70-80s คุณสมบัติ: น้ำหนัก แรงม้า ปริมาตรเครื่องยนต์ ฯลฯ ทำนาย MPG
ตัวอย่าง: การแยก Label, สถิติ และ Normalization
print("แยก Label จาก Features")
train_features = train_dataset.copy()
test_features = test_dataset.copy()
train_labels = train_features.pop('MPG')
test_labels = test_features.pop('MPG')
print("ค่าเฉลี่ยและสถิติคลาดเคลื่อนของข้อมูลฝึก:")
train_dataset.describe().transpose()[['mean', 'std']]
print("Normalize features เนื่องจากสเกลต่างกัน")
print("สร้างเลเยอร์ Normalization")
normalizer = preprocessing.Normalization()
normalizer.adapt(np.array(train_features))
print(normalizer.mean.numpy())
first = np.array(train_features[3:4])
print("ทุก features ถูก normalize แยกกัน")
with np.printoptions(precision=2, suppress=True):
print('ตัวอย่างแรก:', first)
print()
print('ข้อมูลหลัง Normalize:', normalizer(first).numpy())
ที่มา: TensorFlow Regression Tutorial
ผลลัพธ์
แยก Label จาก Features ค่าเฉลี่ยและสถิติคลาดเคลื่อนของข้อมูลฝึก: Normalize features เนื่องจากสเกลต่างกัน สร้างเลเยอร์ Normalization [ 5.467 193.847 104.135 2976.88 15.591 75.934 0.168 0.197 0.635] ทุก features ถูก normalize แยกกัน ตัวอย่างแรก: [[ 4. 105. 63. 2125. 14.7 82. 0. 0. 1. ]] Normalize data: [[-0.87 -0.87 -1.11 -1.03 -0.33 1.65 -0.45 -0.5 0.76]]
คำอธิบาย
- แยกค่าเป้าหมาย (Label) ออกจาก Features
- Label คือค่าที่ต้องฝึกเพื่อการทำนาย
- Normalize features เพื่อให้การฝึกเสถียร
- ฟังก์ชัน
Normalizationใน TensorFlow เตรียมข้อมูลล่วงหน้า - สร้างเลเยอร์แรก เก็บ mean และ variance
- เมื่อเรียกเลเยอร์นี้ จะคืนข้อมูลที่ทุก feature ถูก normalize แล้ว