<jupyter_start><jupyter_text>Label Encoding Sex değişkenini Mean encoding yaparak encode ediniz. Her kategori için Survived değişkeninin ortalamasını kategori adı ile değiştirebilirsiniz. IPUCU: pandas groupby ve map fonksiyonlarını kullanabilirsiniz.<jupyter_code>mean_enc = titanic.copy()
means = mean_enc.Survived.groupby(mean_enc.Sex).mean()
mean_enc["Sex_enc"] = mean_enc.Sex.map(means)
display(mean_enc)<jupyter_output><empty_output><jupyter_text>Bindikleri Yer (Embarked) değişkenini sklearn OneHotEncoder objesini kullanarak encode edin.<jupyter_code>embarked_onehot = titanic.copy()
from sklearn.preprocessing import OneHotEncoder
e = OneHotEncoder(sparse=False)
embarked_onehot.Embarked.fillna(embarked_onehot.Embarked.mode()[0], inplace=True)
encoded = e.fit_transform(embarked_onehot[['Embarked']]).astype(np.uint8)
pd.DataFrame(encoded)
cat = e.categories_[0].tolist()
embarked_ohe = pd.DataFrame(encoded, columns=cat)
embarked_onehot = embarked_onehot.drop(['Embarked'], axis=1)
embarked_onehot = pd.concat([embarked_onehot, embarked_ohe], axis=1, sort=False)
embarked_onehot = embarked_onehot.rename(columns={"C": "Embarked_C", "Q":"Embarked_Q", "S":"Embarked_S"})
display(embarked_onehot)<jupyter_output><empty_output><jupyter_text>Cabin değişkenini sklearn LabelEncoder veya OrdinalEncoder objesini kullanarak encode edin.<jupyter_code>from sklearn.preprocessing import LabelEncoder
cabin_enc = titanic.copy()
cabin_enc['Cabin'] = cabin_enc.Cabin.astype(str)
e = LabelEncoder()
cabin_enc['Cabin_enc'] = e.fit_transform(cabin_enc.Cabin)
display(cabin_enc)<jupyter_output><empty_output><jupyter_text>Outlier Handling Fare değişkeni için boxplot çizdiriniz.<jupyter_code>ax = sns.boxplot(x="Fare", data=titanic, orient='v', width=0.5)
ax2 = sns.boxplot(x="Pclass", y='Fare', data=titanic)<jupyter_output><empty_output><jupyter_text>Fare değişkeninedeki outlier değerleri Z-Score kullanarak tespit ediniz, sınır değerlerini ve kaç tane outlier değer olduğunu yazdırınız.<jupyter_code>z_score = (titanic['Fare'] - titanic['Fare'].mean())/titanic['Fare'].std()
(z_score>3).sum(), (z_score<-3).sum()
(z_score<-3) | (z_score>3)
titanic['Fare'].min(), titanic['Fare'].max(), titanic.shape<jupyter_output><empty_output><jupyter_text>Notebookun bu noktasinda sonra kopyala-yapistir yapilmistir!! Tespit ettiğiniz outlier'ları sınır değerler ile değiştiriniz.<jupyter_code>upper_replace_value = titanic[z_score<=3]['Fare'].max()
lower_replace_value = titanic[z_score>=-3]['Fare'].min()
titanic_zscore_replaced = titanic.copy()
titanic_zscore_replaced['Fare'][z_score>3] = upper_replace_value
titanic_zscore_replaced['Fare'][z_score<-3] = lower_replace_value
titanic["Fare"].min(), titanic["Fare"].max()
titanic_zscore_replaced["Fare"].min(), titanic_zscore_replaced["Fare"].max(), titanic_zscore_replaced.shape<jupyter_output><empty_output><jupyter_text>Fare değişkeninedeki outlier değerleri IQR metodunu kullanarak tespit ediniz, sınır değerlerini ve kaç tane outlier değer olduğunu yazdırınız.<jupyter_code>q1 = titanic["Fare"].quantile(q=0.25)
q3 = titanic["Fare"].quantile(q=0.75)
iqr = q3-q1
iqr
upper_limit = q3 + 1.5*iqr
lower_limit = q1 - 1.5*iqr
lower_limit, upper_limit
len(titanic.Fare[(titanic.Fare > upper_limit) | (titanic.Fare < lower_limit)])<jupyter_output><empty_output><jupyter_text>Tespit ettiğiniz outlier'ları sınır değerler ile değiştiriniz.<jupyter_code>titanic_iqr_replaced = titanic.copy()
titanic_iqr_replaced["Fare"][titanic["Fare"] > upper_limit] = upper_limit
titanic_iqr_replaced["Fare"][titanic["Fare"] < lower_limit] = lower_limit
titanic_iqr_replaced["Fare"] .min(), titanic_iqr_replaced["Fare"] .max(), titanic_iqr_replaced.shape
lower_limit = titanic["Fare"].quantile(q=0.01)
upper_limit = titanic["Fare"].quantile(q=0.99)
lower_limit, upper_limit
len(titanic.Fare[(titanic.Fare > upper_limit) | (titanic.Fare < lower_limit)])
titanic_he_replaced = titanic.copy()
titanic_he_replaced["Fare"][titanic["Fare"] > upper_limit] = upper_limit
titanic_he_replaced["Fare"][titanic["Fare"] < lower_limit] = lower_limit
titanic_he_replaced["Fare"] .min(), titanic_he_replaced["Fare"] .max(), titanic_he_replaced.shape<jupyter_output>/home/bdoz/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:2: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
  
/home/bdoz/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:3: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
  This is separate from the ipykernel package so we can avoid doing imports until
/home/bdoz/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:10: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame

See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy[...]<jupyter_text>Fare değişkeninedeki outlier değerleri Hard-Edges metodunu kullanarak tespit ediniz, sınır değerlerini ve kaç tane outlier değer olduğunu yazdırınız.<jupyter_code>#python kodu buraya<jupyter_output><empty_output><jupyter_text>Tespit ettiğiniz outlier'ları sınır değerler ile değiştiriniz.<jupyter_code>#python kodu buraya<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.12556458897922312, 'fraction_numerical': 0.00921409214092141, 'mean_word_length': 8.512027491408935, 'pattern_counts': {'":': 3, '<': 48, '<?xml version=': 0, '>': 48, 'https://': 3, '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': '10', 'dir': 'jupyter-structured-clean-dedup', 'id': '436089', 'license': 'MIT', 'n_tokens_mistral': 2365, 'n_tokens_neox': 2229, 'n_words': 349, 'path': 'Izmir-Uygulamali-Veri-Bilimi-Bootcamp-Notes-Kodluyoruz-2020/Bootcamp-Odev-W4/week4_homework_2.ipynb', 'repo_name': 'berkedozden/kodluyoruz-docs', 'size': '5535'}