Загрузка данных


import pandas as pd
from sklearn.neural_network import MLPClassifier, MLPRegressor
from sklearn.model_selection import train_test_split

# 1. Классификация (Ирисы)
iris_url = "https://gist.githubusercontent.com/netj/8836201/raw/6f9306ad21398ea43cba4f7d537619d0e07d5ae3/iris.csv"
df_iris = pd.read_csv(iris_url)
X_c = df_iris.iloc[:, :-1]
y_c = df_iris.iloc[:, -1]

clf = MLPClassifier(hidden_layer_sizes=(10,), max_iter=1000, random_state=1)
clf.fit(X_c, y_c)

print("--- Классификация ---")
print(f"Количество итераций: {clf.n_iter_}")
print(f"Количество слоев: {clf.n_layers_}")
print(f"Финальная потеря: {clf.loss_:.4f}")

# 2. Регрессия (Зарплаты)
salary_url = "https://raw.githubusercontent.com/AnnaShestova/salary-years-simple-linear-regression/master/Salary_Data.csv"
df_salary = pd.read_csv(salary_url)
X_r = df_salary[['YearsExperience']]
y_r = df_salary['Salary']

reg = MLPRegressor(hidden_layer_sizes=(10, 10), max_iter=5000, random_state=1)
reg.fit(X_r, y_r)

print("\n--- Регрессия ---")
print(f"Количество итераций: {reg.n_iter_}")
print(f"Количество слоев: {reg.n_layers_}")
print(f"Финальная потеря: {reg.loss_:.4f}")
print(f"Веса (первый слой):\n{reg.coefs_[0][:2]}") # Вывод части весов для анализа