IIS_2023_1/arzamaskina_milana_lab_6/main.py

43 lines
1.6 KiB
Python

import pandas as pd
from matplotlib import pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.neural_network import MLPRegressor
# Загрузка данных из файла
data = pd.read_csv("CO2.csv")
data = data.dropna()
data = data[data.Country != 'Global']
# Выбор признаков и целевой переменной
features = data[['Flaring', 'Gas']]
task = data['Other']
# Разделение данных на обучающую и тестовую выборки
X_train, X_test, y_train, y_test = train_test_split(features, task, test_size=0.1, random_state=42)
# Обучение модели
model = MLPRegressor(
hidden_layer_sizes=(25, 25),
activation='relu',
solver='adam',
random_state=42
)
model.fit(X_train, y_train)
# Оценка качества модели на тестовой выборке
y_pred = model.predict(X_test)
score = model.score(X_test, y_test)
print("Коэффициент детерминации на тестовых данных:", score)
# Оценка точности модели на тестовой выборке
accuracy = model.score(X_test, y_test)
print(f'Точность модели: {accuracy}')
# Визуализация модели
plt.scatter(y_test, y_pred)
plt.plot([y_test.min(), y_test.max()],
[y_test.min(), y_test.max()], lw=2)
plt.xlabel('Фактическое значение')
plt.ylabel('Предсказанное значение')
plt.title('Результаты предсказания модели MLPRegressor количества выбросов промышленным производством')
plt.show()