Doctor AI

Dr. Savath Saypadith

240 ບົດຄວາມ

ແນະນຳກ່ຽວກັບ Random Forests: ການຄາດຄະເນຜົນຜະລິດກາເຟໃນປາກຊ່ອງ

ໂພສເມື່ອ # Machine Learning # Random Forest # Agriculture Technology # Data Science

ແນະນຳກ່ຽວກັບ Random Forests: ການຄາດຄະເນຜົນຜະລິດກາເຟໃນປາກຊ່ອງ

ເມືອງປາກຊ່ອງ, ເຊິ່ງຕັ້ງຢູ່ເທິງພູພຽງບໍລະເວນ, ແມ່ນແຫຼ່ງປູກກາເຟອາຣາບີກາ (Arabica) ທີ່ດີທີ່ສຸດ ແລະ ມີຊື່ສຽງທີ່ສຸດໃນປະເທດລາວ. ແຕ່ສຳລັບຊາວສວນກາເຟແລ້ວ, ການຄາດຄະເນຜົນຜະລິດໃນແຕ່ລະປີແມ່ນສິ່ງທ້າທາຍໃຫຍ່ ເພາະມັນຂຶ້ນກັບຫຼາຍປັດໄຈທີ່ຄວບຄຸມໄດ້ຍາກ ເຊັ່ນ: ປະລິມານນໍ້າຝົນ, ເວລາທີ່ແດດອອກ, ຄ່າ pH ຂອງດິນ ແລະ ອຸນຫະພູມ. ຈະເປັນແນວໃດຖ້າພວກເຮົາສາມາດນຳໃຊ້ Machine Learning (ML) ເພື່ອຊ່ວຍຊາວສວນວິເຄາະ ແລະ ຄາດຄະເນຜົນຜະລິດລ່ວງໜ້າ?

ໃນບົດຄວາມນີ້, ເຮົາຈະມາລົງເລິກວິທີການທາງເຕັກນິກລະດັບປານກາງທີ່ເອີ້ນວ່າ Random Forests ເຊິ່ງເປັນໜຶ່ງໃນ Ensemble Methods ທີ່ນິຍົມທີ່ສຸດ, ພ້ອມທັງເບິ່ງວິທີການຂຽນໂຄ້ດໃນການສ້າງໂມເດລເພື່ອຄາດຄະເນຜົນຜະລິດກາເຟໄປນຳກັນ.

Random Forests ແມ່ນຫຍັງ?

ກ່ອນຈະຮູ້ຈັກ Random Forests, ເຮົາຕ້ອງເຂົ້າໃຈ Decision Tree (ຕົ້ນໄມ້ຕັດສິນໃຈ) ກ່ອນ. Decision Tree ຄືການສ້າງເງື່ອນໄຂການຕັດສິນໃຈເປັນຂັ້ນຕອນ ເຊັ່ນ: “ຖ້າຝົນຕົກຫຼາຍກວ່າ 1500mm ແລະ ດິນມີ pH ທີ່ເໝາະສົມ -> ຜົນຜະລິດຈະສູງ”. ແຕ່ບັນຫາຂອງ Decision Tree ຄືມັນມັກຈະເກີດອາການ Overfitting (ຈື່ຂໍ້ມູນເຝິກສອນໄດ້ດີເກີນໄປ ແຕ່ໃຊ້ກັບຂໍ້ມູນຈິງບໍ່ໄດ້ຜົນດີ).

Random Forests ຈຶ່ງເຂົ້າມາແກ້ໄຂບັນຫານີ້ ໂດຍການນຳໃຊ້ແນວຄິດ Ensemble Learning. ປຽບທຽບງ່າຍໆ: ແທນທີ່ທ່ານຈະຖາມຊາວສວນກາເຟພຽງຄົນດຽວ (Decision Tree ໜຶ່ງຕົ້ນ), ທ່ານໄປຖາມຊາວສວນທີ່ມີປະສົບການແຕກຕ່າງກັນ 100 ຄົນ ແລ້ວເອົາຄຳຕອບຂອງທຸກຄົນມາສະເລ່ຍກັນ ຫຼື ໂຫວດຫາຄຳຕອບທີ່ຫຼາຍທີ່ສຸດ (ປ່າໄມ້ສຸ່ມ).

ກຽມຂໍ້ມູນ (Features) ສຳລັບສວນກາເຟປາກຊ່ອງ

ການຈະສ້າງໂມເດລທີ່ດີ, ເຮົາຈຳເປັນຕ້ອງມີຂໍ້ມູນປະຫວັດການປູກກາເຟ. ສຳລັບການຄາດຄະເນຜົນຜະລິດແບບຕົວເລກຕໍ່ເນື່ອງ, ເຮົາຈະໃຊ້ Random Forest Regressor. ປັດໄຈ (Features) ທີ່ເຮົາຈະນຳມາສ້າງໂມເດລ ອາດຈະປະກອບມີ:

ການສ້າງໂມເດລດ້ວຍ Python ແລະ Scikit-Learn

ມາຮອດຂັ້ນຕອນການຂຽນໂຄ້ດ, ເຮົາຈະໃຊ້ scikit-learn ເຊິ່ງເປັນໄລບຣາລີຍອດຮິດສຳລັບ Machine Learning ໃນ Python.

import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_squared_error, r2_score

# 1. ສ້າງຂໍ້ມູນຈຳລອງ (Mock Data) ຂອງສວນກາເຟ 10 ແຫ່ງໃນປາກຊ່ອງ
data = {
    'altitude': [1200, 1250, 1100, 1300, 1150, 1050, 1280, 1220, 1180, 1210],
    'rainfall': [1500, 1600, 1450, 1700, 1550, 1400, 1650, 1520, 1480, 1510],
    'avg_temp': [22.5, 23.0, 24.5, 21.0, 23.5, 25.0, 21.5, 22.8, 23.2, 22.6],
    'soil_ph': [5.5, 5.6, 5.2, 5.8, 5.4, 5.1, 5.7, 5.5, 5.3, 5.5],
    'yield_kg_per_ha': [1800, 1950, 1600, 2100, 1750, 1500, 2050, 1850, 1700, 1820]
}
df = pd.DataFrame(data)

# 2. ແຍກ Features (X) ແລະ ຕົວແປທີ່ຕ້ອງການພະຍາກອນ (y)
X = df[['altitude', 'rainfall', 'avg_temp', 'soil_ph']]
y = df['yield_kg_per_ha']

# 3. ແບ່ງຂໍ້ມູນສຳລັບ Train (80%) ແລະ Test (20%)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 4. ສ້າງໂມເດລ Random Forest
# n_estimators: ຈຳນວນຕົ້ນໄມ້ໃນປ່າ (ເຮົາໃຊ້ 100 ຕົ້ນ)
rf_model = RandomForestRegressor(n_estimators=100, max_depth=5, random_state=42)

# 5. ເຝິກສອນໂມເດລ (Training Model)
rf_model.fit(X_train, y_train)

# 6. ທົດສອບຄາດຄະເນ (Prediction) ເທິງຂໍ້ມູນ Test
predictions = rf_model.predict(X_test)

# 7. ປະເມີນຜົນໂມເດລ
print("ຄ່າ R-squared ຂອງໂມເດລ:", r2_score(y_test, predictions))
print("ຄ່າຄວາມຜິດພາດ (RMSE):", np.sqrt(mean_squared_error(y_test, predictions)))

ການວິເຄາະຄວາມສຳຄັນຂອງປັດໄຈ (Feature Importance)

ໜຶ່ງໃນຈຸດເດັ່ນຂອງ Random Forest ແມ່ນມັນສາມາດບອກເຮົາໄດ້ວ່າ ປັດໄຈໃດມີອິດທິພົນທີ່ສຸດຕໍ່ຜົນຜະລິດກາເຟ. ທ່ານສາມາດດຶງຂໍ້ມູນນີ້ໄດ້ງ່າຍໆ:

# ກວດສອບວ່າປັດໄຈໃດສຳຄັນທີ່ສຸດ
feature_importances = pd.Series(rf_model.feature_importances_, index=X.columns)
print("ຄວາມສຳຄັນຂອງແຕ່ລະປັດໄຈ:\n", feature_importances.sort_values(ascending=False))

ຫາກໂມເດລບອກວ່າ rainfall ມີຄ່າສູງສຸດ, ຊາວສວນປາກຊ່ອງກໍ່ສາມາດໃຫ້ຄວາມສຳຄັນກັບລະບົບການຈັດການນໍ້າໃຫ້ຫຼາຍຂຶ້ນ.

ຈຸດສຳຄັນທີ່ຄວນຈື່ (Key Takeaways)

ສະຫຼຸບ

ເຕັກນິກ Random Forests ເປັນເຄື່ອງມືທີ່ຊົງພະລັງສຳລັບນັກວິເຄາະຂໍ້ມູນ ແລະ ນັກພັດທະນາ ເພາະມັນໃຫ້ຄວາມຖືກຕ້ອງເຂົ້າຂັ້ນສູງໂດຍບໍ່ຈຳເປັນຕ້ອງປັບຈູນ (Tuning) ຫຍັງຫຼາຍ. ສຳລັບປະເທດລາວ ເຊິ່ງມີພື້ນຖານທາງດ້ານກະສິກຳເປັນຫຼັກ, ການນຳເອົາເຕັກໂນໂລຊີ Machine Learning ມາປະຍຸກໃຊ້ກັບຂໍ້ມູນຕົວຈິງຕາມທ້ອງຖິ່ນ ເຊັ່ນ ສວນກາເຟໃນປາກຊ່ອງ, ສາມາດເປັນກຸນແຈສຳຄັນທີ່ຍົກລະດັບປະລິມານ ແລະ ຄຸນນະພາບຂອງຜົນຜະລິດກະສິກຳລາວໃຫ້ກ້າວສູ່ຕະຫຼາດສາກົນໄດ້ຢ່າງໝັ້ນຄົງ.