Skip to content

BuniDev-coding/AI-soil-prediction-mini-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Soil pH Prediction — WoSIS Data Pipeline

โปรเจกต์นี้เป็น pipeline สำหรับเตรียมข้อมูลดิน (WoSIS) และพยากรณ์ค่า pH ของดิน โดยเน้นพื้นที่จังหวัดนครราชสีมา ประเทศไทย รันบน Google Colab


ภาพรวม (Overview)

WoSIS CSV Files → Data Merge → Filter (Thailand / Korat) → Drought Soil Filter
    → Missing Value Imputation → Outlier Handling → Feature Engineering
    → Feature Scaling → Train/Val/Test Split → Export

ตัวแปรเป้าหมาย (Target): pH (value_avg จากไฟล์ phaq)


ไฟล์ข้อมูลที่ต้องใช้

ไฟล์ คุณสมบัติดิน
wosis_latest_phaq.csv ค่า pH ในน้ำ
wosis_latest_clay2.csv ปริมาณดินเหนียว (%)
wosis_latest_orgc.csv ปริมาณคาร์บอนอินทรีย์ (g/kg)
wosis_latest_cecph7.csv ความจุในการแลกเปลี่ยนประจุบวกที่ pH 7
wosis_latest_bdfiod.csv ความหนาแน่นรวมของดิน (Bulk Density)

ดาวน์โหลดได้จาก WoSIS — ISRIC World Soil Information


ขั้นตอนการทำงาน (Pipeline Steps)

  1. อัปโหลดและอ่านข้อมูล — อัปโหลด CSV ทั้งหมดผ่าน google.colab.files.upload()
  2. วิเคราะห์โครงสร้างข้อมูล — แสดงสถิติและกราฟการกระจายตัวของแต่ละคุณสมบัติ
  3. รวมข้อมูล (Merge) — เชื่อมไฟล์ต่าง ๆ ด้วย profile_id และ layer_id
  4. กรองพื้นที่ — เลือกเฉพาะประเทศไทย และ/หรือพิกัดนครราชสีมา (Lat 14.5–16.0, Lon 101.0–103.0)
  5. กรองดินแห้งแล้ง — ดินเหนียวต่ำ, คาร์บอนอินทรีย์ต่ำ, ความหนาแน่นรวมสูง
  6. จัดการ Missing Values — ใช้ KNNImputer (k=5), ตัดคอลัมน์ที่ขาดหายเกิน 50%
  7. จัดการ Outliers — ใช้วิธี IQR (แทนที่ด้วยค่าขอบ)
  8. Feature Engineering — สร้างคุณลักษณะใหม่:
    • avg_depth — ความลึกเฉลี่ยของชั้นดิน
    • layer_thickness — ความหนาของชั้นดิน
    • X_cart, Y_cart, Z_cart — พิกัดคาร์ทีเซียน (จาก Lat/Lon)
    • cec_orgc_ratio — อัตราส่วน CEC ต่อคาร์บอนอินทรีย์ (ถ้ามีข้อมูล)
    • clay_bd_ratio — อัตราส่วนดินเหนียวต่อความหนาแน่นรวม (ถ้ามีข้อมูล)
  9. Feature Scaling — ใช้ StandardScaler
  10. แบ่งข้อมูล — Train 70% / Validation 15% / Test 15%
  11. Export — บันทึกและดาวน์โหลดผลลัพธ์อัตโนมัติ

ไฟล์ผลลัพธ์ (Output)

บันทึกในโฟลเดอร์ soil_ph_data_<timestamp>/:

ไฟล์ รายละเอียด
X_train.csv, y_train.csv ชุดข้อมูลฝึกโมเดล (70%)
X_val.csv, y_val.csv ชุดข้อมูลตรวจสอบโมเดล (15%)
X_test.csv, y_test.csv ชุดข้อมูลทดสอบโมเดล (15%)
cleaned_features_and_target.csv ข้อมูลทั้งหมดหลัง scale
cleaned_original_data.csv ข้อมูลทั้งหมดก่อน scale
scaler.pkl StandardScaler สำหรับข้อมูลใหม่
model_info.json metadata ของชุดข้อมูล

Requirements

numpy
pandas
matplotlib
seaborn
scikit-learn
plotly
joblib
google-colab  # มีอยู่แล้วใน Colab

การใช้งาน

  1. เปิดไฟล์ soildpred.py ใน Google Colab
  2. รันทุก cell ตามลำดับ
  3. อัปโหลดไฟล์ CSV ของ WoSIS เมื่อระบบขอ
  4. ระบบจะดาวน์โหลดไฟล์ผลลัพธ์ให้อัตโนมัติ

พื้นที่ศึกษา

alt text

alt text

alt text

จังหวัดนครราชสีมา, ประเทศไทย

  • ละติจูด: 14.5° – 16.0° N
  • ลองจิจูด: 101.0° – 103.0° E

หากไม่พบข้อมูลเพียงพอ (< 100 ตัวอย่าง) จะขยายไปใช้ข้อมูลระดับประเทศ หรือทวีปเอเชียแทน

AI-soil-prediction-mini-project

About

mini project when I study

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages