<jupyter_start><jupyter_text>Тема “Обучение без учителя” Задание 1Импортируйте библиотеки pandas, numpy и matplotlib.Загрузите "Boston House Prices dataset" из встроенных наборовданных библиотеки sklearn.Создайте датафреймы X и y из этих данных.Разбейте эти датафреймы на тренировочные (X_train, y_train) и тестовые (X_test, y_test)с помощью функции train_test_split так, чтобы размер тестовой выборкисоставлял 20% от всех данных, при этом аргумент random_state должен быть равен 42.Масштабируйте данные с помощью StandardScaler.Постройте модель TSNE на тренировочный данных с параметрами:n_components=2, learning_rate=250, random_state=42.Постройте диаграмму рассеяния на этих данных. >Импортируйте библиотеки pandas, numpy и matplotlib.<jupyter_code>import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline<jupyter_output><empty_output><jupyter_text>>Загрузите "Boston House Prices dataset" из встроенных наборов данных библиотеки sklearn. Создайте датафреймы X и y из этих данных.<jupyter_code>from sklearn.datasets import load_boston
boston = load_boston()
X = pd.DataFrame(boston['data'], columns=boston['feature_names'])
y = pd.DataFrame(boston['target'], columns=['Price'])<jupyter_output><empty_output><jupyter_text>>Разбейте эти датафреймы на тренировочные (X_train, y_train) и тестовые (X_test, y_test) с помощью функции train_test_split так, чтобы размер тестовой выборки составлял 20% от всех данных, при этом аргумент random_state должен быть равен 42.<jupyter_code>from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20, random_state=42)<jupyter_output><empty_output><jupyter_text>>Масштабируйте данные с помощью StandardScaler.<jupyter_code>from sklearn.preprocessing import StandardScaler
scaler=StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)
X_train_scaled = pd.DataFrame(X_train_scaled, columns=boston.feature_names)
X_test_scaled = pd.DataFrame(X_test_scaled, columns=boston.feature_names)
X_train_scaled.describe()<jupyter_output><empty_output><jupyter_text>>Постройте модель TSNE на тренировочный данных с параметрами: n_components=2, learning_rate=250, random_state=42.<jupyter_code>from sklearn.manifold import TSNE
tsne = TSNE(n_components=2, learning_rate=250, random_state=42)
X_train_tsne=tsne.fit_transform(X_train_scaled)<jupyter_output><empty_output><jupyter_text>>Постройте диаграмму рассеяния на этих данных.<jupyter_code>plt.scatter(X_train_tsne[:,0], X_train_tsne[:,1])<jupyter_output><empty_output><jupyter_text>**Вывод: по сжатым для 2D можно выделить 3 кластера**<jupyter_code>X_train.to_pickle('boston_X_train.pkl')
X_test_scaled.to_pickle('boston_X_test_scaled.pkl')
X_train_scaled.to_pickle('boston_X_train_scaled.pkl')
pd.DataFrame(X_train_tsne).to_pickle('boston_X_train_tsne.pkl')
y_train.to_pickle('boston_y_train.pkl')
X_test.to_pickle('boston_X_test.pkl')
y_test.to_pickle('boston_y_test.pkl')<jupyter_output><empty_output>
StarcoderdataJupyterStructuredCleanDedup