یادگیری ماشینی (ML) بسیاری از صنایع را با سرعتی بی سابقه مختل می کند. صنعت مراقبتهای بهداشتی و علوم زیستی (HCLS) در سالهای اخیر با استقبال از ML در بسیاری از موارد استفاده برای ارائه مراقبتهای با کیفیت و بهبود نتایج بیمار، تحول سریعی را طی کرده است.
در یک چرخه عمر معمولی ML، مهندسان داده و دانشمندان بیشتر وقت خود را قبل از شروع فرآیند ساخت و آموزش مدل، صرف آمادهسازی دادهها و مراحل مهندسی ویژگی میکنند. داشتن ابزاری که بتواند مانع ورود برای آماده سازی داده ها را کاهش دهد و در نتیجه بهره وری را بهبود بخشد، درخواست بسیار مطلوبی برای این افراد است. Amazon SageMaker Data Rangler این هدف توسط AWS ساخته شده است تا منحنی یادگیری را کاهش دهد و متخصصان داده را قادر می سازد تا آماده سازی داده ها، تمیز کردن، و وظایف مهندسی ویژگی ها را با تلاش و زمان کمتر انجام دهند. این یک رابط رابط کاربری گرافیکی با بسیاری از عملکردهای داخلی و ادغام با سایر خدمات AWS مانند سرویس ذخیره سازی ساده آمازون (Amazon S3) و فروشگاه ویژگی آمازون SageMakerو همچنین منابع داده شریک از جمله Snowflake و Databricks.
در این پست، نحوه استفاده از Data Wrangler را برای تهیه دادههای مراقبتهای بهداشتی برای آموزش مدلی برای پیشبینی نارسایی قلبی، با توجه به مشخصات دموگرافیک، شرایط پزشکی قبلی و سابقه نتایج آزمایش آزمایشگاهی نشان میدهیم.
بررسی اجمالی راه حل
راه حل شامل مراحل زیر است:
- یک مجموعه داده مراقبت های بهداشتی را به عنوان ورودی داده رانگلر به دست آورید.
- از توابع تبدیل داخلی Data Wrangler برای تبدیل مجموعه داده استفاده کنید. این شامل رها کردن ستونها، مشخص کردن داده/زمان، پیوستن به مجموعه دادهها، برانگیختن مقادیر گمشده، رمزگذاری متغیرهای طبقهبندی، مقیاس مقادیر عددی، تعادل مجموعه دادهها و موارد دیگر است.
- از تابع تبدیل سفارشی Data Wrangler (Pandas یا کد PySpark) برای تکمیل تبدیلهای اضافی مورد نیاز فراتر از تبدیلهای داخلی و نشان دادن توسعهپذیری Data Wrangler استفاده کنید. این شامل ردیفهای فیلتر، دادههای گروه، قالبهای داده جدید بر اساس شرایط و موارد دیگر است.
- برای انجام تجزیه و تحلیل بصری از توابع تصویرسازی داخلی Data Wrangler استفاده کنید. این شامل نشت هدف، همبستگی ویژگی، مدل سریع و موارد دیگر است.
- از گزینه های صادرات داخلی Data Wrangler برای صادر کردن مجموعه داده های تبدیل شده به Amazon S3 استفاده کنید.
- یک نوت بوک Jupyter را راه اندازی کنید تا از مجموعه داده های تبدیل شده در Amazon S3 به عنوان ورودی برای آموزش یک مدل استفاده کنید.
ایجاد یک مجموعه داده
اکنون که در بیانیه مشکل ML حل و فصل شدهایم، ابتدا به دنبال دستیابی به دادههای مورد نیاز خود هستیم. مطالعات تحقیقاتی مانند پیش بینی نارسایی قلبی ممکن است داده هایی را ارائه دهد که در حال حاضر وضعیت خوبی دارند. با این حال، ما اغلب با سناریوهایی مواجه میشویم که در آن دادهها کاملاً نامرتب هستند و نیاز به پیوستن، پاکسازی و چندین تغییر دیگر دارند که برای حوزه مراقبتهای بهداشتی بسیار خاص هستند قبل از اینکه بتوان از آنها برای آموزش ML استفاده کرد. ما میخواهیم دادههایی را پیدا کنیم یا تولید کنیم که به اندازه کافی نامرتب باشند و شما را در مراحل آمادهسازی آن با استفاده از Data Wrangler راهنمایی کنیم. با در نظر گرفتن این موضوع، ما Synthea را به عنوان ابزاری برای تولید داده های مصنوعی متناسب با هدفمان انتخاب کردیم. سینتیا یک ژنراتور بیمار مصنوعی منبع باز است که تاریخچه پزشکی بیماران مصنوعی را مدل می کند. برای تولید مجموعه داده خود، مراحل زیر را انجام دهید:
- طبق دستورالعمل دستورالعمل ها را دنبال کنید شروع سریع اسناد برای ایجاد یک Amazon SageMaker Studio دامنه و استودیو را راه اندازی کنید.
این یک مرحله پیش نیاز است. اگر Studio قبلاً در حساب شما راه اندازی شده باشد، اختیاری است. - پس از راه اندازی استودیو، در پرتاب کننده برگه ، انتخاب کنید ترمینال سیستم.
این یک جلسه ترمینال را راه اندازی می کند که به شما یک رابط خط فرمان می دهد تا با آن کار کنید. - برای نصب Synthea و تولید مجموعه داده در قالب CSV، دستورات زیر را در جلسه ترمینال راه اندازی شده اجرا کنید:
ما یک پارامتر برای تولید مجموعه داده با اندازه جمعیت 10,000 ارائه می دهیم. توجه داشته باشید که پارامتر اندازه تعداد اعضای زنده جمعیت را نشان می دهد. علاوه بر این، Synthea همچنین داده هایی را برای اعضای مرده جمعیت تولید می کند که ممکن است چند نقطه داده اضافی را در بالای اندازه نمونه مشخص شده اضافه کند.
صبر کنید تا تولید داده کامل شود. این مرحله معمولاً حدود یک ساعت یا کمتر طول می کشد. Synthea مجموعه داده های متعددی از جمله patients
, medications
, allergies
, conditions
، و بیشتر. برای این پست، از سه مجموعه داده به دست آمده استفاده می کنیم:
- بیماران.csv - این مجموعه داده حدود 3.2 مگابایت است و تقریباً شامل 11,000 ردیف از داده های بیمار است (25 ستون شامل شناسه بیمار، تاریخ تولد، جنسیت، آدرس و موارد دیگر)
- condition.csv - این مجموعه داده حدود 47 مگابایت است و تقریباً شامل 370,000 ردیف داده های وضعیت پزشکی است (شش ستون شامل شناسه بیمار، تاریخ شروع وضعیت، کد وضعیت و موارد دیگر)
- observations.csv - این مجموعه داده حدود 830 مگابایت است و تقریباً شامل 5 میلیون ردیف داده مشاهده است (هشت ستون شامل شناسه بیمار، تاریخ مشاهده، کد مشاهده، مقدار و موارد دیگر)
یک رابطه یک به چند بین وجود دارد patients
و conditions
مجموعه داده ها همچنین یک رابطه یک به چند بین وجود دارد patients
و observations
مجموعه داده ها برای فرهنگ لغت داده های دقیق، مراجعه کنید دیکشنری داده فایل CSV.
- برای آپلود مجموعه داده های تولید شده در یک سطل منبع در آمازون S3، دستورات زیر را در جلسه ترمینال اجرا کنید:
Data Wrangler را اجرا کنید
را انتخاب کنید منابع SageMaker در صفحه پیمایش در استودیو و در پروژه ها منو ، انتخاب کنید داده رانگلر برای ایجاد یک جریان داده Data Wrangler. برای اطلاع از مراحل دقیق نحوه راهاندازی Data Wrangler از داخل استودیو، به آن مراجعه کنید با Data Wrangler شروع کنید.
وارد کردن داده
برای وارد کردن اطلاعات خود، مراحل زیر را انجام دهید:
- را انتخاب کنید آمازون S3 و فایل بیماران.csv را در سطل S3 بیابید.
- در جزئیات پنجره، انتخاب کنید اول ک برای نمونه برداری.
- وارد
1100
برای اندازهی نمونه.
در صفحه پیش نمایش، Data Wrangler 100 ردیف اول را از مجموعه داده بیرون می کشد و آنها را به عنوان پیش نمایش فهرست می کند. - را انتخاب کنید وارد كردن.
Data Wrangler 1,100 بیمار اول را از مجموع بیماران (11,000 ردیف) تولید شده توسط Synthea انتخاب می کند و داده ها را وارد می کند. رویکرد نمونهگیری به Data Wrangler فقط دادههای نمونه را پردازش میکند. این ما را قادر می سازد تا جریان داده خود را با مجموعه داده کوچکتری توسعه دهیم، که منجر به پردازش سریعتر و یک حلقه بازخورد کوتاهتر می شود. پس از ایجاد جریان داده، می توانیم دستور العمل توسعه یافته را به a ارسال کنیم پردازش SageMaker کار به مقیاس افقی پردازش برای مجموعه داده کامل یا بزرگتر به صورت توزیع شده. - این روند را برای
conditions
وobservations
مجموعه داده ها- برای
conditions
مجموعه داده، وارد کنید37000
برای اندازهی نمونه، که 1/10 از مجموع 370,000 ردیف تولید شده توسط Synthea است. - برای
observations
مجموعه داده، وارد کنید500000
برای اندازهی نمونه، که 1/10 از کل مشاهدات 5 میلیون ردیف تولید شده توسط Synthea است.
- برای
همانطور که در تصویر زیر نشان داده شده است، باید سه مجموعه داده را ببینید.
داده ها را متحول کنید
تبدیل داده فرآیند تغییر ساختار، ارزش یا قالب یک یا چند ستون در مجموعه داده است. این فرآیند معمولاً توسط یک مهندس داده توسعه مییابد و میتواند برای افرادی با مهارتهای مهندسی داده کوچکتر برای رمزگشایی منطق پیشنهادی برای تبدیل چالش برانگیز باشد. تبدیل دادهها بخشی از فرآیند مهندسی ویژگیهای گستردهتر است و ترتیب صحیح مراحل یکی دیگر از معیارهای مهمی است که باید در هنگام طراحی چنین دستور العملهایی در نظر داشت.
Data Wrangler به گونه ای طراحی شده است که ابزاری با کد پایین برای کاهش مانع ورود برای آماده سازی موثر داده ها باشد. بیش از 300 تبدیل داده از پیش پیکربندی شده برای شما ارائه می شود که می توانید بدون نوشتن حتی یک خط کد یکی را انتخاب کنید. در بخش های بعدی نحوه تبدیل مجموعه داده های وارد شده در Data Wrangler را می بینیم.
رها کردن ستون در بیماران.csv
ابتدا تعدادی ستون را از قسمت رها می کنیم patients
مجموعه داده حذف ستون های اضافی، اطلاعات غیر مرتبط را از مجموعه داده حذف می کند و به ما کمک می کند تا میزان منابع محاسباتی مورد نیاز برای پردازش مجموعه داده و آموزش یک مدل را کاهش دهیم. در این بخش، ستون هایی مانند SSN یا شماره پاسپورت را بر اساس عقل سلیم که این ستون ها ارزش پیش بینی ندارند، حذف می کنیم. به عبارت دیگر، آنها به مدل ما در پیش بینی نارسایی قلبی کمک نمی کنند. مطالعه ما همچنین نگران ستونهای دیگری مانند تأثیر محل تولد یا هزینههای مراقبتهای بهداشتی بر نارسایی قلبی بیمار نیست، بنابراین آنها را نیز حذف میکنیم. ستونهای اضافی را میتوان با اجرای تحلیلهای داخلی مانند نشت هدف، همبستگی ویژگیها، چند خطی بودن و موارد دیگر که در Data Wrangler تعبیه شدهاند، شناسایی کرد. برای جزئیات بیشتر در مورد انواع آنالیزهای پشتیبانی شده، مراجعه کنید تجزیه و تحلیل و تجسم. علاوه بر این، می توانید از گزارش کیفیت داده و بینش برای انجام تجزیه و تحلیل های خودکار روی مجموعه داده ها برای رسیدن به لیستی از ستون های اضافی برای حذف.
- علامت مثبت کناری را انتخاب کنید انواع داده ها برای مجموعه داده بیماران.csv و انتخاب کنید تبدیل را اضافه کنید.
- را انتخاب کنید مرحله اضافه کنید و انتخاب کنید ستون ها را مدیریت کنید.
- برای دگرگون کردنانتخاب کنید رها کردن ستون.
- برای ستون هایی برای رها کردن، ستون های زیر را انتخاب کنید:
SSN
DRIVERS
PASSPORT
PREFIX
FIRST
LAST
SUFFIX
MAIDEN
RACE
ETHNICITY
BIRTHPLACE
ADDRESS
CITY
STATE
COUNTY
ZIP
LAT
LON
HEALTHCARE_EXPENSES
HEALTHCARE_COVERAGE
- را انتخاب کنید پیش نمایش برای بررسی مجموعه داده تبدیل شده، سپس انتخاب کنید اضافه کردن.
شما باید مرحله را ببینید رها کردن ستون در لیست تبدیل های شما
مشخص کردن تاریخ/زمان در بیماران.csv
اکنون از تابع Featurize date/time برای تولید ویژگی جدید استفاده می کنیم Year
از BIRTHDATE
ستون در patients
مجموعه داده ما از ویژگی جدید در مرحله بعدی برای محاسبه سن بیمار در زمان مشاهده استفاده می کنیم.
- در تغییر می کند صفحه شما رها کردن ستون صفحه برای
patients
مجموعه داده، انتخاب کنید مرحله اضافه کنید. - انتخاب تاریخ/زمان را مشخص کنید تبدیل.
- را انتخاب کنید استخراج ستون ها.
- برای ستون های ورودی، ستون را اضافه کنید
BIRTHDATE
. - انتخاب کنید سال و انتخاب را لغو کنید ماه, روز, ساعت, دقیقه, دومین.
- را انتخاب کنید پیش نمایش، پس از آن را انتخاب کنید اضافه کردن.
تبدیل ها را در observations.csv اضافه کنید
Data Wrangler از تبدیل های سفارشی با استفاده از Python (توابع تعریف شده توسط کاربر)، PySpark، Pandas یا PySpark (SQL) پشتیبانی می کند. شما می توانید نوع تبدیل خود را بر اساس آشنایی خود با هر گزینه و اولویت انتخاب کنید. برای سه گزینه آخر، Data Wrangler متغیر را آشکار می کند df
برای اینکه بتوانید به دیتافریم دسترسی داشته باشید و تغییراتی را روی آن اعمال کنید. برای توضیح دقیق و مثال به ادامه مطلب مراجعه کنید تبدیل های سفارشی. در این بخش، سه تبدیل سفارشی را به آن اضافه می کنیم observations
مجموعه داده
- یک تبدیل به observations.csv اضافه کنید و آن را رها کنید
DESCRIPTION
ستون. - را انتخاب کنید پیش نمایش، پس از آن را انتخاب کنید اضافه کردن.
- در تغییر می کند پنجره، انتخاب کنید مرحله اضافه کنید و انتخاب کنید تبدیل سفارشی.
- در منوی کشویی، را انتخاب کنید پایتون (پاندا).
- کد زیر را وارد کنید:
اینها کدهای LONIC هستند که با مشاهدات زیر مطابقت دارند که ما علاقه مندیم از آنها به عنوان ویژگی هایی برای پیش بینی نارسایی قلبی استفاده کنیم:
- را انتخاب کنید پیش نمایش، پس از آن را انتخاب کنید اضافه کردن.
- یک تبدیل برای استخراج اضافه کنید
Year
وQuarter
ازDATE
ستون. - را انتخاب کنید پیش نمایش، پس از آن را انتخاب کنید اضافه کردن.
- را انتخاب کنید مرحله اضافه کنید و انتخاب کنید تبدیل سفارشی.
- در منوی کشویی، را انتخاب کنید پایتون (PySpark).
پنج نوع مشاهدات ممکن است همیشه در یک تاریخ ثبت نشوند. به عنوان مثال، ممکن است یک بیمار در 21 ژانویه به پزشک خانواده خود مراجعه کند و فشار خون سیستولیک، فشار خون دیاستولیک، ضربان قلب و شاخص توده بدن اندازه گیری و ثبت شود. با این حال، یک آزمایش آزمایشگاهی که شامل پلاکتها میشود ممکن است در تاریخ 2 فوریه انجام شود. بنابراین، پیوستن به چارچوبهای داده تا تاریخ مشاهده همیشه امکانپذیر نیست. در اینجا ما دیتافریم ها را بر اساس دانه بندی درشت بر اساس سه ماهه به هم می پیوندیم. - کد زیر را وارد کنید:
- را انتخاب کنید پیش نمایش، پس از آن را انتخاب کنید اضافه کردن.
- را انتخاب کنید مرحله اضافه کنید، پس از آن را انتخاب کنید ردیف ها را مدیریت کنید.
- برای دگرگون کردن، انتخاب کنید موارد تکراری را رها کنید.
- را انتخاب کنید پیش نمایش، پس از آن را انتخاب کنید اضافه کردن.
- را انتخاب کنید مرحله اضافه کنید و انتخاب کنید تبدیل سفارشی.
- در منوی کشویی، را انتخاب کنید پایتون (پاندا).
- کد زیر را برای گرفتن میانگین نقاط داده ای که مقدار زمانی یکسانی دارند وارد کنید:
- را انتخاب کنید پیش نمایش، پس از آن را انتخاب کنید اضافه کردن.
به بیماران.csv و observations.csv بپیوندید
در این مرحله، نحوه اجرای موثر و آسان اتصالات پیچیده را بدون نوشتن کد از طریق رابط کاربری قدرتمند Data Wrangler نشان میدهیم. برای کسب اطلاعات بیشتر در مورد انواع اتصالات پشتیبانی شده، مراجعه کنید تبدیل داده ها.
- در سمت راست تبدیل: بیماران.csv، علامت مثبت کناری را انتخاب کنید مراحل و انتخاب کنید پیوستن.
میتوانید فایل بیماران.csv تبدیلشده را که در زیر فهرست شده است ببینید مجموعه داده ها در سمت چپ - در سمت راست تبدیل: observations.csv، کلیک کنید روی مراحل برای شروع عملیات پیوستن.
فایل observations.csv تبدیل شده اکنون در زیر فهرست شده است مجموعه داده ها در سمت چپ - را انتخاب کنید مجموعه.
- برای به Type بپیوندید، انتخاب کنید داخلی.
- برای ترک کرد، انتخاب کنید Id.
- برای درست، انتخاب کنید بیمار.
- را انتخاب کنید پیش نمایش، پس از آن را انتخاب کنید اضافه کردن.
یک تبدیل سفارشی به مجموعه داده های پیوست شده اضافه کنید
در این مرحله سن بیمار را در زمان مشاهده محاسبه می کنیم. همچنین ستون هایی را که دیگر مورد نیاز نیستند رها می کنیم.
- علامت مثبت کناری را انتخاب کنید 1 پیوستن و انتخاب کنید تبدیل را اضافه کنید.
- یک تبدیل سفارشی در پانداها اضافه کنید:
- را انتخاب کنید پیش نمایش، پس از آن را انتخاب کنید اضافه کردن.
تبدیل های سفارشی را به condition.csv اضافه کنید
- علامت مثبت کناری را انتخاب کنید تبدیل: condition.csv و انتخاب کنید تبدیل را اضافه کنید.
- یک تبدیل سفارشی در پانداها اضافه کنید:
توجه داشته باشید: همانطور که قبلاً نشان دادیم، میتوانید با استفاده از کد سفارشی یا با استفاده از تبدیلهای داخلی ارائهشده توسط Data Wrangler، ستونها را رها کنید. تبدیلهای سفارشی در Data Wrangler این انعطافپذیری را فراهم میکند تا منطق تغییر شکل خود را در قالب قطعههای کد در چارچوبهای پشتیبانیشده بیاورید. این قطعات را می توان بعدا جستجو کرد و در صورت نیاز اعمال کرد.
کدهای تبدیل قبلی کدهای SNOMED-CT هستند که با شرایط زیر مطابقت دارند. این heart failure
or chronic congestive heart failure
شرط تبدیل به برچسب می شود. ما از شرایط باقی مانده به عنوان ویژگی هایی برای پیش بینی نارسایی قلبی استفاده می کنیم. همچنین چند ستون را که دیگر مورد نیاز نیست رها می کنیم.
- بعد، بیایید یک تبدیل سفارشی در PySpark اضافه کنیم:
ما یک اتصال بیرونی سمت چپ انجام میدهیم تا همه ورودیها را در قاب داده نارسایی قلبی نگه داریم. یک ستون جدید
has_xxx
برای هر بیماری غیر از نارسایی قلبی بر اساس تاریخ شروع شرایط محاسبه می شود. ما فقط به شرایط پزشکی که قبل از نارسایی قلبی ثبت شده اند علاقه مند هستیم و از آنها به عنوان ویژگی هایی برای پیش بینی نارسایی قلبی استفاده می کنیم. - داخلی اضافه کنید ستون ها را مدیریت کنید تبدیل برای حذف ستون های اضافی که دیگر مورد نیاز نیستند:
hypertension
diabetes
coronary
smoke
atrial
- عصاره
Year
وQuarter
ازheartfailure
ستون.
این منطبق بر دانه بندی است که قبلاً در تغییر شکل استفاده کردیمobservations
مجموعه داده - در مجموع باید 6 مرحله برای condition.csv داشته باشیم.
شرایط.csv را به مجموعه داده متصل بپیوندید
اکنون یک اتصال جدید برای پیوستن مجموعه داده شرایط به join شده انجام می دهیم patients
و observations
مجموعه داده
- را انتخاب کنید تبدیل: 1st Join.
- علامت مثبت را انتخاب کرده و انتخاب کنید پیوستن.
- را انتخاب کنید مراحل در کنار تبدیل: condition.csv.
- را انتخاب کنید مجموعه.
- برای به Type بپیوندید، انتخاب کنید بیرونی سمت چپ.
- برای ترک کرد، انتخاب کنید Id.
- برای درست، انتخاب کنید بیمار.
- را انتخاب کنید پیش نمایش، پس از آن را انتخاب کنید اضافه کردن.
تبدیل ها را به مجموعه داده های متصل اضافه کنید
اکنون که هر سه مجموعه داده به هم پیوستهایم، اجازه دهید برخی تبدیلهای اضافی را اعمال کنیم.
- تبدیل سفارشی زیر را در PySpark اضافه کنید
has_heartfailure
ستون برچسب ما می شود: - تبدیل سفارشی زیر را در PySpark اضافه کنید:
- ستون های اضافی را که دیگر مورد نیاز نیستند رها کنید:
Id
DATE_year
DATE_quarter
patient
heartfailure
heartfailure_year
heartfailure_quarter
- بر تحلیل و بررسی برگه، برای نوع تحلیلانتخاب کنید خلاصه جدول.
یک اسکن سریع از طریق خلاصه نشان می دهد کهMARITAL
ستون دارای داده های گم شده است. - انتخاب داده ها را برگه و یک مرحله اضافه کنید.
- را انتخاب کنید دسته گم شده.
- برای دگرگون کردن، انتخاب کنید کمبود را پر کنید.
- برای ستون های ورودی، انتخاب کنید ازدواج.
- برای مقدار پر کنید، وارد
S
.
استراتژی ما در اینجا این است که فرض کنیم بیمار مجرد است در صورتی که وضعیت تاهل فاقد ارزش باشد. شما می توانید استراتژی متفاوتی داشته باشید. - را انتخاب کنید پیش نمایش، پس از آن را انتخاب کنید اضافه کردن.
- مقدار از دست رفته را به صورت 0 پر کنید
has_hypertension
,has_diabetes
,has_coronary
,has_smoke
,has_atrial
.
Marital
و Gender
متغیرهای دسته بندی هستند. Data Wrangler یک تابع داخلی برای رمزگذاری متغیرهای دسته بندی دارد.
- یک مرحله اضافه کنید و انتخاب کنید دسته بندی را رمزگذاری کنید.
- برای دگرگون کردن، انتخاب کنید یک کدگذاری داغ.
- برای ستون های ورودی، انتخاب کنید ازدواج.
- برای سبک خروجی، انتخاب کنید ستون.
این سبک خروجی مقادیر کدگذاری شده را در ستون های جداگانه تولید می کند. - را انتخاب کنید پیش نمایش، پس از آن را انتخاب کنید اضافه کردن.
- این مراحل را برای جنس ستون.
رمزگذاری یک داغ ستون Marital را به دو قسمت تقسیم می کند Marital_M
(متاهل) و Marital_S
(تک)، و ستون جنسیت را به تقسیم می کند Gender_M
(مرد) و Gender_F
(مونث). زیرا Marital_M
و Marital_S
متقابلاً منحصر به فرد هستند (همانطور که هستند Gender_M
و Gender_F
، می توانیم یک ستون را رها کنیم تا از ویژگی های اضافی جلوگیری کنیم.
- قطره
Marital_S
وGender_F
.
ویژگی های عددی مانند سیستولیک، ضربان قلب و سن دارای استانداردهای واحد متفاوتی هستند. برای یک مدل مبتنی بر رگرسیون خطی، ابتدا باید این ویژگیهای عددی را عادی کنیم. در غیر این صورت، برخی از ویژگیها با مقادیر مطلق بالاتر ممکن است مزیت غیرقابل توجیهی نسبت به سایر ویژگیها با مقادیر مطلق پایینتر داشته باشند و منجر به عملکرد ضعیف مدل شوند. Data Wrangler دارای مقیاسکننده تبدیل Min-max داخلی برای عادیسازی دادهها است. برای یک مدل طبقه بندی مبتنی بر درخت تصمیم، عادی سازی لازم نیست. مطالعه ما یک مشکل طبقه بندی است، بنابراین نیازی به اعمال نرمال سازی نداریم. کلاس های نامتعادل یک مشکل رایج در طبقه بندی است. عدم تعادل زمانی اتفاق میافتد که مجموعه داده آموزشی حاوی توزیع کلاسی بسیار ناهنجار باشد. به عنوان مثال، وقتی مجموعه دادههای ما به طور نامتناسبی شامل تعداد بیشتری از بیماران بدون نارسایی قلبی نسبت به بیماران مبتلا به نارسایی قلبی است، میتواند باعث شود که مدل نسبت به پیشبینی عدم وجود نارسایی قلبی مغرضانه باشد و عملکرد ضعیفی داشته باشد. Data Wrangler یک عملکرد داخلی برای مقابله با مشکل دارد.
- یک تبدیل سفارشی در پانداها اضافه کنید تا نوع داده ستونها را از نوع شی به نوع عددی تبدیل کنید:
- انتخاب تحلیل و بررسی تب.
- برای نوع تحلیلانتخاب کنید هیستوگرام.
- برای محور X، انتخاب کنید has_heartfailure.
- را انتخاب کنید پیش نمایش.
بدیهی است که ما یک کلاس نامتعادل داریم (نقاط داده ای که به عنوان عدم نارسایی قلبی برچسب گذاری شده اند بیشتر از نقاط داده ای که به عنوان نارسایی قلبی نشان داده شده اند). - بازگشت به داده ها زبانه انتخاب کنید مرحله اضافه کنید و انتخاب کنید داده های موجودی.
- برای ستون هدف، انتخاب کنید has_heartfailure.
- برای نسبت مورد نظر، وارد
1
. - برای دگرگون کردن، انتخاب کنید SMOTE.
SMOTE مخفف عبارت Synthetic Minority Over-sampling Technique است. این تکنیکی برای ایجاد نمونه های اقلیت جدید و افزودن به مجموعه داده برای رسیدن به تعادل کلاس است. برای اطلاعات دقیق مراجعه کنید SMOTE: روش نمونه برداری بیش از حد اقلیت مصنوعی. - را انتخاب کنید پیش نمایش، پس از آن را انتخاب کنید اضافه کردن.
- آنالیز هیستوگرام را در مرحله 20-23 تکرار کنید. نتیجه یک کلاس متعادل است.
نشت هدف و همبستگی ویژگی را تجسم کنید
در مرحله بعد، چند تحلیل بصری را با استفاده از مجموعه ابزار غنی Data Wrangler از انواع تجزیه و تحلیل پیشرفته با پشتیبانی از ML انجام خواهیم داد. ابتدا به نشت هدف نگاه می کنیم. نشت هدف زمانی اتفاق میافتد که دادهها در مجموعه داده آموزشی به شدت با برچسب هدف مرتبط هستند، اما در دادههای دنیای واقعی در زمان استنتاج در دسترس نیستند.
- بر برگه تجزیه و تحلیل، برای نوع تحلیلانتخاب کنید نشت هدف.
- برای نوع مشکل، انتخاب کنید طبقه بندی.
- برای هدف، انتخاب کنید has_heartfailure.
- را انتخاب کنید پیش نمایش.
بر اساس تجزیه و تحلیل،hr
نشتی هدف است. در مرحله بعدی آن را حذف می کنیم.age
یک نشت هدف علامت گذاری شده است. منطقی است که بگوییم سن بیمار در طول زمان استنتاج در دسترس خواهد بود، بنابراین ما سن را به عنوان یک ویژگی حفظ می کنیم.Systolic
وdiastolic
همچنین به عنوان نشت احتمالی هدف علامت گذاری می شوند. ما انتظار داریم که این دو اندازه گیری را در طول زمان استنتاج داشته باشیم، بنابراین آنها را به عنوان ویژگی حفظ می کنیم. - را انتخاب کنید اضافه کردن برای اضافه کردن تجزیه و تحلیل
سپس، به همبستگی ویژگی ها نگاه می کنیم. ما میخواهیم ویژگیهایی را انتخاب کنیم که با هدف مرتبط هستند اما بین خودشان همبستگی ندارند.
- بر برگه تجزیه و تحلیل، برای نوع تحلیلانتخاب کنید همبستگی ویژگی.
- برای Correlation Typeانتخاب کنید خطی.
- را انتخاب کنید پیش نمایش.
نمرات ضرایب نشان دهنده همبستگی قوی بین جفت های زیر است:
systolic
وdiastolic
bmi
وage
has_hypertension
وhas_heartfailure
(برچسب)
برای ویژگی هایی که به شدت همبسته هستند، ماتریس ها از نظر محاسباتی به سختی وارونه می شوند، که می تواند منجر به تخمین های عددی ناپایدار شود. برای کاهش همبستگی، می توانیم به سادگی یکی را از جفت حذف کنیم. رها می کنیم diastolic
و bmi
و نگه داشتن systolic
و age
در مرحله بعدی
ستون های دیاستولیک و bmi را رها کنید
مراحل تبدیل اضافی را برای رها کردن اضافه کنید hr
, diastolic
و bmi
ستون ها با استفاده از تبدیل داخلی.
گزارش کیفیت داده و بینش را ایجاد کنید
AWS اخیرا اعلام کرد ویژگی جدید کیفیت داده و گزارش بینش در Data Wrangler. این گزارش به طور خودکار کیفیت داده ها را تأیید می کند و ناهنجاری ها را در داده های شما تشخیص می دهد. دانشمندان داده و مهندسان داده می توانند از این ابزار برای به کارگیری موثر و سریع دانش دامنه برای پردازش مجموعه داده ها برای آموزش مدل ML استفاده کنند. این مرحله اختیاری است. برای ایجاد این گزارش در مجموعه داده های ما، مراحل زیر را انجام دهید:
- بر تحلیل و بررسی برگه، برای نوع تحلیل، انتخاب کنید گزارش کیفیت داده و بینش.
- برای ستون هدف، انتخاب کنید has_heartfailure.
- برای نوع مشکل، انتخاب کنید طبقه بندی.
- را انتخاب کنید ساختن.
در چند دقیقه، گزارشی با خلاصه، تصاویر و توصیهها ایجاد میکند.
یک تحلیل مدل سریع ایجاد کنید
ما آماده سازی داده ها، تمیز کردن، و مهندسی ویژگی های خود را تکمیل کرده ایم. Data Wrangler یک تابع داخلی دارد که تخمین تقریبی از کیفیت پیشبینیشده مورد انتظار و قدرت پیشبینی ویژگیهای موجود در مجموعه داده ما را ارائه میدهد.
- بر تحلیل و بررسی برگه، برای نوع تحلیلانتخاب کنید مدل سریع.
- برای برچسب، انتخاب کنید has_heartfailure.
- را انتخاب کنید پیش نمایش.
طبق تحلیل مدل سریع ما، میتوانیم این ویژگی را ببینیم has_hypertension
بالاترین امتیاز اهمیت ویژگی را در بین همه ویژگی ها دارد.
داده ها را صادر کنید و مدل را آموزش دهید
اکنون بیایید ویژگیهای آماده ML تبدیل شده را به یک سطل S3 مقصد صادر کنیم و کل خط لوله مهندسی ویژگی را که تا کنون با استفاده از نمونهها ایجاد کردهایم در کل مجموعه داده به صورت توزیع شده مقیاس کنیم.
- علامت مثبت در کنار آخرین کادر در جریان داده را انتخاب کرده و انتخاب کنید مقصد را اضافه کنید.
- را انتخاب کنید آمازون S3.
- را وارد کنید نام مجموعه داده. برای مکان آمازون S3، یک سطل S3 را انتخاب کنید، سپس انتخاب کنید افزودن مقصد.
- را انتخاب کنید ایجاد شغل برای راه اندازی یک کار پردازشی PySpark توزیع شده برای انجام تبدیل و خروجی داده ها به سطل S3 مقصد.
بسته به اندازه مجموعه دادهها، این گزینه به ما امکان میدهد به راحتی خوشه و مقیاس افقی را بدون کد پیکربندی کنیم. لازم نیست نگران پارتیشن بندی مجموعه داده ها یا مدیریت کلاستر و فضای داخلی Spark باشیم. همه اینها به طور خودکار توسط Data Wrangler از ما مراقبت می شود. - در قسمت سمت چپ، انتخاب کنید بعد، 2. کار را پیکربندی کنید.
- سپس انتخاب کنید دویدن.
همچنین میتوانیم خروجی تبدیلشده را از طریق نوتبوک Jupyter به S3 صادر کنیم. با این رویکرد، Data Wrangler به طور خودکار یک نوت بوک Jupyter را با تمام کدهای مورد نیاز برای شروع یک کار پردازشی تولید می کند تا مراحل جریان داده (ایجاد شده با استفاده از یک نمونه) را روی مجموعه داده کامل بزرگتر اعمال کند و از مجموعه داده تبدیل شده به عنوان ویژگی برای شروع کار استفاده کند. بعداً از کار آموزشی خارج شوید. کد نوت بوک را می توان به راحتی با یا بدون ایجاد تغییرات اجرا کرد. بیایید اکنون مراحل نحوه انجام این کار از طریق رابط کاربری Data Wrangler را مرور کنیم.
- علامت مثبت در کنار آخرین مرحله در جریان داده را انتخاب کرده و انتخاب کنید صادرات به.
- را انتخاب کنید Amazon S3 (از طریق Jupyter Notebook).
- به طور خودکار یک برگه جدید با یک نوت بوک Jupyter باز می کند.
- در نوت بوک Jupyter، محل سلول را پیدا کنید (اختیاری) مراحل بعدی بخش و تغییر
run_optional_steps
از جانبFalse
بهTrue
.
مراحل اختیاری فعال شده در نوت بوک موارد زیر را انجام می دهند: - به بالای نوت بوک برگردید و روی دویدن منو ، انتخاب کنید اجرای همه سلول ها.
اگر از نوت بوک تولید شده همانطور که هست استفاده کنید، یک کار پردازشی SageMaker را راه اندازی می کند که پردازش را در دو نمونه m5.4x بزرگ می کند تا مجموعه داده کامل را در سطل S3 پردازش کند. میتوانید تعداد نمونهها و انواع نمونهها را بر اساس اندازه مجموعه داده و زمان مورد نیاز برای تکمیل کار تنظیم کنید.
صبر کنید تا کار آموزش از آخرین سلول کامل شود. یک مدل در سطل S3 پیشفرض SageMaker ایجاد میکند.
مدل آموزش دیده برای استقرار برای استنتاج بلادرنگ یا تبدیل دسته ای آماده است. توجه داشته باشید که ما از داده های مصنوعی برای نشان دادن قابلیت ها در Data Wrangler استفاده کردیم و از داده های پردازش شده برای مدل آموزشی استفاده کردیم. با توجه به اینکه دادههایی که ما استفاده کردیم مصنوعی است، نتیجه استنتاج از مدل آموزشدیده برای تشخیص وضعیت پزشکی در دنیای واقعی یا جایگزینی قضاوت پزشکان نیست.
همچنین می توانید با انتخاب مستقیم داده های تبدیل شده خود را به Amazon S3 صادر کنید صادرات در بالای صفحه پیش نمایش تبدیل. گزینه صادرات مستقیم تنها در صورتی نمونه تبدیل شده را صادر می کند که نمونه برداری در حین واردات فعال شده باشد. اگر با مجموعه داده های کوچکتری سروکار دارید، این گزینه بهترین گزینه است. دادههای تبدیلشده همچنین میتوانند مستقیماً به یک فروشگاه ویژگی وارد شوند. برای اطلاعات بیشتر مراجعه کنید فروشگاه ویژگی آمازون SageMaker. جریان داده همچنین می تواند به عنوان خط لوله SageMaker صادر شود که می تواند مطابق با نیاز شما هماهنگ و برنامه ریزی شود. برای اطلاعات بیشتر ببین خطوط لوله آمازون SageMaker.
نتیجه
در این پست، نحوه استفاده از Data Wrangler برای پردازش دادههای مراقبتهای بهداشتی و انجام مهندسی ویژگیهای مقیاسپذیر را بهصورت ابزار محور و کمکد نشان دادیم. ما یاد گرفتیم که چگونه تبدیلها و تحلیلهای داخلی را در هر کجا که لازم است به درستی اعمال کنیم و آن را با تبدیلهای سفارشی ترکیب کنیم تا انعطافپذیری بیشتری به گردش کار آمادهسازی دادههایمان اضافه کنیم. ما همچنین گزینههای مختلف را برای مقیاسبندی دستور جریان داده از طریق کارهای پردازش توزیع شده بررسی کردیم. ما همچنین یاد گرفتیم که چگونه داده های تبدیل شده را می توان به راحتی برای آموزش مدلی برای پیش بینی نارسایی قلبی استفاده کرد.
بسیاری از ویژگی های دیگر در Data Wrangler وجود دارد که در این پست به آنها اشاره نکرده ایم. آنچه در آن امکان پذیر است را کاوش کنید داده های ML را با Amazon SageMaker Data Wrangler آماده کنید و یاد بگیرید که چگونه از Data Wrangler برای پروژه بعدی علم داده یا یادگیری ماشین خود استفاده کنید.
درباره نویسنده
فارست سان یک معمار ارشد راه حل با تیم بخش عمومی AWS در تورنتو، کانادا است. او در دو دهه گذشته در صنایع بهداشتی و مالی کار کرده است. خارج از محل کار از کمپینگ با خانواده لذت می برد.
آرونپراسات شانکار یک معمار راه حل های تخصصی هوش مصنوعی و یادگیری ماشین (AI/ML) با AWS است که به مشتریان جهانی کمک می کند راه حل های هوش مصنوعی خود را به طور موثر و کارآمد در فضای ابری مقیاس کنند. آرون در اوقات فراغت خود از تماشای فیلم های علمی تخیلی و گوش دادن به موسیقی کلاسیک لذت می برد.
- AI
- آی هنر
- مولد هنر ai
- ربات ai
- آمازون SageMaker
- Amazon SageMaker Data Rangler
- هوش مصنوعی
- گواهی هوش مصنوعی
- هوش مصنوعی در بانکداری
- ربات هوش مصنوعی
- ربات های هوش مصنوعی
- نرم افزار هوش مصنوعی
- آموزش ماشین AWS
- بلاکچین
- کنفرانس بلاک چین ai
- coingenius
- هوش مصنوعی محاوره ای
- کنفرانس کریپتو ai
- دل-ه
- یادگیری عمیق
- گوگل ai
- فراگیری ماشین
- افلاطون
- افلاطون آی
- هوش داده افلاطون
- بازی افلاطون
- PlatoData
- بازی پلاتو
- مقیاس Ai
- نحو
- زفیرنت