|
|
|
@ -56,7 +56,7 @@ def raschet(table_name='service_placementpoint', need_time=True, task_name=STATU
|
|
|
|
models.RaschetObjects.objects.all().delete()
|
|
|
|
models.RaschetObjects.objects.all().delete()
|
|
|
|
models.RaschetGroups.objects.all().delete()
|
|
|
|
models.RaschetGroups.objects.all().delete()
|
|
|
|
# Запуск ML
|
|
|
|
# Запуск ML
|
|
|
|
change_status('Запуск ML', task_name=task_name)
|
|
|
|
change_status('Шаг 3 из 3 (Прогноз трафика в точках).', task_name=task_name)
|
|
|
|
log_to_telegram(f'{table_name} start raschet')
|
|
|
|
log_to_telegram(f'{table_name} start raschet')
|
|
|
|
try:
|
|
|
|
try:
|
|
|
|
log_to_telegram('try connect to db')
|
|
|
|
log_to_telegram('try connect to db')
|
|
|
|
@ -117,7 +117,7 @@ def raschet(table_name='service_placementpoint', need_time=True, task_name=STATU
|
|
|
|
|
|
|
|
|
|
|
|
# status.status = 'Записи для инференса'
|
|
|
|
# status.status = 'Записи для инференса'
|
|
|
|
# status.save()
|
|
|
|
# status.save()
|
|
|
|
change_status('Записи для инференса', task_name=task_name)
|
|
|
|
#change_status('Записи для инференса', task_name=task_name)
|
|
|
|
# Записи для инференса
|
|
|
|
# Записи для инференса
|
|
|
|
if table_name == 'service_placementpoint':
|
|
|
|
if table_name == 'service_placementpoint':
|
|
|
|
pts_inf = pts.loc[(pts.status == 'Pending') |
|
|
|
|
pts_inf = pts.loc[(pts.status == 'Pending') |
|
|
|
|
@ -175,11 +175,11 @@ def raschet(table_name='service_placementpoint', need_time=True, task_name=STATU
|
|
|
|
y_infers = []
|
|
|
|
y_infers = []
|
|
|
|
# status.status = 'Обучение inference 0%'
|
|
|
|
# status.status = 'Обучение inference 0%'
|
|
|
|
# status.save()
|
|
|
|
# status.save()
|
|
|
|
change_status('Обучение inference 0%', task_name=task_name)
|
|
|
|
#change_status('Обучение inference 0%', task_name=task_name)
|
|
|
|
for i in seeds:
|
|
|
|
for i in seeds:
|
|
|
|
# status.status = 'Обучение inference: ' + str(int((seeds.index(i) + 1) / len(seeds) * 100)) + '%'
|
|
|
|
# status.status = 'Обучение inference: ' + str(int((seeds.index(i) + 1) / len(seeds) * 100)) + '%'
|
|
|
|
# status.save()
|
|
|
|
# status.save()
|
|
|
|
change_status(f'Обучение inference: {str(int((seeds.index(i) + 1) / len(seeds) * 100))}%',
|
|
|
|
#change_status(f'Обучение inference: {str(int((seeds.index(i) + 1) / len(seeds) * 100))}%',
|
|
|
|
task_name=task_name)
|
|
|
|
task_name=task_name)
|
|
|
|
x_trn, x_test, y_trn, y_test = ms.train_test_split(X_trn, Y_trn, test_size=0.2, random_state=i)
|
|
|
|
x_trn, x_test, y_trn, y_test = ms.train_test_split(X_trn, Y_trn, test_size=0.2, random_state=i)
|
|
|
|
model = catboost.CatBoostRegressor(cat_features=['property_era'], random_state=i)
|
|
|
|
model = catboost.CatBoostRegressor(cat_features=['property_era'], random_state=i)
|
|
|
|
@ -190,7 +190,7 @@ def raschet(table_name='service_placementpoint', need_time=True, task_name=STATU
|
|
|
|
r2_scores.append(r2_score)
|
|
|
|
r2_scores.append(r2_score)
|
|
|
|
mapes.append(mape)
|
|
|
|
mapes.append(mape)
|
|
|
|
y_infers.append(model.predict(X_inf.drop(columns=['id'])))
|
|
|
|
y_infers.append(model.predict(X_inf.drop(columns=['id'])))
|
|
|
|
change_status('Обучение inference 100%', task_name=task_name)
|
|
|
|
#change_status('Обучение inference 100%', task_name=task_name)
|
|
|
|
# status.status = 'Обучение inference 100%'
|
|
|
|
# status.status = 'Обучение inference 100%'
|
|
|
|
current_pred = sum(y_infers) / 4
|
|
|
|
current_pred = sum(y_infers) / 4
|
|
|
|
|
|
|
|
|
|
|
|
|