import pandas
import matplotlib.pyplot as plt
from sklearn.neural_network import MLPRegressor
interes = pandas.read_excel("Novaya_forma_Otvety.xlsx")
print(interes.shape)
print(interes.columns)
interes["year"] = interes["Дата рождения"].dt.year
interes["month"] = interes["Дата рождения"].dt.month
interes["weekday"] = interes["Дата рождения"].dt.weekday
print(interes)
interes = pandas.get_dummies(interes, columns=["year", "month", "weekday", "Ваш пол", "Город (любой на выбор)"
    , "Интерес1", "Интерес2", "Интерес3", "Интерес4", "Интерес5", "Направление подготовки"
    , "Курс", "ВУЗ", "Состою он в РСО (Российские студенческие отряды)"
    , "Состою в Волонтерском штабе", "Состою в СНО (Студенческое научное общество )"])
interes.drop(["Отметка времени", "Дата рождения"], axis=1, inplace=True)
print(interes.columns)
print(interes.shape)
X = interes.drop("На какие  мероприятие ты бы пошел?", axis=1)
y = interes["На какие  мероприятие ты бы пошел?"]
y = pandas.get_dummies(y, columns=["На какие  мероприятие ты бы пошел?"])
y.to_excel("1 Данные вероятность.xlsx")
model = MLPRegressor(hidden_layer_sizes=1200, max_iter=20000)
model.fit(X, y)
exemple = {'year_1993': [0], 'year_1994': [0], 'year_1995': [0], 'year_1996': [0], 'year_1997': [1], 'year_1998': [0],
           'year_1999': [0], 'year_2000': [0], 'year_2001': [0], 'year_2002': [0], 'year_2005': [0], 'year_2021': [0],

           'month_1': [0], 'month_2': [0], 'month_3': [0], 'month_4': [0], 'month_5': [1], 'month_6': [0],
           'month_7': [0],
           'month_8': [0], 'month_9': [0], 'month_10': [0], 'month_11': [0], 'month_12': [0],

           'weekday_0': [1], 'weekday_1': [0], 'weekday_2': [0], 'weekday_3': [0], 'weekday_4': [0], 'weekday_5': [0],
           'weekday_6': [0],

           'Ваш пол_Женский': [0], 'Ваш пол_Мужской': [1], 'Ваш пол_Не скажу': [0],

           'Город (любой на выбор)_Баку': [0], 'Город (любой на выбор)_Москва': [0],
           'Город (любой на выбор)_Самара': [1], 'Город (любой на выбор)_Уфа': [0],

           'Интерес1_Английский': [0], 'Интерес1_Дизайн': [1], 'Интерес1_Математика': [0], 'Интерес1_Машины': [0],
           'Интерес1_Спорт': [0], 'Интерес1_Строительство': [0],

           'Интерес2_ Английский': [0], 'Интерес2_ Дизайн': [0],
           'Интерес2_ Машины': [0], 'Интерес2_ Спорт': [1], 'Интерес2_ Строительство': [0],
           'Интерес2_ Студенчество': [0], 'Интерес2_ Транспорт': [0],

           'Интерес3_ Английский': [0], 'Интерес3_ Дизайн': [0], 'Интерес3_ Машины': [0],
           'Интерес3_ Строительство': [0],
           'Интерес3_ Студенчество': [1], 'Интерес3_ Транспорт': [0],

           'Интерес4_ Английский': [0], 'Интерес4_ Машины': [0], 'Интерес4_ Студенчество': [0],
           'Интерес4_ Транспорт': [0],

           'Интерес5_ Студенчество': [0], 'Интерес5_ Транспорт': [0],

           'Направление подготовки_Архитектура': [0], 'Направление подготовки_Дизайн': [0],
           'Направление подготовки_Информационные в вычислительная техника': [1],
           'Направление подготовки_Ландшафтная архитектура': [0],
           'Направление подготовки_Лингвистика, Сервис': [0],
           'Направление подготовки_Математика': [0], 'Направление подготовки_Машиностроение': [0],
           'Направление подготовки_Психология': [0], 'Направление подготовки_Спорт': [0],
           'Направление подготовки_Транспорт': [0],

           'Курс_1': [0], 'Курс_2': [0], 'Курс_3': [0], 'Курс_4': [0], 'Курс_5': [1],

           'ВУЗ_СГАУ': [0], 'ВУЗ_СГСПУ': [0], 'ВУЗ_СГЭУ': [0], 'ВУЗ_СамГУПС': [1],

           'Состою он в РСО (Российские студенческие отряды)_Да': [0],
           'Состою он в РСО (Российские студенческие отряды)_Нет': [1],

           'Состою в Волонтерском штабе_Да': [1], 'Состою в Волонтерском штабе_Нет': [0],

           'Состою в СНО (Студенческое научное общество )_да': [0],
           'Состою в СНО (Студенческое научное общество )_нет': [1]}
exemple = pandas.DataFrame(exemple)
model_predict = model.predict(exemple)
model_predict = pandas.DataFrame(model_predict)
model_predict.to_excel("2 Предсказание.xlsx")

