<jupyter_start><jupyter_text>1. Загрузите обучающую и тестовую выборки из файлов perceptron-train.csv и perceptron-test.csv. Целевая переменная записана в первом столбце, признаки — во втором и третьем.<jupyter_code>df_train = pd.read_csv('../data/perceptron-train.csv', header=None)
df_test = pd.read_csv('../data/perceptron-test.csv', header=None)
X_train = df_train[df_train.columns[1:3]]
y_train = df_train[df_train.columns[0]]

X_test = df_test[df_test.columns[1:3]]
y_test = df_test[df_test.columns[0]]<jupyter_output><empty_output><jupyter_text>2. Обучите персептрон со стандартными параметрами и random_state=241.<jupyter_code>clf = Perceptron(random_state=241)
clf.fit(X_train, y_train)<jupyter_output><empty_output><jupyter_text>3. Подсчитайте качество (долю правильно классифицированных объектов, accuracy) полученного классификатора на тестовой выборке.<jupyter_code>predictions = clf.predict(X_test)
score = accuracy_score(y_test, predictions)
score<jupyter_output><empty_output><jupyter_text>4. Нормализуйте обучающую и тестовую выборку с помощью класса StandardScaler.<jupyter_code>scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)<jupyter_output><empty_output><jupyter_text>5. Обучите персептрон на новой выборке. Найдите долю правильных ответов на тестовой выборке.<jupyter_code>clf.fit(X_train_scaled, y_train.values.ravel())

predictions = clf.predict(X_test_scaled)
scaled_score = accuracy_score(y_test.values.ravel(), predictions) 
scaled_score<jupyter_output><empty_output><jupyter_text>6. Найдите разность между качеством на тестовой выборке после нормализации и качеством до нее. Это число и будет ответом на задание.<jupyter_code>print("{:0.2f}".format(scaled_score-score))<jupyter_output>0.19
{'fraction_non_alphanumeric': 0.10493827160493827, 'fraction_numerical': 0.012906846240179574, 'mean_word_length': 8.690217391304348, 'pattern_counts': {'":': 0, '<': 24, '<?xml version=': 0, '>': 24, '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': '588756', 'license': 'Apache-2.0', 'n_tokens_mistral': 739, 'n_tokens_neox': 788, 'n_words': 116, 'path': '02-metric_classification/statement_linear/statement_linear.ipynb', 'repo_name': 'aKumpan/hse-shad-ml', 'size': '1782'}