Форум сайта python.su
Друзья, на одном портале была размещена задача :
Возьмите данные по безработице в городе Москва: https://video.ittensive.com/python-advanced/data-9753-2019-07-25.utf.csv Сгруппируйте данные по годам, если в году меньше 6 значений, отбросьте эти годы. Постройте модель линейной регрессии по годам среднего значения отношения UnemployedDisabled к UnemployedTotal (процента людей с ограниченными возможностями) за месяц и ответьте, какое ожидается значение в 2020 году при сохранении текущей политики города Москвы?
я ее решил:
import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression pd.options.display.max_rows = 1000 data = pd.read_csv("https://video.ittensive.com/python-advanced/data-9753-2019-07-25.utf.csv", delimiter = ";") data = data.groupby("Year").filter(lambda x : x["UnemployedTotal"].count() < 6) data["Year"] = data["Year"].astype("category") data_group = data.groupby("Year").mean() x = np.array(data_group.index).reshape(len(data_group.index),1) y = np.array(data_group["UnemployedDisabled"]/data_group["UnemployedTotal"]*100).reshape(len(data_group.index),1) model = LinearRegression() model.fit(x, y) plt.scatter(x,y , color ="orange") x = np.append(x,[2020]).reshape(len(data_group.index)+1,1) plt.plot(x, model.predict(x), color = "blue", linewidth = 3) plt.show() print(model.predict(np.array(2020).reshape(1,1))) #print(data_group)
Отредактировано Egor8888888 (Апрель 16, 2020 13:41:17)
Офлайн