<jupyter_start><jupyter_text>Housing Prices Competition ![](https://storage.googleapis.com/kaggle-competitions/kaggle/5407/media/housesbanner.png)Попросите покупателя жилья описать дом своей мечты, и он, вероятно, не начнет с высоты подвального потолка или близости к железной дороге восток - запад. Но данные этого конкурса игровых площадок доказывают, что на переговоры о цене влияет гораздо больше, чем количество спален или забор из белого штакетника.С 79 объясняющими переменными, описывающими (почти) каждый аспект жилых домов в Эймсе, штат Айова, этот набор данныхставит перед вами задачу предсказать окончательную цену каждого домаНабор данных [тут](https://www.kaggle.com/c/home-data-for-ml-course/overview/evaluation)<jupyter_code>import numpy as np
import pandas as pd
df_train = pd.read_csv('train.csv')
df_test = pd.read_csv('test.csv')
df_train.head()
df_test.head()
df_train.shape, df_test.shape
df_train['SalePrice'].describe()
import matplotlib.pyplot as plt
import seaborn as sns

f, ax = plt.subplots(figsize=(5, 3))
sns.distplot(df_train['SalePrice'])
df_train['SalePrice'] = np.log1p(df_train['SalePrice'])
f, ax = plt.subplots(figsize=(5, 3))
sns.distplot(df_train['SalePrice'])
corrmat = df_train.corr()

f, ax = plt.subplots(figsize=(5,3))
sns.heatmap(corrmat, vmax=.8, square=True)
k = 10

cols = corrmat.nlargest(k, 'SalePrice')['SalePrice'].index
cm = np.corrcoef(df_train[cols].values.T)
sns.set(font_scale=1.25)

hm = sns.heatmap(cm, cbar=True, annot=True, square=True,
                fmt='.2f', annot_kws={'size': 10},
                yticklabels=cols.values, xticklabels=cols.values)
fig, ax = plt.subplots()
ax.scatter(x = df_train['GrLivArea'], y = df_train['SalePrice'])
fig, ax = plt.subplots()
ax.scatter(x = df_train['OverallQual'], y = df_train['SalePrice'])
df_train = df_train.drop((df_train[(df_train['OverallQual'] > 9) & (df_train['SalePrice'] < 220000)].index))
df_train = df_train.reset_index(drop=True)
df_train
total = df_train.isnull().sum().sort_values(ascending=False)
percent = (df_train.isnull().sum() / df_train.isnull().count()).sort_values(ascending=False)
percent_data = percent.head(20)
percent_data.plot(kind='bar')
total<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.1425339366515837, 'fraction_numerical': 0.014027149321266969, 'mean_word_length': 6.249180327868852, 'pattern_counts': {'":': 0, '<': 6, '<?xml version=': 0, '>': 6, 'https://': 2, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '291949', 'license': 'MIT', 'n_tokens_mistral': 910, 'n_tokens_neox': 930, 'n_words': 168, 'path': 'ds/pandas_2.ipynb', 'repo_name': 'asif19930804/datascience', 'size': '2210'}