<jupyter_start><jupyter_text>Değişkenler* SalePrice vs GrLivArea (yaşam alanı m2)* SalePrice vs TotalBsmtSF (bodrum alanı m2)* SalePrice vs OverallQual (kullanılan malzeme)* SalePrice vs YearBuilt (yapım yılı)<jupyter_code>var = 'GrLivArea'
data = pd.concat([df_train['SalePrice'], df_train[var]], axis=1)
data.plot.scatter(x=var, y='SalePrice', ylim=(0,800000));
#scatter plot totalbsmtsf/saleprice
var = 'TotalBsmtSF'
data = pd.concat([df_train['SalePrice'], df_train[var]], axis=1)
data.plot.scatter(x=var, y='SalePrice', ylim=(0,800000));
#scatter plot totalbsmtsf/saleprice
var = 'TotalBsmtSF'
data = pd.concat([df_train['SalePrice'], df_train[var]], axis=1)
data.plot.scatter(x=var, y='SalePrice', ylim=(0,800000), xlim=(0,4000));
#scatter plot OverallQual/saleprice
var = 'OverallQual'
data = pd.concat([df_train['SalePrice'], df_train[var]], axis=1)
data.plot.scatter(x=var, y='SalePrice', ylim=(0,800000));
#box plot overallqual/saleprice
var = 'OverallQual'
data = pd.concat([df_train['SalePrice'], df_train[var]], axis=1)
f, ax = plt.subplots(figsize=(8, 6))
fig = sns.boxplot(x=var, y="SalePrice", data=data)
fig.axis(ymin=0, ymax=800000);
var = 'YearBuilt'
data = pd.concat([df_train['SalePrice'], df_train[var]], axis=1)
f, ax = plt.subplots(figsize=(16, 8))
fig = sns.boxplot(x=var, y="SalePrice", data=data)
fig.axis(ymin=0, ymax=800000);
plt.xticks(rotation=90);
#pairplot (scatterplot style)
sns.set()
cols = ['SalePrice', 'OverallQual', 'GrLivArea', 'GarageCars', 'TotalBsmtSF', 'FullBath', 'YearBuilt']
sns.pairplot(df_train[cols], size = 2.5)
plt.show();
#correlation matrix
corrmat = df_train.corr()
f, ax = plt.subplots(figsize=(12, 9))
sns.heatmap(corrmat, vmax=.8, square=True);
#saleprice correlation matrix
k = 10 #number of variables for heatmap
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)
plt.show()
total = df_train.isnull().sum().sort_values(ascending=False)
percent = (df_train.isnull().sum()/df_train.isnull().count()).sort_values(ascending=False)
missing_data = pd.concat([total, percent], axis=1, keys=['Total', 'Percent'])
missing_data.head(20)
#dealing with missing data
df_train = df_train.drop((missing_data[missing_data['Total'] > 1]).index,1)
df_train = df_train.drop(df_train.loc[df_train['Electrical'].isnull()].index)
df_train.isnull().sum().max() #just checking that there's no missing data missing...<jupyter_output><empty_output><jupyter_text>MinMax Scaling :  * Verinin 0 ile 1 arasında değerler aldığı bir durumdur. Burada dağılım, verinin dağılımı ile benzerdir. Burada ‘outlier’ denilen dışta kalan verilere karşı hassasiyet durumu vardır, bu yüzden bu değerlerin fazla olduğu bir durumda iyi bir performans gösteremeyebilir.<jupyter_code>from sklearn.preprocessing import MinMaxScaler
min_max_scaler = MinMaxScaler()
scaled_df = min_max_scaler.fit_transform(df_train['SalePrice'][:,np.newaxis])
df_sc = pd.DataFrame(scaled_df)
df_sc<jupyter_output><empty_output><jupyter_text>Robust Scaler, * Normalizasyon ile benzer şekilde çalışır. Aykırı değerlere sahip verilerde daha iyi sonuçlar verebilir. Yine veri dağılımı ile benzerlik gösterir ancak aykırı değerler dışarıda kalır. Medyan değeri sonradan kullanılmak üzere elenir ve değerler 1.ve 3. kartil aralığına oturtulur.<jupyter_code>from sklearn.preprocessing import RobustScaler
robust_scaler = RobustScaler()
scaled_df_r = robust_scaler.fit_transform(df_train['SalePrice'][:,np.newaxis])
df_sc_r = pd.DataFrame(scaled_df_r)
df_sc_r<jupyter_output><empty_output><jupyter_text>MaxAbs Scaler* Her özelliğin maksimum mutlak değeri 1 olacak şekilde her özelliği ayrı ayrı ölçeklendirir ve dönüştürülür.<jupyter_code>from sklearn.preprocessing import MaxAbsScaler
max_scaler = MaxAbsScaler()
scaled_df_mx = max_scaler.fit_transform(df_train['SalePrice'][:,np.newaxis])
df_sc_mx = pd.DataFrame(scaled_df_mx)
df_sc_mx<jupyter_output><empty_output><jupyter_text>PowerTransformer* Varyansı stabilize etmek ve çarpıklığı en aza indirmek için en uygun ölçeklendirme faktörünü bulur. Yine ortalama değerin 0, standart sapmanın ise 1 değerini aldığı bir metoddur.<jupyter_code>from sklearn.preprocessing import PowerTransformer

transform_power = PowerTransformer()
scaled_df_pt = transform_power.fit_transform(df_train['SalePrice'][:,np.newaxis])
df_sc_pt = pd.DataFrame(scaled_df_pt)
df_sc_pt
#standardizing data
saleprice_scaled = StandardScaler().fit_transform(df_train['SalePrice'][:,np.newaxis]);
low_range = saleprice_scaled[saleprice_scaled[:,0].argsort()][:10]
high_range= saleprice_scaled[saleprice_scaled[:,0].argsort()][-20:]
print('outer range (low) of the distribution:')
print(low_range)
print('\nouter range (high) of the distribution:')
print(high_range)

saleprice_scaled[:,0].argsort()<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.139567764088063, 'fraction_numerical': 0.0191880428196324, 'mean_word_length': 8.504798464491362, 'pattern_counts': {'":': 0, '<': 21, '<?xml version=': 0, '>': 22, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, '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': '5', 'dir': 'jupyter-structured-clean-dedup', 'id': '65757', 'license': 'MIT', 'n_tokens_mistral': 2077, 'n_tokens_neox': 1975, 'n_words': 368, 'path': 'Lecture_Notebooks/.ipynb_checkpoints/W3_Case_1_chckpnt-checkpoint.ipynb', 'repo_name': 'UGURSELIMOZEN/EnerjiSA_DS_Bootcamp', 'size': '4951'}