Doctor AI

Dr. Savath Saypadith

ຝົນຈະຕົກຢູ່ນະຄອນຫຼວງວຽງຈັນບໍ່? ມາສ້າງໂມເດວພະຍາກອນອາກາດ

ໂພສເມື່ອ # Machine Learning # Python Programming

ຝົນຈະຕົກຢູ່ນະຄອນຫຼວງວຽງຈັນບໍ່? ມາສ້າງໂມເດວພະຍາກອນອາກາດນຳກັນ!

ສະບາຍດີທຸກຄົນ! ທ່ານເຄີຍພົບກັບເຫດການແບບນີ້ບໍ່? ເວລາທີ່ຂີ່ລົດຈັກໄປແຖວປະຕູໄຊ ຫຼື ຍ່າງຫຼິ້ນລຽບແຄມຂອງໃນຍາມແລງ ແລ້ວຈູ່ໆຝົນກໍຕົກລົງມາແບບບໍ່ຕັ້ງຕົວ? ບາງຄັ້ງແອັບພະຍາກອນອາກາດໃນໂທລະສັບກໍບອກວ່າຟ້າແຈ້ງ, ແຕ່ຄວາມເປັນຈິງພັດຮ້ອນອົບເອົ້າ ແລະ ຝົນຕົກໜັກ.

ມື້ນີ້ເຮົາຈະມາແກ້ໄຂບັນຫານີ້ ໂດຍການລອງສ້າງໂປຣແກຣມພະຍາກອນອາກາດຂອງເຮົາເອງ ດ້ວຍການນຳໃຊ້ Machine Learning (ML) ເຊິ່ງເປັນໜຶ່ງໃນເຕັກໂນໂລຊີປັນຍາປະດິດ (AI) ທີ່ກຳລັງມາແຮງທີ່ສຸດໃນປະຈຸບັນ.

Machine Learning (ML) ແມ່ນຫຍັງ?

ຖ້າທ່ານເປັນມືໃໝ່ທີ່ບໍ່ເຄີຍຂຽນໂປຣແກຣມ AI ມາກ່ອນ, ບໍ່ຕ້ອງກັງວົນ! Machine Learning (ການຮຽນຮູ້ຂອງເຄື່ອງຈັກ) ອະທິບາຍງ່າຍໆກໍຄື ການທີ່ເຮົາຫາກໍຂໍ້ມູນໃນອະດີດ ມາໃຫ້ຄອມພິວເຕີໄດ້ຮຽນຮູ້ ແລະ ຊອກຫາ “ຮູບແບບ” (Pattern). ເມື່ອຄອມພິວເຕີເຂົ້າໃຈຮູບແບບເຫຼົ່ານັ້ນແລ້ວ, ມັນກໍຈະສາມາດທຳນາຍສິ່ງທີ່ອາດຈະເກີດຂຶ້ນໃນອະນາຄົດໄດ້.

ສຳລັບບົດຄວາມນີ້, ເຮົາຈະມາສ້າງໂມເດວແບບທີ່ເອີ້ນວ່າ Classification (ການຈັດປະເພດ) ເຊິ່ງເປັນການຕອບຄຳຖາມແບບກົງໄປກົງມາ: “ມື້ນີ້ຝົນຈະຕົກບໍ່?” ໂດຍທີ່ຄຳຕອບຈະມີພຽງ “ຕົກ (1)” ຫຼື “ບໍ່ຕົກ (0)“.

ຂໍ້ມູນ (Data): ຫົວໃຈສຳຄັນຂອງທຸກໆໂມເດວ

ປັດໄຈຫຼັກທີ່ມີຜົນຕໍ່ການເກີດຝົນຕົກໃນວຽງຈັນ (ບ້ານເຮົາ) ມີ 2 ສິ່ງຫຼັກໆຄື:

  1. ອຸນຫະພູມ (Temperature): ວັດແທກເປັນອົງສາເຊລຊຽດ (°C).
  2. ຄວາມຊຸ່ມຊື່ນ (Humidity): ວັດແທກເປັນເປີເຊັນ (%).

ຖ້າອາກາດຮ້ອນຫຼາຍ ແລະ ຄວາມຊຸ່ມຊື່ນສູງ (ຄືກັບສະພາບອາກາດອົບເອົ້າ ກ່ອນຝົນຕົກ), ໂອກາດທີ່ຝົນຈະຕົກແມ່ນມີສູງຫຼາຍ. ໃນຕົວຢ່າງນີ້ເຮົາຈະສ້າງຂໍ້ມູນຈຳລອງຂຶ້ນມາ ເພື່ອໃຫ້ເຂົ້າໃຈງ່າຍແບບເປັນຂັ້ນຕອນ.

ມາເລີ່ມລົງມືສ້າງໂມເດວກັນເລີຍ! (Step-by-Step Guide)

ໃນການຂຽນໂຄດ, ເຮົາຈະໃຊ້ພາສາ Python ເຊິ່ງເປັນພາສາທີ່ໄດ້ຮັບຄວາມນິຍົມທີ່ສຸດໃນວົງການ ML ພ້ອມກັບເຄື່ອງມື (Library) ທີ່ຊື່ວ່າ scikit-learn ເຊິ່ງເໝາະສຳລັບຜູ້ເລີ່ມຕົ້ນ.

ຂັ້ນຕອນທີ 1: ກະກຽມຂໍ້ມູນ ແລະ ນຳເຂົ້າເຄື່ອງມື

ລອງຈິນຕະນາການວ່າ ເຮົາໄດ້ເກັບຂໍ້ມູນສະພາບອາກາດໃນວຽງຈັນມາເປັນເວລາ 10 ມື້.

# ນຳເຂົ້າເຄື່ອງມືທີ່ຈຳເປັນສຳລັບການຈັດການຂໍ້ມູນ ແລະ ສ້າງໂມເດວ
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score

# 1. ສ້າງຂໍ້ມູນຈຳລອງສະພາບອາກາດ (ອຸນຫະພູມ, ຄວາມຊຸ່ມຊື່ນ)
# ຝົນຕົກ: 1 = ແມ່ນ (ຕົກ), 0 = ບໍ່ (ບໍ່ຕົກ)
data = {
    'Temperature_C': [32, 35, 28, 26, 33, 30, 29, 36, 25, 27],
    'Humidity_Percent': [75, 60, 90, 85, 70, 80, 88, 55, 95, 82],
    'Will_It_Rain': [0, 0, 1, 1, 0, 1, 1, 0, 1, 1]
}

# ປ່ຽນຂໍ້ມູນໃຫ້ເປັນຕາຕະລາງພ້ອມໃຊ້ງານ (DataFrame)
df = pd.DataFrame(data)

ຂັ້ນຕອນທີ 2: ແບ່ງຂໍ້ມູນສຳລັບການຮຽນ (Train) ແລະ ການສອບເສັງ (Test)

ໃນ Machine Learning, ເຮົາຈະບໍ່ເອົາຂໍ້ມູນທັງໝົດໄປສອນຄອມພິວເຕີ, ເພາະມັນຈະກາຍເປັນການ “ທ່ອງຈຳ” ແທນທີ່ຈະເປັນການ “ຮຽນຮູ້”. ເຮົາຕ້ອງແບ່ງຂໍ້ມູນອອກເປັນ 2 ສ່ວນ ຄືກັບການສອນນັກຮຽນ: ສ່ວນໜຶ່ງໃຫ້ຮຽນໃນຫ້ອງ (Training Data) ແລະ ອີກສ່ວນໜຶ່ງຈົ່ງໄວ້ເປັນຂໍ້ສອບ (Testing Data).

# ແຍກປັດໄຈ (Features ເຊັ່ນ ອຸນຫະພູມ ແລະ ຄວາມຊຸ່ມຊື່ນ) ໃຫ້ເປັນ X
X = df[['Temperature_C', 'Humidity_Percent']]

# ສິ່ງທີ່ຕ້ອງການທຳນາຍ (Target ເຊັ່ນ ຝົນຕົກບໍ່) ໃຫ້ເປັນ y
y = df['Will_It_Rain']

# ແບ່ງຂໍ້ມູນ: ສຳລັບຝຶກສອນ 80% ແລະ ສຳລັບທົດສອບ 20%
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

ຂັ້ນຕອນທີ 3: ສ້າງ ແລະ ຝຶກສອນໂມເດວ

ໃນທີນີ້ ເຮົາຈະໃຊ້ເຕັກນິກທີ່ເອີ້ນວ່າ Decision Tree (ຕົ້ນໄມ້ການຕັດສິນໃຈ). ເຊິ່ງໂມເດວນີ້ຈະຮຽນຮູ້ວິທີການຕັ້ງເງື່ອນໄຂ ເຊັ່ນ: “ຖ້າຄວາມຊຸ່ມຊື່ນຫຼາຍກວ່າ 80% ສະແດງວ່າຝົນຈະຕົກ”.

# ສ້າງຕົວແບບ (Model)
model = DecisionTreeClassifier()

# ເລີ່ມໃຫ້ຄອມພິວເຕີຮຽນຮູ້ຈາກຂໍ້ມູນທີ່ເຮົາແບ່ງໄວ້ (Training)
model.fit(X_train, y_train)
print("ສຳເລັດການຝຶກສອນໂມເດວ!")

ຂັ້ນຕອນທີ 4: ທົດສອບ ແລະ ທຳນາຍອະນາຄົດ

ດຽວນີ້ໂມເດວພະຍາກອນອາກາດຂອງເຮົາພ້ອມແລ້ວ! ເຮົາມາລອງທົດສອບຄວາມຖືກຕ້ອງ ແລະ ລອງປ້ອນຂໍ້ມູນສະພາບອາກາດລົງໄປເບິ່ງວ່າຝົນຈະຕົກ ຫຼື ບໍ່.

# ລອງທຳນາຍຜົນຈາກຂໍ້ມູນ Test
predictions = model.predict(X_test)
accuracy = accuracy_score(y_test, predictions)
print(f"ຄວາມຖືກຕ້ອງຂອງໂມເດວເຮົາຄື: {accuracy * 100}%")

# --- ລອງທຳນາຍອາກາດມື້ນີ້ໃນນະຄອນຫຼວງວຽງຈັນ ---
# ສົມມຸດວ່າມື້ນີ້ ອຸນຫະພູມ 31 ອົງສາ ແລະ ຄວາມຊຸ່ມຊື່ນ 85% (ຮ້ອນອົບເອົ້າຫຼາຍ!)
today_weather = pd.DataFrame({'Temperature_C': [31], 'Humidity_Percent': [85]})

will_rain = model.predict(today_weather)

if will_rain[0] == 1:
    print("ທຳນາຍ: ຕຽມເສື້ອຝົນໄວ້ເລີຍ! ມື້ນີ້ຝົນຕົກແນ່ນອນ.")
else:
    print("ທຳນາຍ: ມື້ນີ້ສະບາຍໆ, ຂີ່ລົດຈັກລຽບແຄມຂອງໄດ້ເລີຍ ປອດໂປ່ງບໍ່ມີຝົນ.")

ສິ່ງທີ່ໄດ້ຮຽນຮູ້ (Key Takeaways)

ບົດສະຫຼຸບ

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

ການເລີ່ມຕົ້ນຈາກໂຄງການນ້ອຍໆແບບນີ້ ແມ່ນການປູພື້ນຖານທີ່ແໜ້ນໜາສຳລັບຜູ້ທີ່ສົນໃຈໃນການຂຽນໂປຣແກຣມ ແລະ ນຳໃຊ້ເຫດຜົນທາງຄະນິດສາດ ມາປະຍຸກໃຊ້ເປັນ AI ເພື່ອແກ້ໄຂບັນຫາທີ່ໃກ້ຕົວ ແລະ ພົບເຫັນເປັນປະຈຳໃນປະເທດເຮົາ.