0Pricing
Learn AI with Python · บทเรียน

โครงสร้างไดเรกทอรีโครงการปัญญาประดิษฐ์ระดับมืออาชีพ

โครงสร้าง data/, notebooks/, src/, models/, tests/ และรูปแบบ cookiecutter-data-science

โครงสร้างไดเรกทอรีโครงการปัญญาประดิษฐ์ระดับมืออาชีพ เป็นบทเรียน Learn AI with Python ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Learn AI with Python และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน

เหตุใดโครงสร้างจึงสำคัญ

กองสมุดบันทึกที่ชื่อ final.ipynb final2.ipynb และ really_final.ipynb คือสาเหตุที่ทำให้โครงการปัญญาประดิษฐ์ล้มเหลว โครงสร้างไดเรกทอรีที่สอดคล้องกันทำให้โครงการอ่านเข้าใจง่าย ทำซ้ำได้ และเอื้อต่อการทำงานร่วมกัน

บทเรียนนี้ครอบคลุมโครงสร้างแบบคุกกีคัตเตอร์ดาตาไซเอนซ์ที่ใช้กันอย่างแพร่หลาย

โฟลเดอร์ข้อมูล

แยกข้อมูลตามขั้นตอนการประมวลผล เพื่อไม่ให้ข้อมูลป้อนเข้าดิบถูกเขียนทับ:

  • data/raw/ — ข้อมูลต้นฉบับที่ไม่เปลี่ยนแปลง
  • data/processed/ — ข้อมูลที่ทำความสะอาดแล้วและพร้อมสำหรับแบบจำลอง
  • data/interim/ — การแปลงข้อมูลระหว่างขั้นตอน

ถือว่า data/raw เป็นข้อมูลแบบอ่านอย่างเดียว คุณควรสร้างข้อมูลอื่นทั้งหมดขึ้นใหม่จากข้อมูลนี้ได้เสมอ

เหตุใดข้อมูลดิบจึงไม่เปลี่ยนแปลง

หากข้อผิดพลาดในการทำความสะอาดทำลายสำเนาข้อมูลเพียงชุดเดียวของคุณ โครงการก็จบสิ้น การเก็บ data/raw ไว้โดยไม่แตะต้องหมายความว่าไฟล์ที่ประมวลผลทุกไฟล์สามารถสร้างซ้ำได้ด้วยการเรียกใช้กระบวนการทำงานของคุณอีกครั้ง

ผลลัพธ์ที่ประมวลผลแล้วเป็นสิ่งที่ทิ้งได้ แต่ข้อมูลดิบต้องรักษาไว้

โฟลเดอร์สมุดบันทึก

notebooks/ ใช้เก็บสมุดบันทึกสำหรับการสำรวจและการจัดทำรายงาน แนวทางที่ใช้กันทั่วไปคือกำหนดหมายเลขตามขั้นตอนและเติมอักษรย่อของผู้จัดทำ เช่น 1.0-mk-eda.ipynb

สมุดบันทึกมีไว้สำหรับการสำรวจ ส่วนตรรกะที่นำกลับมาใช้ได้ควรย้ายไปอยู่ใน src/

แพ็กเกจซอร์สโค้ด

src/ ประกอบด้วยโค้ดไพธอนที่นำเข้าได้ โดยแบ่งตามความรับผิดชอบ:

  • src/data/ — สคริปต์สำหรับโหลดและประมวลผลข้อมูล
  • src/features/ — การสร้างคุณลักษณะ
  • src/models/ — โค้ดสำหรับฝึกและทำนาย
  • src/visualization/ — แผนภาพและรายงาน

src/features และ src/models

การแยกการสร้างคุณลักษณะและการสร้างแบบจำลองออกเป็นโมดูลต่างหากให้ประโยชน์หลายด้าน คุณสามารถทดสอบโค้ดคุณลักษณะแต่ละหน่วย นำไปใช้ซ้ำในสมุดบันทึกหลายเล่ม และเปลี่ยนแบบจำลองได้โดยไม่ต้องเขียนการเตรียมข้อมูลใหม่

from src.features.build_features import make_features
from src.models.train import train_model

X = make_features(df)
model = train_model(X, y)

โฟลเดอร์แบบจำลอง

models/ ใช้จัดเก็บไฟล์ผลลัพธ์ของแบบจำลองที่ฝึกแล้วซึ่งจัดเก็บในรูปอนุกรม (เช่น model.pkl และ model.joblib) ไฟล์เหล่านี้เป็นผลลัพธ์ ไม่ใช่ซอร์สโค้ด

โดยทั่วไปไม่ควรนำไฟล์แบบจำลองขนาดใหญ่ใส่ไว้ในกิต แต่ควรติดตามด้วย DVC หรือพื้นที่จัดเก็บวัตถุแทน (จะกล่าวถึงในบทเรียนถัดไป)

โฟลเดอร์รายงาน

reports/ ใช้เก็บผลลัพธ์ที่สร้างขึ้นสำหรับผู้ใช้ ได้แก่ reports/figures/ สำหรับแผนภาพและเอกสารรายงานระดับราก สิ่งเหล่านี้สร้างโดยโค้ดของคุณ จึงสามารถสร้างขึ้นใหม่ได้

ไฟล์กำหนดค่าและสภาพแวดล้อม

เติมโครงการให้สมบูรณ์ด้วยไฟล์ระดับโครงการดังนี้:

  • requirements.txt หรือ environment.yml — แพ็กเกจที่ต้องใช้
  • config.yaml — ไฮเปอร์พารามิเตอร์และเส้นทาง
  • README.md — โครงการนี้คืออะไรและวิธีเรียกใช้
  • .gitignore — สิ่งที่กิตควรข้าม

โครงสร้างทั้งหมด

เมื่อนำทุกส่วนมารวมกัน โครงการปัญญาประดิษฐ์ที่เป็นระเบียบจะมีลักษณะดังนี้:

project/
  data/
    raw/
    interim/
    processed/
  notebooks/
  src/
    data/
    features/
    models/
    visualization/
  models/
  reports/
    figures/
  config.yaml
  requirements.txt
  README.md

การสร้างโครงสร้างด้วยคุกกีคัตเตอร์

คุณไม่จำเป็นต้องสร้างโครงสร้างนี้ด้วยตนเองทุกครั้ง แม่แบบคุกกีคัตเตอร์ดาตาไซเอนซ์จะสร้างโครงสร้างทั้งหมดให้ด้วยคำสั่งเดียว

# pip install cookiecutter
# cookiecutter -c v1 https://github.com/drivendata/cookiecutter-data-science
# Answer a few prompts -> full project tree created

ตรวจสอบอย่างรวดเร็ว: ข้อมูลดิบอยู่ที่ใด

คุณดาวน์โหลด CSV ต้นฉบับจากผู้ให้บริการข้อมูล

สรุปทบทวน: โครงสร้างโครงการ

คุณได้เรียนรู้โครงสร้างโครงการปัญญาประดิษฐ์แบบมืออาชีพดังนี้:

  • data/raw (ไม่เปลี่ยนแปลง) และ data/processed สำหรับขั้นตอนต่าง ๆ
  • notebooks/ สำหรับการสำรวจ ส่วน src/features และ src/models ใช้เก็บโค้ดที่นำกลับมาใช้ได้
  • models/ สำหรับไฟล์ผลลัพธ์ และ reports/ สำหรับผลลัพธ์
  • ไฟล์กำหนดค่า รายการสิ่งที่ต้องใช้ README และไฟล์ละเว้นของกิตอยู่ที่ระดับราก
  • คุกกีคัตเตอร์ดาตาไซเอนซ์ใช้สร้างโครงสร้างได้ทันที

ต่อไป: การใช้กิตอย่างมีประสิทธิภาพในโครงการปัญญาประดิษฐ์

คำถามที่พบบ่อย

บทเรียน “โครงสร้างไดเรกทอรีโครงการปัญญาประดิษฐ์ระดับมืออาชีพ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “โครงสร้างไดเรกทอรีโครงการปัญญาประดิษฐ์ระดับมืออาชีพ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Learn AI with Python ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “โครงสร้างไดเรกทอรีโครงการปัญญาประดิษฐ์ระดับมืออาชีพ”

โครงสร้าง data/, notebooks/, src/, models/, tests/ และรูปแบบ cookiecutter-data-science คุณปฏิบัติ Learn AI with Python ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Learn AI with Python หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Learn AI with Python บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “โครงสร้างไดเรกทอรีโครงการปัญญาประดิษฐ์ระดับมืออาชีพ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Learn AI with Python นี้ได้ไหม

ได้ บทเรียน Learn AI with Python ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. โครงสร้างไดเรกทอรีโครงการปัญญาประดิษฐ์ระดับมืออาชีพ
  2. Git สำหรับโครงการปัญญาประดิษฐ์
  3. การทำซ้ำผลลัพธ์ได้: ค่าเริ่มต้น การตั้งค่า และสภาพแวดล้อม
  4. แนวทางปฏิบัติที่ดีสำหรับ Jupyter Notebooks
← กลับไปที่ Learn AI with Python