The Misgeneralization Mind – Telegram
The Misgeneralization Mind
154 subscribers
208 photos
14 videos
40 files
109 links
اینجا چیزایی که برام جالب باشه رو میذارم.

ناشناس:
https://news.1rj.ru/str/BiChatBot?start=sc-6e66d9fc9f
Download Telegram
🔸 برای تحلیل دو متغیره، correlation وجود دارد. به ما این قابلیت رو میده که بتونیم بفهمیم کدوم دوتا متغیر با همدیگه رابطه خطی مستقیم دارن. correlation مثبت یعنی با زیاد شدن یک متغیر، یک متغیر دیگه نیز زیاد بشه و بالعکس. correlation عددی بین مثبت یک و منفی یک میباشد. correlation رابطه خطی را نشان میدهد.
اگر مقدار corr صفر باشد، یعنی دو ستون مد نظر هیچ ارتباطی با یکدیگر ندارند.

🔴 رسم correlation روی مجموعه داده:
data.corr()


———————————————————————-

🔷 بخش Data Visualization

یکی از کتابخانه هایی که در این بخش استفاده میکنیم، Matplotlib میباشد.
import matplotlib.pyplot as plt


🔻 رسم نمودار histogram:
plt.hist(df["comb08"])


🔸 مشخص کردن لیبل برای X و Y، و مشخص کردن noscript:
plt.xlabel("Test X")
plt.ylabel("Test Y")
plt.noscript("Test Title")
plt.show()


🟢 استفاده از subplot:
fig, ax = plt.subplots()
ax.hist(df["comb08"], range=(10, 50), bins=5)


▫️ رسم boxplot (نمایش کمینه و بیشینه، چارک اول و چارک سوم، median یا چارک دوم ستون مورد نظر):
fig, ax = plt.subplots()
ax.boxplot(df["comb08"], label=["All"])
ax.set(noscript="MPG Distribution", ylabel="MPG for vehicles")
برای حذف نویزها از نمودار میتونیم showfliers رو فالس بزاریم:
ax.boxplot(df["comb08"], label=["All"], showfliers=False)


🔸 چارک اول: یک چهارم داده ها کمتر از اون هستند.
🔹 چارک دوم (میانه): نصف داده ها کمتر و نصف داده ها بیشتر از اون هستند.
🔺 چارک سوم: سه چهارم داده ها کمتر از اون هستند.

🟨 با استفاده از چارک اول و چارک سوم میتونیم متوجه بشیم تکرار داده ها کجا متمرکز شده است. معمولا تعداد تکرار بین چارک اول و سوم خیلی زیاد میباشد.
🔸 رسم نمودار خطی ساده:
avg_by_year = df.groupby(["year"], as_index=False).agg({'comb08': 'mean'}).round(2)
fig, ax1 = plt.subplots()
ax1.plot(avg_by_year["year"], avg_by_year["comb08"])


🔻 چند نمونه رسم نمودار با pandas:
avg_by_year.plot(kind="box", noscript="Gas Mileage")

avg_by_year.plot(kind="line", noscript="Gas Mileage")

avg_by_year.plot(kind="bar", noscript="Gas Mileage")

avg_by_year.plot(kind="area", noscript="Gas Mileage")


🟢 کتابخانه دیگری برای بصری سازی داده ها به نام Seaborn وجود دارد. seaborn مبتنی بر matplotlib میباشد. از لحاظ شکل و شمایل و هارمونی رنگی، seaborn به نسبت بقیه بهتر عمل کرده.
import seaborn as sns
sns.set_style("darkgrid")


✔️ رسم catplot در seaborn:
sns.catplot(data=df, 
y='comb08',
x='cylinders',
kind='bar');


🔔 رسم چند نمونه نمودار با seaborn:
sns.displot(data=df, x='fuelCost08', hue='year', aspect=2.5);

sns.displot(data=df, x='fuelCost08', hue='date_range', aspect=2.5);

sns.displot(data=df, x='fuelCost08', col='date_range')

sns.catplot(data=df,
x='date_range',
y='comb08',
kind='box',
showfliers=False);


sns.relplot(data=df, 
x='cylinders',
y='comb08',
col='date_range',
hue='drive',
kind='scatter');
🟣 برای مقایسه اعداد در یک جدول، میتونیم از heatmap استفاده بکنیم.
fuel_class = pd.crosstab(df['class_summary'], 
df['fuel_type_summary'],
values=df['comb08'],
aggfunc='mean')

sns.heatmap(fuel_class)


🟠 نوع دیگری از heatmap با پالت رنگی متفاوت:
sns.heatmap(fuel_class, 
annot=True,
fmt='.0f',
cmap="YlGnBu");


🔴 رسم نمودار با مشخص کردن چند سطر و ستون:
sns.pairplot(df, 
x_vars=['cylinders', 'displ', 'barrels08'],
y_vars=['cylinders', 'displ', 'barrels08'],
hue='date_range')


🗯 نیاز نیست همه‌ی این نمودارها رو حفظ کنیم. فقط دونستن Base نمودارها و این که هرکدوم چه کاری انجام میدن کافیه. برای باقی مراحل میتونیم با سرچ یا استفاده از GPT کد مربوطه رو بنویسیم.