From 0345de2d1d5142f3516e02ce6b9ba7163ea3d337 Mon Sep 17 00:00:00 2001 From: timofejmalinin Date: Tue, 19 Sep 2023 16:27:15 +0300 Subject: [PATCH] test ml --- service/tasks.py | 21 ++++++++++++++------- service/views.py | 1 + 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/service/tasks.py b/service/tasks.py index 45835dc..bb0906d 100644 --- a/service/tasks.py +++ b/service/tasks.py @@ -29,6 +29,7 @@ from service.service import PointService @shared_task() def raschet(table_name='service_placementpoint'): + print('start raschet') status, _ = models.TaskStatus.objects.get_or_create(task_name=STATUS_TASK_NAME) raschet_objs = models.RaschetObjects.objects.all() if raschet_objs: @@ -118,6 +119,9 @@ def raschet(table_name='service_placementpoint'): X_trn = pts_trn[feats].drop(columns=['id']) Y_trn = pts_trn[['fact']] + + status.status = 'Записи для инференса' + status.save() # Записи для инференса if table_name == 'service_placementpoint': pts_inf = pts.loc[(pts.status == 'Pending') | @@ -166,8 +170,11 @@ def raschet(table_name='service_placementpoint'): r2_scores = [] mapes = [] y_infers = [] - + status.status = 'Обучение inference 0%' + status.save() for i in seeds: + status.status = 'Обучение inference: ' + str(int((seeds.index(i) + 1) / len(seeds) * 100)) + '%' + status.save() 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.fit(x_trn, y_trn, verbose=False) @@ -177,7 +184,7 @@ def raschet(table_name='service_placementpoint'): r2_scores.append(r2_score) mapes.append(mape) y_infers.append(model.predict(X_inf.drop(columns=['id']))) - + status.status = 'Обучение inference 100%' current_pred = sum(y_infers) / 5 # Обновление полей по результатам работы модели @@ -378,14 +385,14 @@ def load_post_and_pvz(obj_id: int): @shared_task() def add_age_day(): - qs = PlacementPoint.objects - c1 = qs.filter(sample_trn=True).count() + qs = PlacementPoint.objects.filter(status='Working') + # c1 = qs.filter(sample_trn=True).count() qs.update(age_day=F('age_day') + 1) qs2 = qs.filter(age_day__gt=AGE_DAY_LIMIT) qs2.update(sample_trn=True) - c2 = PlacementPoint.objects.filter(sample_trn=True).count() - if c2 - c1 != 0: - raschet.delay() + # c2 = PlacementPoint.objects.filter(sample_trn=True).count() + # if c2 - c1 != 0: + # raschet.delay() @shared_task() diff --git a/service/views.py b/service/views.py index 41f1170..5ce973c 100644 --- a/service/views.py +++ b/service/views.py @@ -385,6 +385,7 @@ class PrePlacementPointViewSet(PlacementPointViewSet): rayon = obj.pop('area') obj['district']=models.AO.objects.get(id=ao) obj['area'] = models.Rayon.objects.get(id=rayon) + obj['age_day'] = 1 models.PlacementPoint.objects.create(**obj) models.PrePlacementPoint.objects.all().delete() return Response(status=HTTPStatus.OK, )