قیمت خانه- قسمت دوم- EDA

در قسمت قبل تا سر بررسی وضعیت داده های پیوسته پیش رفتیم و دیدیم که داده ها نرمال نبودند. در این قسمت کار را با نرمال سازی داده ها شروع میکنیم:

نرمال سازی داده:

کد زیر اسکیل داده ها را تغییر میدهد:

## We will be using logarithmic transformation


for feature in continuous_feature:
    data=dataset.copy()
    if 0 in data[feature].unique():
        pass
    else:
        data[feature]=np.log(data[feature])
        data['SalePrice']=np.log(data['SalePrice'])
        plt.scatter(data[feature],data['SalePrice'])
        plt.xlabel(feature)
        plt.ylabel('SalesPrice')
        plt.title(feature)
        plt.show()

نکته : به دلیل اینکه لگاریتم در صفر تعریف نشده است، مقادیر صفر را pass میکنیم.

outliers

با دستور boxplot متوجه میشویم که پراکندگی داده به چه صورت است و مقادیر outlier در کدام فیچر تعداد بیشتری دارند:

for feature in continuous_feature:
    data=dataset.copy()
    if 0 in data[feature].unique(): #why
        pass
    else:
        data[feature]=np.log(data[feature])
        data.boxplot(column=feature)
        plt.ylabel(feature)
        plt.title(feature)
        plt.show()

متغیرهای categorical

به سادگی متغیرهایی که عددی نباشند را در دسته categorical قرار میدهیم:

categorical_features=[feature for feature in dataset.columns if data[feature].dtypes=='O']
categorical_features

رابطه بین متغیرcategorical و قیمت:

با دستور زیر رابطه بین متغیرهای categorical وقیمت را بدست می آوریمک

for feature in categorical_features:
    data=dataset.copy()
    data.groupby(feature)['SalePrice'].median().plot.bar()
    plt.xlabel(feature)
    plt.ylabel('SalePrice')
    plt.title(feature)
    plt.show()

قسمت سوم – feature engineerig

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.