برای استخراج دانش و بینش از دادهها، حوزه علوم داده «Data Science» تحلیل آماری «Statistical Analysis»، یادگیری ماشین «Machine Learning» و برنامهنویسی کامپیوتری را با هم ترکیب میکند. این فرآیند شامل جمعآوری، پاکسازی و تبدیل دادههای ساختارنیافته به شکلی است که قابل تحلیل و تصویرسازی باشد. دانشمندان داده از روشها و ابزارهای مختلفی مانند مدلهای آماری، الگوریتمهای یادگیری ماشین و نرمافزارهای بصریسازی داده برای پردازش و تحلیل دادهها استفاده میکنند. هدف علم داده کشف الگوهایی در دادهها است که میتواند به تصمیمگیری، بهبود فرآیندها و ایجاد فرصتهای جدید کمک کند. این رشته میانرشتهای شامل حوزههایی مانند کسبوکار، مهندسی و علوم اجتماعی است.
پیش پردازش داده ها
پیشپردازش به تبدیلهایی گفته میشود که قبل از وارد کردن داده به الگوریتم روی آن اعمال میشود. پیشپردازش داده تکنیکی است که برای تبدیل دادههای خام به یک مجموعه داده «Dataset» پاک و آماده استفاده میشود. به عبارت دیگر، هر زمان که دادهها از منابع مختلف جمعآوری میشوند، معمولاً در قالبی خام هستند که برای تحلیل مناسب نیست.
لزوم نیاز به پیشپردازش دادهها
برای دستیابی به نتایج بهتر از مدلهای اعمالشده در پروژههای یادگیری ماشین، دادهها باید به فرمت مناسب تبدیل شوند. برخی از مدلهای مشخص یادگیری ماشین به اطلاعات در فرمت خاصی نیاز دارند. بهعنوانمثال، الگوریتم جنگل تصادفی (Random Forest) مقادیر تهی (Null) را پشتیبانی نمیکند، بنابراین برای اجرای این الگوریتم، باید مقادیر تهی از مجموعه دادههای خام اصلی مدیریت شوند.
جنبه دیگر این است که مجموعه داده باید به گونهای قالببندی شود که بتوان بیش از یک الگوریتم یادگیری ماشین یا یادگیری عمیق را روی آن اجرا کرد و بهترین الگوریتم از بین آنها انتخاب شود.
مراحل پیش پردازش داده در پایتون
پیشپردازش داده یکی از مهمترین مراحل در تحلیل داده و یادگیری ماشین است. این مراحل به بهبود کیفیت دادهها و آمادهسازی آنها برای تحلیل یا مدلسازی کمک میکنند. در پایتون، با استفاده از کتابخانههای پایتون مانند NumPy، Pandas، و Scikit-learn میتوان به راحتی عملیات پیشپردازش را انجام داد. مراحل معمول پیشپردازش داده به شرح زیر است:
مرحله ۱: وارد کردن کتابخانههای لازم
# importing libraries import pandas as pd import scipy import numpy as np from sklearn.preprocessing import MinMaxScaler import seaborn as sns import matplotlib.pyplot as plt
مرحله ۲: بارگذاری مجموعه داده
برای بارگذاری مجموعه داده، ابتدا فایل داده را از لینک Diabetes Database دانلود کنید. پس از اطمینان از اینکه فایل در مسیر مناسب ذخیره شده است، میتوانید از کتابخانه Pandas برای خواندن دادهها استفاده کنید.
# Load the dataset df = pd.read_csv('programstore/DataSets/diabetes.csv') print(df.head())
خروجی:
Pregnancies Glucose BloodPressure SkinThickness Insulin BMI ۰ ۶ ۱۴۸ ۷۲ ۳۵ ۰ ۳۳.۶ ۱ ۱ ۸۵ ۶۶ ۲۹ ۰ ۲۶.۶ ۲ ۸ ۱۸۳ ۶۴ ۰ ۰ ۲۳.۳ ۳ ۱ ۸۹ ۶۶ ۲۳ ۹۴ ۲۸.۱ ۴ ۰ ۱۳۷ ۴۰ ۳۵ ۱۶۸ ۴۳.۱ DiabetesPedigreeFunction Age Outcome ۰ ۰.۶۲۷ ۵۰ ۱ ۱ ۰.۳۵۱ ۳۱ ۰ ۲ ۰.۶۷۲ ۳۲ ۱ ۳ ۰.۱۶۷ ۲۱ ۰ ۴ ۲.۲۸۸ ۳۳ ۱
برای بررسی اطلاعات مجموعه داده، از متد info() در کتابخانه Pandas استفاده میکنیم. این متد اطلاعاتی درباره ستونها، تعداد مقادیر غیرتهی، نوع دادهها و اندازه حافظه ارائه میدهد.
df.info()
خروجی:
<class 'pandas.core.frame.DataFrame'> RangeIndex: 768 entries, 0 to 767 Data columns (total 9 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- ۰ Pregnancies 768 non-null int64 ۱ Glucose 768 non-null int64 ۲ BloodPressure 768 non-null int64 ۳ SkinThickness 768 non-null int64 ۴ Insulin 768 non-null int64 ۵ BMI 768 non-null float64 ۶ DiabetesPedigreeFunction 768 non-null float64 ۷ Age 768 non-null int64 ۸ Outcome 768 non-null int64 dtypes: float64(2), int64(7) memory usage: 54.1 KB
همانطور که از اطلاعات بالا مشخص است، مجموعه داده دارای ۹ ستون و ۷۶۸ مقدار در هر ستون است و هیچ مقدار تهی (Null) در دادهها وجود ندارد. برای تأیید، میتوان از متد ()isnull استفاده کرد که مقادیر تهی را در مجموعه داده شناسایی میکند.
df.isnull().sum()
خروجی:
Pregnancies 0 Glucose 0 BloodPressure 0 SkinThickness 0 Insulin 0 BMI 0 DiabetesPedigreeFunction 0 Age 0 Outcome 0 dtype: int64