23 lines
893 B
Python

from werkzeug.datastructures import FileStorage
from backend import api_bp, dataset_path, service
from backend.dataset.dto import DatasetUploadDto
from backend.dataset.model import DatasetParams
from backend.dto import RegressionDto
from backend.regression.dto import RegressionResultDto
from backend.regression.model import RegressionTreeParams
@api_bp.post("/regression")
@api_bp.input(DatasetUploadDto, location="files")
@api_bp.input(RegressionDto, location="query")
@api_bp.output(RegressionResultDto)
def upload_dataset(files_data, query_data):
uploaded_file: FileStorage = files_data["dataset"]
schema = RegressionDto()
dataset_params: DatasetParams = schema.get_dataset_params(query_data)
tree_params: RegressionTreeParams = schema.get_tree_params(query_data)
return service.run_regression(
dataset_path, uploaded_file, dataset_params, tree_params
)