วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

วิศวกรรมคุณสมบัติตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler

แมชชีนเลิร์นนิง (ML) กำลังทำลายอุตสาหกรรมจำนวนมากอย่างไม่เคยปรากฏมาก่อน อุตสาหกรรมการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิต (HCLS) กำลังผ่านวิวัฒนาการอย่างรวดเร็วในช่วงไม่กี่ปีที่ผ่านมา โดยเปิดรับ ML ในกรณีการใช้งานที่หลากหลายเพื่อการดูแลที่มีคุณภาพและปรับปรุงผลลัพธ์ของผู้ป่วย

ในวงจรชีวิต ML ทั่วไป วิศวกรข้อมูลและนักวิทยาศาสตร์ใช้เวลาส่วนใหญ่ในการเตรียมข้อมูลและขั้นตอนทางวิศวกรรมคุณลักษณะ ก่อนเริ่มต้นกระบวนการสร้างแบบจำลองและการฝึกอบรมด้วยซ้ำ การมีเครื่องมือที่สามารถลดอุปสรรคในการป้อนข้อมูลเพื่อเตรียมข้อมูล ซึ่งจะช่วยปรับปรุงประสิทธิภาพการทำงาน เป็นสิ่งที่พึงปรารถนาอย่างมากสำหรับบุคคลเหล่านี้ Amazon SageMaker ข้อมูล Wrangler เป็นจุดประสงค์ที่สร้างขึ้นโดย AWS เพื่อลดเส้นโค้งการเรียนรู้และช่วยให้ผู้ปฏิบัติงานด้านข้อมูลสามารถจัดเตรียมข้อมูล ทำความสะอาด และงานวิศวกรรมคุณลักษณะได้สำเร็จโดยใช้เวลาและความพยายามน้อยลง มีอินเทอร์เฟซ GUI พร้อมฟังก์ชันในตัวและการผสานรวมกับบริการอื่นๆ ของ AWS เช่น บริการจัดเก็บข้อมูลอย่างง่ายของ Amazon (Amazon S3) และ Amazon SageMaker ฟีเจอร์สโตร์รวมถึงแหล่งข้อมูลของพันธมิตร เช่น Snowflake และ Databricks

ในโพสต์นี้ เราสาธิตวิธีใช้ Data Wrangler เพื่อเตรียมข้อมูลด้านการดูแลสุขภาพสำหรับการฝึกแบบจำลองเพื่อทำนายภาวะหัวใจล้มเหลว โดยพิจารณาจากข้อมูลประชากรของผู้ป่วย เงื่อนไขทางการแพทย์ก่อนหน้า และประวัติผลการทดสอบในห้องปฏิบัติการ

ภาพรวมโซลูชัน

การแก้ปัญหาประกอบด้วยขั้นตอนต่อไปนี้:

  1. รับชุดข้อมูลด้านการดูแลสุขภาพเป็นอินพุตไปยัง Data Wrangler
  2. ใช้ฟังก์ชันการแปลงในตัวของ Data Wrangler เพื่อแปลงชุดข้อมูล ซึ่งรวมถึงคอลัมน์ดรอป แสดงข้อมูล/เวลา รวมชุดข้อมูล ใส่ค่าที่หายไป เข้ารหัสตัวแปรตามหมวดหมู่ ปรับขนาดค่าตัวเลข ปรับสมดุลชุดข้อมูล และอื่นๆ
  3. ใช้ฟังก์ชันการแปลงแบบกำหนดเองของ Data Wrangler (โค้ด Pandas หรือ PySpark) เพื่อเสริมการแปลงเพิ่มเติมที่จำเป็นนอกเหนือจากการแปลงในตัว และแสดงความสามารถในการขยายของ Data Wrangler ซึ่งรวมถึงแถวตัวกรอง กลุ่มข้อมูล สร้าง dataframe ใหม่ตามเงื่อนไข และอื่นๆ
  4. ใช้ฟังก์ชันการแสดงภาพในตัวของ Data Wrangler เพื่อทำการวิเคราะห์ด้วยภาพ ซึ่งรวมถึงเป้าหมายการรั่วไหล ความสัมพันธ์ของคุณลักษณะ โมเดลด่วน และอื่นๆ
  5. ใช้ตัวเลือกการส่งออกในตัวของ Data Wrangler เพื่อส่งออกชุดข้อมูลที่แปลงแล้วไปยัง Amazon S3
  6. เปิดใช้โน้ตบุ๊ก Jupyter เพื่อใช้ชุดข้อมูลที่แปลงแล้วใน Amazon S3 เป็นอินพุตเพื่อฝึกโมเดล

สร้างชุดข้อมูล

ตอนนี้เราได้ตกลงกับคำชี้แจงปัญหา ML แล้ว อันดับแรกเราตั้งเป้าหมายในการรับข้อมูลที่เราต้องการ การศึกษาวิจัยเช่น การทำนายภาวะหัวใจล้มเหลว อาจให้ข้อมูลที่อยู่ในสภาพดีอยู่แล้ว อย่างไรก็ตาม เรามักพบสถานการณ์ที่ข้อมูลค่อนข้างยุ่งเหยิงและต้องมีการรวม การล้างข้อมูล และการเปลี่ยนแปลงอื่นๆ อีกหลายอย่างที่มีความเฉพาะเจาะจงมากสำหรับโดเมนด้านการรักษาพยาบาลก่อนจึงจะสามารถใช้สำหรับการฝึกอบรม ML ได้ เราต้องการค้นหาหรือสร้างข้อมูลที่ยุ่งเหยิงเพียงพอ และแนะนำคุณตลอดขั้นตอนการเตรียมข้อมูลโดยใช้ Data Wrangler ด้วยเหตุนี้ เราจึงเลือก Synthea เป็นเครื่องมือในการสร้างข้อมูลสังเคราะห์ที่เหมาะกับเป้าหมายของเรา ซินเทีย เป็นเครื่องกำเนิดผู้ป่วยสังเคราะห์แบบโอเพนซอร์สที่จำลองประวัติทางการแพทย์ของผู้ป่วยสังเคราะห์ ในการสร้างชุดข้อมูลของคุณ ให้ทำตามขั้นตอนต่อไปนี้:

  1. ทำตามคำแนะนำตาม เริ่มต้นอย่างรวดเร็ว เอกสารประกอบการสร้าง an สตูดิโอ Amazon SageMaker โดเมนและเปิด Studio
    นี่เป็นขั้นตอนเบื้องต้น เป็นทางเลือกหากมีการตั้งค่า Studio ในบัญชีของคุณแล้ว
  2. หลังจากเปิดตัว Studio บน เปิด เลือกแท็บ เทอร์มินัลระบบ.
    การดำเนินการนี้จะเริ่มต้นเซสชันเทอร์มินัลที่ให้อินเทอร์เฟซบรรทัดคำสั่งเพื่อใช้งาน
  3. ในการติดตั้ง Synthea และสร้างชุดข้อมูลในรูปแบบ CSV ให้เรียกใช้คำสั่งต่อไปนี้ในเซสชันเทอร์มินัลที่เปิดใช้งาน:
    $ sudo yum install -y java-1.8.0-openjdk-devel
    $ export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64
    $ export PATH=$JAVA_HOME/bin:$PATH
    $ git clone https://github.com/synthetichealth/synthea
    $ git checkout v3.0.0
    $ cd synthea
    $ ./run_synthea --exporter.csv.export=true -p 10000

เราจัดหาพารามิเตอร์เพื่อสร้างชุดข้อมูลที่มีขนาดประชากร 10,000 หมายเหตุ พารามิเตอร์ขนาดหมายถึงจำนวนสมาชิกที่ยังมีชีวิตอยู่ของประชากร นอกจากนี้ Synthea ยังสร้างข้อมูลสำหรับสมาชิกที่เสียชีวิตของประชากร ซึ่งอาจเพิ่มจุดข้อมูลพิเศษสองสามจุดนอกเหนือจากขนาดกลุ่มตัวอย่างที่ระบุ

รอจนกว่าการสร้างข้อมูลจะเสร็จสมบูรณ์ ขั้นตอนนี้มักใช้เวลาประมาณหนึ่งชั่วโมงหรือน้อยกว่านั้น Synthea สร้างชุดข้อมูลหลายชุด รวมถึง patients, medications, allergies, conditions, และอื่น ๆ. สำหรับโพสต์นี้ เราใช้ชุดข้อมูลผลลัพธ์สามชุด:

  • ผู้ป่วย.csv – ชุดข้อมูลนี้มีขนาดประมาณ 3.2 MB และมีข้อมูลผู้ป่วยประมาณ 11,000 แถว (25 คอลัมน์รวมถึง ID ผู้ป่วย วันเกิด เพศ ที่อยู่ และอื่นๆ)
  • เงื่อนไข.csv – ชุดข้อมูลนี้มีขนาดประมาณ 47 MB ​​และมีข้อมูลสภาพทางการแพทย์ประมาณ 370,000 แถว (หกคอลัมน์รวมถึง ID ผู้ป่วย วันที่เริ่มต้นของเงื่อนไข รหัสเงื่อนไข และอื่นๆ)
  • การสังเกต.csv – ชุดข้อมูลนี้มีขนาดประมาณ 830 MB และมีข้อมูลการสังเกตประมาณ 5 ล้านแถว (แปดคอลัมน์รวมถึง ID ผู้ป่วย วันที่สังเกต รหัสการสังเกต ค่า และอื่นๆ)

มีความสัมพันธ์แบบหนึ่งต่อกลุ่มระหว่าง patients และ conditions ชุดข้อมูล นอกจากนี้ยังมีความสัมพันธ์แบบหนึ่งต่อกลุ่มระหว่าง patients และ observations ชุดข้อมูล สำหรับพจนานุกรมข้อมูลโดยละเอียด โปรดดูที่ พจนานุกรมข้อมูลไฟล์ CSV.

  1. ในการอัปโหลดชุดข้อมูลที่สร้างขึ้นไปยังบัคเก็ตต้นทางใน Amazon S3 ให้เรียกใช้คำสั่งต่อไปนี้ในเซสชันเทอร์มินัล:
    $ cd ./output/csv
    $ aws s3 sync . s3://<source bucket name>/

เปิดตัว Data Wrangler

Choose แหล่งข้อมูล SageMaker ในหน้าการนำทางใน Studio และบน โครงการ เมนูให้เลือก ดาต้าแรงเลอร์ เพื่อสร้างกระแสข้อมูล Data Wrangler สำหรับขั้นตอนโดยละเอียดในการเปิดใช้ Data Wrangler จากภายใน Studio โปรดดูที่ เริ่มต้นใช้งาน Data Wrangler.

วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

นำเข้าข้อมูล

ในการนำเข้าข้อมูลของคุณ ให้ทำตามขั้นตอนต่อไปนี้:

  1. Choose Amazon S3 และค้นหาไฟล์ Patient.csv ในบัคเก็ต S3
  2. ตัว Vortex Indicator ได้ถูกนำเสนอลงในนิตยสาร รายละเอียด บานหน้าต่างเลือก เฟิร์ส K for การสุ่มตัวอย่าง.
  3. เข้าสู่ 1100 for ขนาดตัวอย่าง.
    ในบานหน้าต่างแสดงตัวอย่าง Data Wrangler จะดึง 100 แถวแรกจากชุดข้อมูลและแสดงรายการเป็นการแสดงตัวอย่าง
  4. Choose นำเข้า.
    Data Wrangler เลือกผู้ป่วย 1,100 รายแรกจากผู้ป่วยทั้งหมด (11,000 แถว) ที่สร้างโดย Synthea และนำเข้าข้อมูล วิธีการสุ่มตัวอย่างช่วยให้ Data Wrangler ประมวลผลข้อมูลตัวอย่างเท่านั้น ช่วยให้เราสามารถพัฒนาโฟลว์ข้อมูลของเราด้วยชุดข้อมูลที่มีขนาดเล็กลง ซึ่งส่งผลให้มีการประมวลผลที่รวดเร็วขึ้นและมีลูปป้อนกลับที่สั้นลง หลังจากที่เราสร้างกระแสข้อมูลแล้ว เราก็สามารถส่งสูตรที่พัฒนาแล้วไปที่ a การประมวลผล SageMaker งานเพื่อขยายการประมวลผลในแนวนอนสำหรับชุดข้อมูลทั้งหมดหรือใหญ่กว่าในแบบกระจาย
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
  5. ทำซ้ำขั้นตอนนี้สำหรับ conditions และ observations ชุดข้อมูล
    1. สำหรับ conditions ชุดข้อมูล ใส่ 37000 for ขนาดตัวอย่างซึ่งเท่ากับ 1/10 ของทั้งหมด 370,000 แถวที่สร้างโดย Synthea
    2. สำหรับ observations ชุดข้อมูล ใส่ 500000 for ขนาดตัวอย่างซึ่งเท่ากับ 1 ใน 10 ของการสังเกตทั้งหมด 5 ล้านแถวที่สร้างโดย Synthea

คุณควรเห็นชุดข้อมูลสามชุดตามที่แสดงในภาพหน้าจอต่อไปนี้

วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

แปลงข้อมูล

การแปลงข้อมูลเป็นกระบวนการในการเปลี่ยนโครงสร้าง ค่า หรือรูปแบบของคอลัมน์อย่างน้อยหนึ่งคอลัมน์ในชุดข้อมูล กระบวนการนี้มักจะพัฒนาโดยวิศวกรข้อมูลและอาจเป็นสิ่งที่ท้าทายสำหรับผู้ที่มีทักษะด้านวิศวกรรมข้อมูลขนาดเล็กกว่าในการถอดรหัสตรรกะที่เสนอสำหรับการแปลง การแปลงข้อมูลเป็นส่วนหนึ่งของกระบวนการทางวิศวกรรมคุณลักษณะที่กว้างขึ้น และลำดับขั้นตอนที่ถูกต้องเป็นเกณฑ์สำคัญอีกประการหนึ่งที่ควรคำนึงถึงขณะคิดค้นสูตรดังกล่าว

Data Wrangler ได้รับการออกแบบให้เป็นเครื่องมือที่ใช้โค้ดน้อยเพื่อลดอุปสรรคในการป้อนข้อมูลเพื่อการเตรียมข้อมูลอย่างมีประสิทธิภาพ มันมาพร้อมกับการแปลงข้อมูลที่กำหนดไว้ล่วงหน้ามากกว่า 300 แบบให้คุณเลือกโดยไม่ต้องเขียนโค้ดแม้แต่บรรทัดเดียว ในส่วนต่อไปนี้ เราจะดูวิธีแปลงชุดข้อมูลที่นำเข้าใน Data Wrangler

วางคอลัมน์ใน Patients.csv

ก่อนอื่นเราวางบางคอลัมน์จาก patients ชุดข้อมูล การทิ้งคอลัมน์ที่ซ้ำซ้อนจะลบข้อมูลที่ไม่เกี่ยวข้องออกจากชุดข้อมูล และช่วยให้เราลดจำนวนทรัพยากรการคำนวณที่จำเป็นในการประมวลผลชุดข้อมูลและฝึกโมเดล ในส่วนนี้ เราจะวางคอลัมน์ต่างๆ เช่น SSN หรือหมายเลขหนังสือเดินทางตามสามัญสำนึกที่คอลัมน์เหล่านี้ไม่มีค่าคาดการณ์ กล่าวอีกนัยหนึ่ง สิ่งเหล่านี้ไม่ได้ช่วยให้แบบจำลองของเราทำนายภาวะหัวใจล้มเหลว การศึกษาของเราไม่ได้กังวลเกี่ยวกับคอลัมน์อื่นๆ เช่น บ้านเกิดหรืออิทธิพลของค่ารักษาพยาบาลที่ส่งผลต่อภาวะหัวใจล้มเหลวของผู้ป่วย ดังนั้นเราจึงยกเลิกการศึกษานี้เช่นกัน คอลัมน์ที่ซ้ำซ้อนสามารถระบุได้ด้วยการเรียกใช้การวิเคราะห์ในตัว เช่น การรั่วไหลของเป้าหมาย ความสัมพันธ์ของคุณลักษณะ การทำงานร่วมกันหลายแบบ และอื่นๆ ซึ่งสร้างไว้ใน Data Wrangler สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับประเภทการวิเคราะห์ที่รองรับ โปรดดูที่ วิเคราะห์และเห็นภาพ. นอกจากนี้ คุณสามารถใช้ รายงานคุณภาพข้อมูลและข้อมูลเชิงลึก เพื่อทำการวิเคราะห์อัตโนมัติในชุดข้อมูลเพื่อไปยังรายการคอลัมน์ที่ซ้ำซ้อนเพื่อกำจัด

  1. เลือกเครื่องหมายบวกถัดจาก ประเภทข้อมูล สำหรับชุดข้อมูล Patient.csv และเลือก เพิ่มการแปลง.
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
  2. Choose เพิ่มขั้นตอน และเลือก จัดการคอลัมน์.
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
  3. สำหรับ แปลง¸ เลือก วางคอลัมน์.
  4. สำหรับ คอลัมน์ที่จะปล่อย, เลือกคอลัมน์ต่อไปนี้:
    1. SSN
    2. DRIVERS
    3. PASSPORT
    4. PREFIX
    5. FIRST
    6. LAST
    7. SUFFIX
    8. MAIDEN
    9. RACE
    10. ETHNICITY
    11. BIRTHPLACE
    12. ADDRESS
    13. CITY
    14. STATE
    15. COUNTY
    16. ZIP
    17. LAT
    18. LON
    19. HEALTHCARE_EXPENSES
    20. HEALTHCARE_COVERAGE
  5. Choose ดูตัวอย่าง เพื่อตรวจสอบชุดข้อมูลที่แปลงแล้ว จากนั้นเลือก เพิ่ม.
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
    คุณควรเห็นขั้นตอน วางคอลัมน์ ในรายการการแปลงของคุณ
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

ระบุวันที่/เวลาใน Patients.csv

ตอนนี้เราใช้ฟังก์ชันคุณลักษณะวันที่/เวลาเพื่อสร้างคุณลักษณะใหม่ Year จาก BIRTHDATE คอลัมน์ใน patients ชุดข้อมูล เราใช้คุณลักษณะใหม่นี้ในขั้นตอนต่อไปเพื่อคำนวณอายุของผู้ป่วยในขณะที่มีการสังเกต

  1. ตัว Vortex Indicator ได้ถูกนำเสนอลงในนิตยสาร แปลง บานหน้าต่างของคุณ วางคอลัมน์ หน้าสำหรับ patients ชุดข้อมูล เลือก เพิ่มขั้นตอน.
  2. เลือก ระบุวันที่/เวลา แปลง.
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
  3. Choose แยกคอลัมน์.
  4. สำหรับ คอลัมน์อินพุต, เพิ่มคอลัมน์ BIRTHDATE.
  5. เลือก ปี และยกเลิกการเลือก เดือน, วัน, ชั่วโมง, นาที, ที่สอง
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
  6. Choose ดูตัวอย่างแล้วเลือก เพิ่ม.

เพิ่มการแปลงในข้อสังเกต.csv

Data Wrangler รองรับการแปลงแบบกำหนดเองโดยใช้ Python (ฟังก์ชันที่ผู้ใช้กำหนดเอง), PySpark, Pandas หรือ PySpark (SQL) คุณสามารถเลือกประเภทการแปลงตามความคุ้นเคยกับแต่ละตัวเลือกและความชอบ สำหรับสามตัวเลือกหลัง Data Wrangler จะเปิดเผยตัวแปร df ให้คุณเข้าถึง dataframe และใช้การแปลงกับมัน สำหรับคำอธิบายโดยละเอียดและตัวอย่าง โปรดดูที่ แปลงร่างเอง. ในส่วนนี้ เราเพิ่มการแปลงแบบกำหนดเองสามแบบไปที่ observations ชุดข้อมูล

  1. เพิ่มการแปลงเป็นข้อสังเกต.csv แล้วปล่อย DESCRIPTION คอลัมน์.
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
  2. Choose ดูตัวอย่างแล้วเลือก เพิ่ม.
  3. ตัว Vortex Indicator ได้ถูกนำเสนอลงในนิตยสาร แปลง บานหน้าต่างเลือก เพิ่มขั้นตอน และเลือก แปลงร่างเอง.
  4. บนเมนูแบบเลื่อนลง ให้เลือก หลาม (แพนด้า).
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
  5. ป้อนรหัสต่อไปนี้:
    df = df[df["CODE"].isin(['8867-4','8480-6','8462-4','39156-5','777-3'])]

    นี่คือรหัส LONIC ที่สอดคล้องกับข้อสังเกตต่อไปนี้ที่เราสนใจใช้เป็นคุณลักษณะในการทำนายภาวะหัวใจล้มเหลว:

    heart rate: 8867-4
    systolic blood pressure: 8480-6
    diastolic blood pressure: 8462-4
    body mass index (BMI): 39156-5
    platelets [#/volume] in Blood: 777-3

  6. Choose ดูตัวอย่างแล้วเลือก เพิ่ม.
  7. เพิ่มการแปลงร่างเพื่อแยก Year และ Quarter จาก DATE คอลัมน์.
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
  8. Choose ดูตัวอย่างแล้วเลือก เพิ่ม.
  9. Choose เพิ่มขั้นตอน และเลือก แปลงร่างเอง.
  10. บนเมนูแบบเลื่อนลง ให้เลือก หลาม (PySpark).
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
    การสังเกตห้าประเภทอาจไม่ถูกบันทึกในวันเดียวกันเสมอไป ตัวอย่างเช่น ผู้ป่วยอาจไปพบแพทย์ประจำครอบครัวในวันที่ 21 มกราคม และทำการวัดและบันทึกความดันโลหิตขณะหัวใจคลายตัว ความดันโลหิตตัวล่าง อัตราการเต้นของหัวใจ และดัชนีมวลกาย อย่างไรก็ตาม การทดสอบในห้องปฏิบัติการที่มีเกล็ดเลือดอาจทำได้ในภายหลังในวันที่ 2 กุมภาพันธ์ ดังนั้นจึงเป็นไปไม่ได้ที่จะเข้าร่วมดาต้าเฟรมภายในวันที่สังเกต ในที่นี้ เรารวม dataframes แบบละเอียดเป็นรายไตรมาส
  11. ป้อนรหัสต่อไปนี้:
    from pyspark.sql.functions import col
    
    systolic_df = (
        df.select("patient", "DATE_year", "DATE_quarter", "value")
                       .withColumnRenamed("value", "systolic")
                       .filter((col("code") == "8480-6"))
      )
    
    diastolic_df = (
        df.select("patient", "DATE_year", "DATE_quarter", "value")
                       .withColumnRenamed('value', 'diastolic')
                       .filter((col("code") == "8462-4"))
        )
    
    hr_df = (
        df.select("patient", "DATE_year", "DATE_quarter", "value")
                       .withColumnRenamed('value', 'hr')
                       .filter((col("code") == "8867-4"))
        )
    
    bmi_df = (
        df.select("patient", "DATE_year", "DATE_quarter", "value")
                       .withColumnRenamed('value', 'bmi')
                       .filter((col("code") == "39156-5"))
        )
    
    platelets_df = (
        df.select("patient", "DATE_year", "DATE_quarter", "value")
                       .withColumnRenamed('value', 'platelets')
                       .filter((col("code") == "777-3"))
        )
    
    df = (
        systolic_df.join(diastolic_df, ["patient", "DATE_year", "DATE_quarter"])
                                .join(hr_df, ["patient", "DATE_year", "DATE_quarter"])
                                .join(bmi_df, ["patient", "DATE_year", "DATE_quarter"])
                                .join(platelets_df, ["patient", "DATE_year", "DATE_quarter"])
    )

  12. Choose ดูตัวอย่างแล้วเลือก เพิ่ม.
  13. Choose เพิ่มขั้นตอนแล้วเลือก จัดการแถว.
  14. สำหรับ แปลงเลือก วางรายการซ้ำ.
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
  15. Choose ดูตัวอย่างแล้วเลือก เพิ่ม.
  16. Choose เพิ่มขั้นตอน และเลือก แปลงร่างเอง.
  17. บนเมนูแบบเลื่อนลง ให้เลือก หลาม (แพนด้า).
  18. ป้อนรหัสต่อไปนี้เพื่อใช้ค่าเฉลี่ยของจุดข้อมูลที่มีค่าเวลาเท่ากัน:
    import pandas as pd
    df.loc[:, df.columns != 'patient']=df.loc[:, df.columns != 'patient'].apply(pd.to_numeric)
    df = df.groupby(['patient','DATE_year','DATE_quarter']).mean().round(0).reset_index()

  19. Choose ดูตัวอย่างแล้วเลือก เพิ่ม.
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

เข้าร่วม Patient.csv และข้อสังเกต.csv

ในขั้นตอนนี้ เราแสดงวิธีการดำเนินการรวมที่ซับซ้อนบนชุดข้อมูลอย่างมีประสิทธิภาพและง่ายดายโดยไม่ต้องเขียนโค้ดใดๆ ผ่าน UI อันทรงพลังของ Data Wrangler หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับประเภทการรวมที่รองรับ โปรดดูที่ แปลงข้อมูล.

  1. ทางด้านขวาของ แปลง: Patient.csv, เลือกเครื่องหมายบวกถัดจาก ขั้นตอน และเลือก ร่วมเป็นผู้ขายกับเราที่.
    คุณสามารถดูไฟล์ Patient.csv ที่แปลงแล้วซึ่งอยู่ภายใต้ ชุดข้อมูล ในบานหน้าต่างด้านซ้าย
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
  2. ทางด้านขวาของ แปลง: การสังเกต.csv, คลิกที่ ขั้นตอน เพื่อเริ่มต้นการดำเนินการเข้าร่วม
    ขณะนี้ไฟล์ข้อสังเกตที่แปลงแล้ว.csv อยู่ภายใต้ ชุดข้อมูล ในบานหน้าต่างด้านซ้าย
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
  3. Choose กำหนดค่า.
  4. สำหรับ ประเภทการเข้าร่วมเลือก ภายใน.
  5. สำหรับ ซ้ายเลือก Id.
  6. สำหรับ ขวาเลือก ผู้ป่วย.
  7. Choose ดูตัวอย่างแล้วเลือก เพิ่ม.
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

เพิ่มการแปลงแบบกำหนดเองให้กับชุดข้อมูลที่เข้าร่วม

ในขั้นตอนนี้ เราคำนวณอายุของผู้ป่วยในขณะที่สังเกต นอกจากนี้เรายังวางคอลัมน์ที่ไม่ต้องการอีกต่อไป

  1. เลือกเครื่องหมายบวกถัดจาก เข้าร่วมครั้งแรก และเลือก เพิ่มการแปลง.
  2. เพิ่มการแปลงแบบกำหนดเองใน Pandas:
    df['age'] = df['DATE_year'] - df['BIRTHDATE_year']
    df = df.drop(columns=['BIRTHDATE','DEATHDATE','BIRTHDATE_year','patient'])

  3. Choose ดูตัวอย่างแล้วเลือก เพิ่ม.

เพิ่มการแปลงแบบกำหนดเองเป็น condition.csv

  1. เลือกเครื่องหมายบวกถัดจาก แปลง: condition.csv และเลือก เพิ่มการแปลง.
  2. เพิ่มการแปลงแบบกำหนดเองใน Pandas:
    df = df[df["CODE"].isin(['84114007', '88805009', '59621000', '44054006', '53741008', '449868002', '49436004'])]
    df = df.drop(columns=['DESCRIPTION','ENCOUNTER','STOP'])

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

รหัสในการแปลงก่อนหน้าคือรหัส SNOMED-CT ที่สอดคล้องกับเงื่อนไขต่อไปนี้ ดิ heart failure or chronic congestive heart failure สภาพกลายเป็นฉลาก เราใช้เงื่อนไขที่เหลือเป็นคุณสมบัติในการทำนายภาวะหัวใจล้มเหลว นอกจากนี้เรายังปล่อยคอลัมน์บางคอลัมน์ที่ไม่ต้องการอีกต่อไป

Heart failure: 84114007
Chronic congestive heart failure: 88805009
Hypertension: 59621000
Diabetes: 44054006
Coronary Heart Disease: 53741008
Smokes tobacco daily: 449868002
Atrial Fibrillation: 49436004

  1. ต่อไป มาเพิ่มการแปลงแบบกำหนดเองใน PySpark:
    from pyspark.sql.functions import col, when
    
    heartfailure_df = (
        df.select("patient", "start")
                          .withColumnRenamed("start", "heartfailure")
                       .filter((col("code") == "84114007") | (col("code") == "88805009"))
      )
    
    hypertension_df = (
        df.select("patient", "start")
                       .withColumnRenamed("start", "hypertension")
                       .filter((col("code") == "59621000"))
      )
    
    diabetes_df = (
        df.select("patient", "start")
                       .withColumnRenamed("start", "diabetes")
                       .filter((col("code") == "44054006"))
      )
    
    coronary_df = (
        df.select("patient", "start")
                       .withColumnRenamed("start", "coronary")
                       .filter((col("code") == "53741008"))
      )
    
    smoke_df = (
        df.select("patient", "start")
                       .withColumnRenamed("start", "smoke")
                       .filter((col("code") == "449868002"))
      )
    
    atrial_df = (
        df.select("patient", "start")
                       .withColumnRenamed("start", "atrial")
                       .filter((col("code") == "49436004"))
      )
    
    df = (
        heartfailure_df.join(hypertension_df, ["patient"], "leftouter").withColumn("has_hypertension", when(col("hypertension") < col("heartfailure"), 1).otherwise(0))
        .join(diabetes_df, ["patient"], "leftouter").withColumn("has_diabetes", when(col("diabetes") < col("heartfailure"), 1).otherwise(0))
        .join(coronary_df, ["patient"], "leftouter").withColumn("has_coronary", when(col("coronary") < col("heartfailure"), 1).otherwise(0))
        .join(smoke_df, ["patient"], "leftouter").withColumn("has_smoke", when(col("smoke") < col("heartfailure"), 1).otherwise(0))
        .join(atrial_df, ["patient"], "leftouter").withColumn("has_atrial", when(col("atrial") < col("heartfailure"), 1).otherwise(0))
    )

    เราทำการรวมภายนอกด้านซ้ายเพื่อเก็บรายการทั้งหมดในดาต้าเฟรมหัวใจล้มเหลว คอลัมน์ใหม่ has_xxx คำนวณสำหรับแต่ละเงื่อนไขนอกเหนือจากภาวะหัวใจล้มเหลวตามวันที่เริ่มต้นของเงื่อนไข เราสนใจเฉพาะเงื่อนไขทางการแพทย์ที่บันทึกไว้ก่อนเกิดภาวะหัวใจล้มเหลวและใช้เป็นคุณสมบัติในการทำนายภาวะหัวใจล้มเหลว

  2. เพิ่มในตัว จัดการคอลัมน์ แปลงเพื่อวางคอลัมน์ที่ซ้ำซ้อนที่ไม่ต้องการอีกต่อไป:
    1. hypertension
    2. diabetes
    3. coronary
    4. smoke
    5. atrial
  3. สารสกัด Year และ  Quarter จาก heartfailure คอลัมน์.
    ซึ่งตรงกับความละเอียดที่เราใช้ก่อนหน้านี้ในการแปลงของ observations ชุดข้อมูล
  4. เราควรจะมีทั้งหมด 6 ขั้นตอนสำหรับเงื่อนไข.csv.
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

เข้าร่วม condition.csv กับ dataset ที่เข้าร่วม

ตอนนี้เราทำการ join ใหม่เพื่อเข้าร่วมเงื่อนไข dataset กับ join patients และ observations ชุดข้อมูล

  1. Choose แปลงร่าง: เข้าร่วมครั้งแรก.
  2. เลือกเครื่องหมายบวกแล้วเลือก ร่วมเป็นผู้ขายกับเราที่.
  3. Choose ขั้นตอน ติด แปลง: condition.csv.
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
  4. Choose กำหนดค่า.
  5. สำหรับ ประเภทการเข้าร่วมเลือก ด้านซ้ายด้านนอก.
  6. สำหรับ ซ้ายเลือก Id.
  7. สำหรับ ขวาเลือก ผู้ป่วย.
  8. Choose ดูตัวอย่างแล้วเลือก เพิ่ม.
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

เพิ่มการแปลงไปยังชุดข้อมูลที่เข้าร่วม

ตอนนี้เรารวมชุดข้อมูลทั้งสามชุดแล้ว มาลองใช้การแปลงเพิ่มเติมกัน

  1. เพิ่มการแปลงแบบกำหนดเองต่อไปนี้ใน PySpark ดังนั้น has_heartfailure กลายเป็นคอลัมน์ป้ายกำกับของเรา:
    from pyspark.sql.functions import col, when
    df = (
        df.withColumn("has_heartfailure", when(col("heartfailure").isNotNull(), 1).otherwise(0))
    )

  2. เพิ่มการแปลงแบบกำหนดเองต่อไปนี้ใน PySpark:
    from pyspark.sql.functions import col
    
    df = (
        df.filter(
          (col("has_heartfailure") == 0) | 
          ((col("has_heartfailure") == 1) & ((col("date_year") <= col("heartfailure_year")) | ((col("date_year") == col("heartfailure_year")) & (col("date_quarter") <= col("heartfailure_quarter")))))
        )
    )

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

  3. วางคอลัมน์ที่ซ้ำซ้อนที่ไม่ต้องการอีกต่อไป:
    1. Id
    2. DATE_year
    3. DATE_quarter
    4. patient
    5. heartfailure
    6. heartfailure_year
    7. heartfailure_quarter
  4. เกี่ยวกับ การวิเคราะห์ แท็บสำหรับ ประเภทการวิเคราะห์¸ เลือก สรุปตาราง.
    การสแกนอย่างรวดเร็วผ่านการสรุปแสดงให้เห็นว่า MARITAL คอลัมน์มีข้อมูลที่ขาดหายไป
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
  5. เลือก ข้อมูล แท็บและเพิ่มขั้นตอน
  6. Choose จัดการที่หายไป.
  7. สำหรับ แปลงเลือก เติมขาด.
  8. สำหรับ คอลัมน์อินพุตเลือก สมรส.
  9. สำหรับ เติมค่าป้อน S.
    กลยุทธ์ของเราคือสมมติว่าผู้ป่วยเป็นโสดหากสถานภาพการสมรสมีค่าขาดหายไป คุณสามารถมีกลยุทธ์ที่แตกต่างออกไป
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
  10. Choose ดูตัวอย่างแล้วเลือก เพิ่ม.
  11. เติมค่าที่ขาดหายไปเป็น 0 สำหรับ has_hypertension, has_diabetes, has_coronary, has_smoke, has_atrial.

Marital และ Gender เป็นตัวแปรหมวดหมู่ Data Wrangler มีฟังก์ชันในตัวเพื่อเข้ารหัสตัวแปรตามหมวดหมู่

  1. เพิ่มขั้นตอนและเลือก เข้ารหัสหมวดหมู่.
  2. สำหรับ แปลงเลือก การเข้ารหัสแบบร้อนครั้งเดียว.
  3. สำหรับ คอลัมน์อินพุตเลือก สมรส.
  4. สำหรับ สไตล์เอาต์พุตเลือก คอลัมน์.
    ลักษณะเอาต์พุตนี้สร้างค่าที่เข้ารหัสในคอลัมน์ที่แยกจากกัน
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
  5. Choose ดูตัวอย่างแล้วเลือก เพิ่ม.
  6. ทำซ้ำขั้นตอนเหล่านี้สำหรับ เพศ คอลัมน์.

การเข้ารหัสแบบร้อนครั้งเดียวแบ่งคอลัมน์สมรสออกเป็น Marital_M (แต่งงานแล้ว) และ Marital_S (เดี่ยว) และแบ่งคอลัมน์เพศเป็น Gender_M (ชาย) และ Gender_F (หญิง). เพราะ Marital_M และ Marital_S แยกออกจากกัน (ตามที่เป็นอยู่ Gender_M และ Gender_F) เราสามารถวางหนึ่งคอลัมน์เพื่อหลีกเลี่ยงคุณสมบัติที่ซ้ำซ้อน

  1. หล่น Marital_S และ Gender_F.

คุณสมบัติตัวเลข เช่น systolic อัตราการเต้นของหัวใจ และอายุ มีหน่วยมาตรฐานที่แตกต่างกัน สำหรับตัวแบบที่ใช้การถดถอยเชิงเส้น เราต้องทำให้คุณสมบัติตัวเลขเหล่านี้เป็นมาตรฐานก่อน มิฉะนั้น คุณลักษณะบางอย่างที่มีค่าสัมบูรณ์สูงกว่าอาจมีข้อได้เปรียบที่ไม่สมเหตุสมผลเหนือคุณลักษณะอื่นๆ ที่มีค่าสัมบูรณ์ต่ำกว่าและส่งผลให้ประสิทธิภาพของแบบจำลองต่ำ Data Wrangler มีตัวปรับขนาด Min-max ในตัวเพื่อทำให้ข้อมูลเป็นมาตรฐาน สำหรับแบบจำลองการจัดประเภทตามแผนผังการตัดสินใจ ไม่จำเป็นต้องทำให้เป็นมาตรฐาน การศึกษาของเราเป็นปัญหาการจำแนกประเภท ดังนั้นเราจึงไม่จำเป็นต้องใช้การปรับให้เป็นมาตรฐาน คลาสที่ไม่สมดุลเป็นปัญหาทั่วไปในการจัดหมวดหมู่ ความไม่สมดุลเกิดขึ้นเมื่อชุดข้อมูลการฝึกมีการกระจายคลาสที่เบ้อย่างรุนแรง ตัวอย่างเช่น เมื่อชุดข้อมูลของเรามีผู้ป่วยที่ไม่มีภาวะหัวใจล้มเหลวมากกว่าผู้ป่วยที่มีภาวะหัวใจล้มเหลวอย่างไม่เป็นสัดส่วน อาจทำให้แบบจำลองมีอคติต่อการทำนายว่าไม่มีภาวะหัวใจล้มเหลวและทำงานได้ไม่ดี Data Wrangler มีฟังก์ชันในตัวเพื่อจัดการกับปัญหา

  1. เพิ่มการแปลงแบบกำหนดเองใน Pandas เพื่อแปลงประเภทข้อมูลของคอลัมน์จากประเภท "object" เป็นประเภทตัวเลข:
    import pandas as pd
    df=df.apply(pd.to_numeric)

  2. เลือก การวิเคราะห์ แถบ
  3. สำหรับ ประเภทการวิเคราะห์¸ เลือก Histogram.
  4. สำหรับ แกน Xเลือก has_heartfailure.
  5. Choose ดูตัวอย่าง.
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
    เห็นได้ชัดว่าเรามีคลาสที่ไม่สมดุล (มีจุดข้อมูลที่มีป้ายกำกับว่าไม่มีภาวะหัวใจล้มเหลวมากกว่าจุดข้อมูลที่ระบุว่าเป็นภาวะหัวใจล้มเหลว)
  6. กลับไปที่ ข้อมูล แท็บ เลือก เพิ่มขั้นตอน และเลือก ข้อมูลยอดคงเหลือ.
  7. สำหรับ คอลัมน์เป้าหมายเลือก has_heartfailure.
  8. สำหรับ อัตราส่วนที่ต้องการป้อน 1.
  9. สำหรับ แปลงเลือก สโมต.
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
    SMOTE ย่อมาจากเทคนิคการสุ่มตัวอย่างมากเกินไปของผู้ถือหุ้นส่วนน้อยสังเคราะห์ เป็นเทคนิคในการสร้างอินสแตนซ์ของชนกลุ่มน้อยใหม่และเพิ่มลงในชุดข้อมูลเพื่อให้เกิดความสมดุลของคลาส ดูรายละเอียดได้ที่ SMOTE: เทคนิคการสุ่มตัวอย่างมากเกินไปของชนกลุ่มน้อยสังเคราะห์.
  10. Choose ดูตัวอย่างแล้วเลือก เพิ่ม.
  11. ทำซ้ำการวิเคราะห์ฮิสโตแกรมในขั้นตอนที่ 20-23 ผลที่ได้คือคลาสที่สมดุล
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

เห็นภาพการรั่วไหลของเป้าหมายและความสัมพันธ์ของคุณลักษณะ

ต่อไป เราจะทำการวิเคราะห์ด้วยภาพบางส่วนโดยใช้ชุดเครื่องมือที่สมบูรณ์ของประเภทการวิเคราะห์ที่รองรับ ML ขั้นสูงของ Data Wrangler อันดับแรก เราดูที่การรั่วไหลของเป้าหมาย การรั่วไหลของเป้าหมายเกิดขึ้นเมื่อข้อมูลในชุดข้อมูลการฝึกมีความสัมพันธ์อย่างยิ่งกับป้ายกำกับเป้าหมาย แต่ไม่มีข้อมูลในโลกแห่งความเป็นจริงในเวลาอนุมาน

  1. เกี่ยวกับ แท็บการวิเคราะห์สำหรับ ประเภทการวิเคราะห์¸ เลือก เป้าหมายรั่ว.
  2. สำหรับ ประเภทของปัญหาเลือก การจัดหมวดหมู่.
  3. สำหรับ เป้าเลือก has_heartfailure.
  4. Choose ดูตัวอย่าง.
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
    จากการวิเคราะห์พบว่า hr คือเป้าหมายรั่วไหล เราจะปล่อยมันไปในขั้นตอนต่อไป age ถูกตั้งค่าสถานะการรั่วไหลของเป้าหมาย มีเหตุผลที่จะกล่าวว่าอายุของผู้ป่วยจะสามารถใช้ได้ในช่วงเวลาอนุมาน ดังนั้นเราจึงคงอายุไว้เป็นคุณลักษณะ Systolic และ diastolic ยังถูกระบุว่าเป็นเป้าหมายที่รั่วไหล เราคาดว่าจะมีการวัดสองครั้งในช่วงเวลาอนุมาน ดังนั้นเราจึงเก็บไว้เป็นคุณลักษณะ
  5. Choose เพิ่ม เพื่อเพิ่มการวิเคราะห์

จากนั้นเราดูความสัมพันธ์ของคุณสมบัติ เราต้องการเลือกคุณสมบัติที่สัมพันธ์กับเป้าหมายแต่ไม่สัมพันธ์กันระหว่างกัน

  1. เกี่ยวกับ แท็บการวิเคราะห์สำหรับ ประเภทการวิเคราะห์¸ เลือก ความสัมพันธ์ของคุณลักษณะ.
  2. สำหรับ ประเภทความสัมพันธ์¸ เลือก เชิงเส้น.
  3. Choose ดูตัวอย่าง.
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

คะแนนสัมประสิทธิ์บ่งบอกถึงความสัมพันธ์ที่แข็งแกร่งระหว่างคู่ต่อไปนี้:

  • systolic และ diastolic
  • bmi และ age
  • has_hypertension และ has_heartfailure (ฉลาก)

สำหรับคุณสมบัติที่มีความสัมพันธ์กันอย่างมาก เมทริกซ์จะแปลงกลับทางการคำนวณได้ยาก ซึ่งอาจนำไปสู่การประมาณค่าที่ไม่เสถียรเชิงตัวเลข เพื่อลดความสัมพันธ์ เราสามารถลบหนึ่งรายการออกจากคู่ เราปล่อย diastolic และ bmi และเก็บ systolic และ age ในขั้นตอนต่อไป

วางคอลัมน์ diastolic และ bmi

เพิ่มขั้นตอนการแปลงเพิ่มเติมเพื่อปล่อย hr, diastolic และ bmi คอลัมน์ที่ใช้การแปลงในตัว

สร้างรายงานคุณภาพข้อมูลและข้อมูลเชิงลึก

AWS เมื่อเร็วๆ นี้ ประกาศ ฟีเจอร์รายงานคุณภาพข้อมูลและข้อมูลเชิงลึกใหม่ใน Data Wrangler รายงานนี้จะตรวจสอบคุณภาพข้อมูลโดยอัตโนมัติและตรวจจับความผิดปกติในข้อมูลของคุณ นักวิทยาศาสตร์ข้อมูลและวิศวกรข้อมูลสามารถใช้เครื่องมือนี้เพื่อนำความรู้โดเมนไปใช้อย่างมีประสิทธิภาพและรวดเร็วในการประมวลผลชุดข้อมูลสำหรับการฝึกอบรมโมเดล ML ขั้นตอนนี้เป็นทางเลือก ในการสร้างรายงานนี้ในชุดข้อมูลของเรา ให้ทำตามขั้นตอนต่อไปนี้:

  1. เกี่ยวกับ การวิเคราะห์ แท็บสำหรับ ประเภทการวิเคราะห์เลือก รายงานคุณภาพข้อมูลและข้อมูลเชิงลึก.
  2. สำหรับ คอลัมน์เป้าหมายเลือก has_heartfailure.
  3. สำหรับ ประเภทปัญหาให้เลือก การจัดหมวดหมู่.
  4. Choose สร้างบัญชีตัวแทน.
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

ภายในไม่กี่นาที จะสร้างรายงานพร้อมข้อมูลสรุป ภาพ และคำแนะนำ

สร้างการวิเคราะห์แบบจำลองด่วน

เราได้เตรียมข้อมูล ทำความสะอาด และวิศวกรรมคุณลักษณะเสร็จเรียบร้อยแล้ว Data Wrangler มีฟังก์ชันในตัวที่ให้ค่าประมาณคร่าวๆ ของคุณภาพที่คาดการณ์ไว้และพลังการทำนายของฟีเจอร์ในชุดข้อมูลของเรา

  1. เกี่ยวกับ การวิเคราะห์ แท็บสำหรับ ประเภทการวิเคราะห์¸ เลือก โมเดลด่วน.
  2. สำหรับ ฉลากเลือก has_heartfailure.
  3. Choose ดูตัวอย่าง.
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

ตามการวิเคราะห์ Quick Model ของเรา เราจะเห็นคุณสมบัติ has_hypertension มีคะแนนความสำคัญด้านคุณลักษณะสูงสุดในบรรดาคุณลักษณะทั้งหมด

ส่งออกข้อมูลและฝึกโมเดล

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

  1. เลือกเครื่องหมายบวกถัดจากช่องสุดท้ายในโฟลว์ข้อมูลแล้วเลือก เพิ่มปลายทาง.
  2. Choose Amazon S3.
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
  3. ป้อน ชื่อชุดข้อมูล. สำหรับ ที่ตั้งของ Amazon S3เลือกบัคเก็ต S3 จากนั้นเลือก เพิ่มปลายทาง.
  4. Choose สร้างงาน เพื่อเริ่มงานการประมวลผล PySpark แบบกระจายเพื่อดำเนินการแปลงและส่งออกข้อมูลไปยังบัคเก็ต S3 ปลายทาง
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
    ขึ้นอยู่กับขนาดของชุดข้อมูล ตัวเลือกนี้ช่วยให้เรากำหนดค่าคลัสเตอร์ได้อย่างง่ายดายและปรับขนาดตามแนวนอนในแบบไม่มีโค้ด เราไม่ต้องกังวลเกี่ยวกับการแบ่งพาร์ติชั่นชุดข้อมูลหรือการจัดการคลัสเตอร์และภายใน Spark ทั้งหมดนี้ได้รับการดูแลโดยอัตโนมัติจาก Data Wrangler
  5. ในบานหน้าต่างด้านซ้าย เลือก ถัดไป 2. กำหนดค่างาน
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
  6. จากนั้นเลือก วิ่ง.
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

อีกทางหนึ่ง เราสามารถส่งออกเอาต์พุตที่แปลงแล้วไปยัง S3 ผ่าน Jupyter Notebook ด้วยวิธีนี้ Data Wrangler จะสร้างโน้ตบุ๊ก Jupyter โดยอัตโนมัติพร้อมรหัสทั้งหมดที่จำเป็นในการเริ่มงานการประมวลผลเพื่อใช้ขั้นตอนการไหลของข้อมูล (สร้างโดยใช้ตัวอย่าง) กับชุดข้อมูลทั้งหมดที่มีขนาดใหญ่กว่า และใช้ชุดข้อมูลที่แปลงแล้วเป็นคุณสมบัติที่จะเริ่มต้น ออกจากงานฝึกอบรมในภายหลัง รหัสสมุดบันทึกสามารถเรียกใช้ได้ทันทีโดยมีหรือไม่มีการเปลี่ยนแปลง มาดูขั้นตอนเกี่ยวกับวิธีการทำสิ่งนี้ผ่าน UI ของ Data Wrangler

  1. เลือกเครื่องหมายบวกถัดจากขั้นตอนสุดท้ายในโฟลว์ข้อมูลแล้วเลือก ส่งออกไปที่.
  2. Choose Amazon S3 (ผ่าน Jupyter Notebook).
    วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
  3. จะเปิดแท็บใหม่โดยอัตโนมัติด้วยสมุดบันทึก Jupyter
  4. ในสมุดบันทึก Jupyter ให้ค้นหาเซลล์ใน (ไม่บังคับ) ขั้นตอนต่อไป ส่วนและการเปลี่ยนแปลง run_optional_steps ราคาเริ่มต้นที่ False ไปยัง True.
    ขั้นตอนเสริมที่เปิดใช้งานในโน้ตบุ๊กดำเนินการดังต่อไปนี้:
    • ฝึกโมเดลโดยใช้ XGBoost
      วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.
  5. กลับไปที่ด้านบนของสมุดบันทึกและบน วิ่ง เมนูให้เลือก เรียกใช้ทุกเซลล์.

หากคุณใช้โน้ตบุ๊กที่สร้างขึ้นตามที่เป็นอยู่ ระบบจะเปิดใช้งานการประมวลผล SageMaker ซึ่งจะขยายการประมวลผลในอินสแตนซ์ m5.4xlarge สองอินสแตนซ์เพื่อประมวลผลชุดข้อมูลทั้งหมดบนบัคเก็ต S3 คุณสามารถปรับจำนวนอินสแตนซ์และประเภทอินสแตนซ์ตามขนาดชุดข้อมูลและเวลาที่คุณต้องการเพื่อให้งานเสร็จสมบูรณ์

วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

รอจนกว่างานการฝึกจากเซลล์สุดท้ายจะเสร็จสิ้น มันสร้างโมเดลในบัคเก็ต S3 เริ่มต้นของ SageMaker

วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

โมเดลที่ผ่านการฝึกอบรมพร้อมสำหรับการปรับใช้สำหรับการอนุมานแบบเรียลไทม์หรือการแปลงเป็นชุด โปรดทราบว่าเราใช้ข้อมูลสังเคราะห์เพื่อสาธิตฟังก์ชันการทำงานใน Data Wrangler และใช้ข้อมูลที่ประมวลผลแล้วสำหรับโมเดลการฝึกอบรม เนื่องจากข้อมูลที่เราใช้นั้นเป็นข้อมูลสังเคราะห์ ผลการอนุมานจากแบบจำลองที่ได้รับการฝึกอบรมไม่ได้มีไว้สำหรับการวินิจฉัยสภาพทางการแพทย์ในโลกแห่งความเป็นจริงหรือการทดแทนการตัดสินจากแพทย์

คุณยังสามารถส่งออกชุดข้อมูลที่แปลงแล้วไปยัง Amazon S3 ได้โดยตรงโดยเลือก ส่งออก ที่ด้านบนของหน้าแสดงตัวอย่างการแปลง ตัวเลือกการส่งออกโดยตรงจะส่งออกเฉพาะตัวอย่างที่แปลงแล้วหากเปิดใช้งานการสุ่มตัวอย่างระหว่างการนำเข้า ตัวเลือกนี้เหมาะที่สุดหากคุณกำลังจัดการกับชุดข้อมูลที่มีขนาดเล็กลง ข้อมูลที่แปลงแล้วยังสามารถนำเข้าไปยังที่เก็บคุณลักษณะได้โดยตรง สำหรับข้อมูลเพิ่มเติม โปรดดูที่ Amazon SageMaker ฟีเจอร์สโตร์. โฟลว์ข้อมูลยังสามารถส่งออกเป็นไปป์ไลน์ SageMaker ที่สามารถประสานและกำหนดเวลาได้ตามความต้องการของคุณ ดูข้อมูลเพิ่มเติมได้ที่ ท่อส่ง Amazon SageMaker.

สรุป

ในโพสต์นี้ เราแสดงวิธีใช้ Data Wrangler เพื่อประมวลผลข้อมูลด้านการดูแลสุขภาพและดำเนินการวิศวกรรมคุณสมบัติที่ปรับขนาดได้ในรูปแบบที่ใช้เครื่องมือและมีโค้ดน้อย เราได้เรียนรู้วิธีใช้การแปลงในตัวและวิเคราะห์อย่างเหมาะสมในทุกที่ที่ต้องการ รวมกับการแปลงแบบกำหนดเองเพื่อเพิ่มความยืดหยุ่นให้กับเวิร์กโฟลว์การเตรียมข้อมูลของเรา เรายังดำเนินการผ่านตัวเลือกต่างๆ สำหรับการปรับขนาดสูตรการไหลของข้อมูลผ่านงานการประมวลผลแบบกระจาย นอกจากนี้เรายังได้เรียนรู้ว่าข้อมูลที่แปลงแล้วนั้นสามารถใช้อย่างง่ายดายสำหรับการฝึกแบบจำลองเพื่อทำนายภาวะหัวใจล้มเหลวได้อย่างไร

มีฟีเจอร์อื่นๆ อีกมากมายใน Data Wrangler ที่เรายังไม่ได้กล่าวถึงในโพสต์นี้ สำรวจสิ่งที่เป็นไปได้ใน เตรียมข้อมูล ML ด้วย Amazon SageMaker Data Wrangler และเรียนรู้วิธีใช้ประโยชน์จาก Data Wrangler สำหรับวิทยาศาสตร์ข้อมูลหรือโปรเจ็กต์แมชชีนเลิร์นนิงครั้งต่อไปของคุณ


เกี่ยวกับผู้เขียน

วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.ฟอเรสต์ ซัน เป็นสถาปนิกโซลูชันอาวุโสกับทีมงาน AWS Public Sector ในโตรอนโต ประเทศแคนาดา เขาเคยทำงานในอุตสาหกรรมการดูแลสุขภาพและการเงินมาเป็นเวลาสองทศวรรษที่ผ่านมา นอกเวลางาน เขาสนุกกับการตั้งแคมป์กับครอบครัว

วิศวกรรมคุณลักษณะตามขนาดสำหรับการดูแลสุขภาพและวิทยาศาสตร์เพื่อชีวิตด้วย Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.อรุณประศาสน์ เป็นสถาปนิกโซลูชันผู้เชี่ยวชาญด้านปัญญาประดิษฐ์และการเรียนรู้ของเครื่อง (AI/ML) กับ AWS ซึ่งช่วยให้ลูกค้าทั่วโลกปรับขนาดโซลูชัน AI ของตนในระบบคลาวด์ได้อย่างมีประสิทธิภาพและประสิทธิผล ในเวลาว่าง อรุณชอบดูหนังไซไฟและฟังเพลงคลาสสิก

ประทับเวลา:

เพิ่มเติมจาก AWS Machine Learning AWS