تجزیه و تحلیل آماری با Pandas
Pandas به عنوان یک کتابخانه قدرتمند برای دستکاری و تجزیه و تحلیل داده ها در پایتون، طیف گسترده ای از ابزارها را برای انجام تجزیه و تحلیل آماری مختلف بر روی مجموعه داده های شما ارائه می دهد. این به شما امکان می دهد فرضیه ها را آزمایش کنید، روابط بین متغیرها را بررسی کنید و مدل های آماری را برای پیش بینی و درک بهتر داده های خود بسازید.
۱. فرضیه ها را با تست های آماری آزمایش کنید:
-
تست های t:
برای مقایسه میانگین دو گروه نمونه استفاده می شود.
-
ANOVA:
برای مقایسه میانگین بیش از دو گروه نمونه استفاده می شود.
-
آزمون های کای دو:
برای بررسی استقلال بین دو متغیر طبقه بندی شده استفاده می شود.
-
آزمون های همبستگی:
برای اندازه گیری قدرت رابطه بین دو متغیر استفاده می شود.
Python
import pandas as pd
from scipy import stats
# فرضیه: میانگین نمرات امتحان دو گروه دانش آموز یکسان است
data = pd.DataFrame({"گروه": ["A", "A", "A", "B", "B", "B"], "نمره": [۹۰, ۸۵, ۹۲, ۸۸, ۹۱, ۸۹]})
t_statistic, p_value = stats.ttest_ind(data["نمره"][data["گروه"] == "A"], data["نمره"][data["گروه"] == "B"])
if p_value < ۰.۰۵:
print("میانگین نمرات دو گروه به طور معنی داری متفاوت است.")
else:
print("تفاوت معنی داری در میانگین نمرات دو گروه وجود ندارد.")
۲. روابط بین متغیرها را بررسی کنید:
- همبستگی: ضریب همبستگی پیرسون را برای اندازه گیری قدرت و جهت رابطه خطی بین دو متغیر عددی محاسبه کنید.
Python
data = pd.DataFrame({"X": [۱, ۲, ۳, ۴, ۵], "Y": [۲, ۴, ۵, ۴, ۵]})
correlation = stats.pearsonr(data["X"], data["Y"])[۰]
if correlation > ۰:
print("رابطه مثبت بین X و Y وجود دارد.")
elif correlation < ۰:
print("رابطه منفی بین X و Y وجود دارد.")
else:
print("هیچ رابطه ای بین X و Y وجود ندارد.")
- رگرسیون خطی: مدلی برای پیش بینی مقادیر یک متغیر وابسته (Y) بر اساس مقادیر یک یا چند متغیر مستقل (X) بسازید.
Python
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(data[["X"]], data["Y"])
print(f"معادله رگرسیون: Y = {model.coef_[۰]} * X + {model.intercept_}")
۳. مدل های آماری را برای پیش بینی بسازید:
- طبقه بندی: مدل هایی را برای پیش بینی اینکه یک نقطه داده به کدام دسته از دسته های از پیش تعریف شده تعلق دارد، آموزش دهید.
- رگرسیون: مدل هایی را برای پیش بینی مقادیر عددی آموزش دهید.
Python
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import GaussianNB
# مجموعه داده را به داده های آموزشی و آزمایشی تقسیم کنید
X = data[["X", "Y"]]
y = data["Z"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=۰.۲)
# مدل طبقه بندی کننده را آموزش دهید
model = GaussianNB()
model.fit(X_train, y_train)
# پیش بینی ها را روی داده های آزمایشی انجام دهید
y_pred = model.predict(X_test)
# دقت مدل را ارزیابی کنید
from sklearn.metrics import accuracy_score
accuracy = accuracy_score(y_test, y_pred)
print(f"دقت مدل: {accuracy:.۲f}")
۴. نکات:
- قبل از انجام هر گونه تجزیه و تحلیل آماری، داده های خود را به دقت بررسی کنید تا از صحت و کامل بودن آنها اطمینان حاصل کنید.
- **از نمودارها و گراف ها برای تجسم داده ها و مشاهده الگوها استفاده