مصورسازی دادهها با Plotly در پایتون: راهنمای جامع برای علم داده و یادگیری ماشین
مصورسازی دادهها یکی از مهمترین مراحل در فرآیند علم داده و یادگیری ماشین است. توانایی ارائه اطلاعات پیچیده به صورت بصری و قابل فهم، به درک بهتر الگوها، روندها و ناهنجاریها کمک میکند. Plotly یک کتابخانه قدرتمند پایتون برای ایجاد نمودارهای تعاملی و با کیفیت بالا است که به طور گسترده در این زمینه مورد استفاده قرار میگیرد. این مقاله به بررسی عمیق Plotly، قابلیتهای آن و نحوه استفاده از آن در پروژههای علم داده و یادگیری ماشین میپردازد.
مقدمهای بر Plotly
Plotly یک کتابخانه پایتون با منبع باز است که امکان ایجاد انواع مختلف نمودارها، از جمله نمودارهای خطی، پراکندگی، هیستوگرام، نمودارهای میلهای، نمودارهای جعبهای، نمودارهای سه بعدی و بسیاری دیگر را فراهم میکند. Plotly به دلیل تعاملی بودن نمودارهایش شناخته میشود. کاربران میتوانند با بزرگنمایی، کوچکنمایی، حرکت دادن محورها و مشاهده جزئیات بیشتر، دادهها را به طور عمیقتری بررسی کنند. Plotly همچنین از فرمتهای مختلف خروجی، از جمله HTML، PNG، JPEG، PDF و SVG پشتیبانی میکند.
نصب و راهاندازی Plotly
نصب Plotly بسیار ساده است و میتوان آن را با استفاده از pip انجام داد:
pip install plotly
همچنین، برای استفاده از برخی ویژگیهای پیشرفتهتر، ممکن است نیاز به نصب کتابخانههای دیگری مانند `kaleido` برای ذخیره نمودارها به صورت تصاویر ثابت داشته باشید:
pip install kaleido
نمودارهای پایه با Plotly
بیایید با ایجاد چند نمودار پایه شروع کنیم تا با نحوه کار Plotly آشنا شویم.
نمودار خطی
نمودار خطی برای نمایش روند تغییرات یک متغیر در طول زمان یا در برابر متغیر دیگر استفاده میشود.
import plotly.graph_objects as go fig = go.Figure(data=go.Scatter(x=[1, 2, 3, 4, 5], y=[2, 4, 1, 3, 5])) fig.show()
نمودار پراکندگی
نمودار پراکندگی برای نمایش رابطه بین دو متغیر استفاده میشود.
import plotly.graph_objects as go fig = go.Figure(data=go.Scatter(x=[1, 2, 3, 4, 5], y=[2, 4, 1, 3, 5], mode='markers')) fig.show()
نمودار میلهای
نمودار میلهای برای مقایسه مقادیر مختلف استفاده میشود.
import plotly.graph_objects as go fig = go.Figure(data=go.Bar(x=['A', 'B', 'C', 'D'], y=[3, 6, 2, 5])) fig.show()
سفارشیسازی نمودارها
Plotly امکان سفارشیسازی گستردهای را برای نمودارها فراهم میکند. میتوان عنوان نمودار، برچسب محورها، رنگها، فونتها و بسیاری از ویژگیهای دیگر را تغییر داد.
import plotly.graph_objects as go
fig = go.Figure(data=go.Scatter(x=[1, 2, 3, 4, 5], y=[2, 4, 1, 3, 5]))
fig.update_layout(
title='نمودار خطی سفارشی',
xaxis_title='محور X',
yaxis_title='محور Y',
font=dict(
family="Courier New, monospace",
size=18,
color="#7f7f7f"
)
)
fig.show()
نمودارهای پیشرفتهتر
Plotly از انواع نمودارهای پیشرفتهتری نیز پشتیبانی میکند که برای مصورسازی دادههای پیچیدهتر مناسب هستند.
نمودار هیستوگرام
نمودار هیستوگرام برای نمایش توزیع فراوانی یک متغیر استفاده میشود.
import plotly.graph_objects as go import numpy as np data = np.random.randn(1000) fig = go.Figure(data=go.Histogram(x=data)) fig.show()
نمودار جعبهای
نمودار جعبهای برای نمایش خلاصه آماری یک متغیر، از جمله میانه، چارکها و مقادیر پرت استفاده میشود.
import plotly.graph_objects as go import numpy as np data = [np.random.randn(100) for _ in range(3)] fig = go.Figure(data=go.Box(y=data)) fig.show()
نمودارهای سه بعدی
Plotly امکان ایجاد نمودارهای سه بعدی را نیز فراهم میکند که برای مصورسازی دادههای چند متغیره مناسب هستند.
import plotly.graph_objects as go import numpy as np np.random.seed(42) n = 100 x = np.random.randn(n) y = np.random.randn(n) z = np.random.randn(n) fig = go.Figure(data=[go.Scatter3d(x=x, y=y, z=z, mode='markers')]) fig.show()
استفاده از Plotly در علم داده و یادگیری ماشین
Plotly ابزاری قدرتمند برای مصورسازی دادهها در پروژههای علم داده و یادگیری ماشین است. میتوان از آن برای مصورسازی دادههای آموزشی، ارزیابی عملکرد مدلها و ارائه نتایج به ذینفعان استفاده کرد.
مصورسازی دادههای آموزشی
قبل از آموزش یک مدل یادگیری ماشین، مهم است که دادههای آموزشی را به خوبی درک کنیم. Plotly میتواند به ما در این زمینه کمک کند. میتوان از نمودارهای مختلف برای مصورسازی توزیع متغیرها، شناسایی مقادیر پرت و بررسی روابط بین متغیرها استفاده کرد.
ارزیابی عملکرد مدلها
پس از آموزش یک مدل یادگیری ماشین، باید عملکرد آن را ارزیابی کنیم. Plotly میتواند به ما در این زمینه نیز کمک کند. میتوان از نمودارهای مختلف برای مصورسازی معیارهای ارزیابی، مانند دقت، صحت، فراخوانی و امتیاز F1 استفاده کرد. همچنین، میتوان از نمودارهای ROC و AUC برای ارزیابی عملکرد مدلهای طبقهبندی استفاده کرد.
ارائه نتایج به ذینفعان
در نهایت، باید نتایج پروژههای علم داده و یادگیری ماشین را به ذینفعان ارائه دهیم. Plotly میتواند به ما در این زمینه نیز کمک کند. میتوان از نمودارهای تعاملی و با کیفیت بالا برای ارائه نتایج به صورت بصری و قابل فهم استفاده کرد.
Plotly Express
Plotly Express یک رابط سطح بالا برای Plotly است که ایجاد نمودارهای رایج را سادهتر میکند. Plotly Express به طور خودکار بسیاری از جزئیات سفارشیسازی را مدیریت میکند و به کاربران اجازه میدهد تا با کد کمتری نمودارهای پیچیده ایجاد کنند.
import plotly.express as px
import pandas as pd
data = {'x': [1, 2, 3, 4, 5], 'y': [2, 4, 1, 3, 5]}
df = pd.DataFrame(data)
fig = px.scatter(df, x='x', y='y', title='نمودار پراکندگی با Plotly Express')
fig.show()
ذخیره نمودارها
Plotly به شما امکان میدهد نمودارها را در فرمتهای مختلف ذخیره کنید. برای ذخیره به صورت تصویر ثابت، میتوانید از کتابخانه `kaleido` استفاده کنید.
import plotly.graph_objects as go import kaleido fig = go.Figure(data=go.Scatter(x=[1, 2, 3, 4, 5], y=[2, 4, 1, 3, 5])) kaleido.scope.plotly_fig_to_images(fig, scale=2, format='png', output='my_plot.png')
نتیجهگیری
Plotly یک کتابخانه قدرتمند و انعطافپذیر پایتون برای مصورسازی دادهها است. با استفاده از Plotly، میتوان انواع مختلف نمودارها را ایجاد کرد و آنها را به طور کامل سفارشیسازی کرد. Plotly ابزاری ضروری برای متخصصان علم داده و یادگیری ماشین است که به دنبال ارائه اطلاعات پیچیده به صورت بصری و قابل فهم هستند.

بدون دیدگاه