<jupyter_start><jupyter_text>Дополнительное задание для работы с курсовым проектом:__(Необязательно выполнять, но очень желательно)__Скачать данные из соревнования. Считать их.<jupyter_code>import pandas as pd
import numpy as np

RE=pd.read_csv('train.csv', sep=',')<jupyter_output><empty_output><jupyter_text>>Заполните пропущенные значения в датасете медианами или модами. Определяем пропуски<jupyter_code>RE.isna().sum()
RE.LifeSquare.describe()
RE.Healthcare_1.describe()
import seaborn as sns
# ?sns.boxplot
sns.boxplot(x=RE['LifeSquare'],whis=2)
RE[~RE.LifeSquare.isna()].sort_values(by='LifeSquare').LifeSquare.tail(20)
RE.LifeSquare.median()
RE.loc[RE.LifeSquare > 300, 'LifeSquare'] = RE.LifeSquare.median()
RE.loc[RE.LifeSquare.isna(), 'LifeSquare'] = RE.LifeSquare.median()
sns.boxplot(x=RE.Healthcare_1,whis=2)
RE[~RE.Healthcare_1.isna()].sort_values(by='Healthcare_1').Healthcare_1.tail(20)
RE.Healthcare_1.median()
RE.loc[RE.Healthcare_1.isna(), 'Healthcare_1'] = RE.Healthcare_1.median()
RE.LifeSquare.describe()
RE.Healthcare_1.describe()<jupyter_output><empty_output><jupyter_text>>Переведите строковый признак в числовое представление.<jupyter_code>RE.select_dtypes([object])
RE.Ecology_2.value_counts()
RE.Ecology_3.value_counts()
RE.Shops_2.value_counts()
def trans_binAB(field):
    RE[field+'_d'] = pd.get_dummies(RE[field]).B
    RE.drop(field , axis=1, inplace=True)
    RE.rename(({field+'_d':field}), axis='columns', inplace=True)  
RE['Shops_2']
trans_binAB('Shops_2')
trans_binAB('Ecology_2')
trans_binAB('Ecology_3')
RE<jupyter_output><empty_output><jupyter_text>>Разбейте датасет из train.csv на обучающий и валидационный наборы данных.<jupyter_code>y=RE.Price
X=RE.drop('Price' , axis=1)
from sklearn.model_selection import train_test_split
# ?train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)<jupyter_output><empty_output><jupyter_text>>Обучите линейную модель. Посчитайте метрику R2 на двух наборах данных. Сделайте выводы.<jupyter_code>from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score

lr = LinearRegression()
lr.fit(X_train, y_train)
y_pred=lr.predict(X_test)
r2_score(y_test, y_pred)<jupyter_output><empty_output><jupyter_text>>Обучите более сложную модель на ваш выбор. Посчитайте метрику R2 на двух наборах данных. Сделайте выводы.<jupyter_code>from sklearn.ensemble import RandomForestRegressor

model = RandomForestRegressor(n_estimators=1000, max_depth=12, random_state=42)
y = pd.DataFrame(RE.Price, columns=['Price'])
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
model.fit(X_train, y_train.values[:,0])
y_pred=model.predict(X_test)
r2_score(y_test, y_pred)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.1339350180505415, 'fraction_numerical': 0.018050541516245487, 'mean_word_length': 8.791519434628976, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 31, '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': '6', 'dir': 'jupyter-structured-clean-dedup', 'id': '366687', 'license': 'Unlicense', 'n_tokens_mistral': 1177, 'n_tokens_neox': 1205, 'n_words': 169, 'path': 'course_project/REstate05.ipynb', 'repo_name': 'alex-chin/GB_LIBS_DS', 'size': '2770'}