23 lines
728 B
Python

from apiflask import Schema, fields
from apiflask.validators import OneOf
from backend.metric.dto import MetrciDto
from backend.tree.dto import DecisionTreeParamsDto, RuleDto, TreeNodeDto
class RegressionTreeDto(DecisionTreeParamsDto):
criterion = fields.String(
load_default="squared_error",
validate=OneOf(["squared_error", "friedman_mse", "absolute_error", "poisson"]),
)
class RegressionResultDto(Schema):
rules = fields.List(fields.Nested(RuleDto()))
tree = fields.List(fields.Nested(TreeNodeDto()))
mse = fields.Nested(MetrciDto())
mae = fields.Nested(MetrciDto())
rmse = fields.Nested(MetrciDto())
rmae = fields.Nested(MetrciDto())
r2 = fields.Nested(MetrciDto())