{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.SageMaker.Types.ModelMetrics where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import Amazonka.SageMaker.Types.Bias
import Amazonka.SageMaker.Types.Explainability
import Amazonka.SageMaker.Types.ModelDataQuality
import Amazonka.SageMaker.Types.ModelQuality
data ModelMetrics = ModelMetrics'
{
ModelMetrics -> Maybe Bias
bias :: Prelude.Maybe Bias,
ModelMetrics -> Maybe Explainability
explainability :: Prelude.Maybe Explainability,
ModelMetrics -> Maybe ModelDataQuality
modelDataQuality :: Prelude.Maybe ModelDataQuality,
ModelMetrics -> Maybe ModelQuality
modelQuality :: Prelude.Maybe ModelQuality
}
deriving (ModelMetrics -> ModelMetrics -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModelMetrics -> ModelMetrics -> Bool
$c/= :: ModelMetrics -> ModelMetrics -> Bool
== :: ModelMetrics -> ModelMetrics -> Bool
$c== :: ModelMetrics -> ModelMetrics -> Bool
Prelude.Eq, ReadPrec [ModelMetrics]
ReadPrec ModelMetrics
Int -> ReadS ModelMetrics
ReadS [ModelMetrics]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ModelMetrics]
$creadListPrec :: ReadPrec [ModelMetrics]
readPrec :: ReadPrec ModelMetrics
$creadPrec :: ReadPrec ModelMetrics
readList :: ReadS [ModelMetrics]
$creadList :: ReadS [ModelMetrics]
readsPrec :: Int -> ReadS ModelMetrics
$creadsPrec :: Int -> ReadS ModelMetrics
Prelude.Read, Int -> ModelMetrics -> ShowS
[ModelMetrics] -> ShowS
ModelMetrics -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModelMetrics] -> ShowS
$cshowList :: [ModelMetrics] -> ShowS
show :: ModelMetrics -> String
$cshow :: ModelMetrics -> String
showsPrec :: Int -> ModelMetrics -> ShowS
$cshowsPrec :: Int -> ModelMetrics -> ShowS
Prelude.Show, forall x. Rep ModelMetrics x -> ModelMetrics
forall x. ModelMetrics -> Rep ModelMetrics x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ModelMetrics x -> ModelMetrics
$cfrom :: forall x. ModelMetrics -> Rep ModelMetrics x
Prelude.Generic)
newModelMetrics ::
ModelMetrics
newModelMetrics :: ModelMetrics
newModelMetrics =
ModelMetrics'
{ $sel:bias:ModelMetrics' :: Maybe Bias
bias = forall a. Maybe a
Prelude.Nothing,
$sel:explainability:ModelMetrics' :: Maybe Explainability
explainability = forall a. Maybe a
Prelude.Nothing,
$sel:modelDataQuality:ModelMetrics' :: Maybe ModelDataQuality
modelDataQuality = forall a. Maybe a
Prelude.Nothing,
$sel:modelQuality:ModelMetrics' :: Maybe ModelQuality
modelQuality = forall a. Maybe a
Prelude.Nothing
}
modelMetrics_bias :: Lens.Lens' ModelMetrics (Prelude.Maybe Bias)
modelMetrics_bias :: Lens' ModelMetrics (Maybe Bias)
modelMetrics_bias = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModelMetrics' {Maybe Bias
bias :: Maybe Bias
$sel:bias:ModelMetrics' :: ModelMetrics -> Maybe Bias
bias} -> Maybe Bias
bias) (\s :: ModelMetrics
s@ModelMetrics' {} Maybe Bias
a -> ModelMetrics
s {$sel:bias:ModelMetrics' :: Maybe Bias
bias = Maybe Bias
a} :: ModelMetrics)
modelMetrics_explainability :: Lens.Lens' ModelMetrics (Prelude.Maybe Explainability)
modelMetrics_explainability :: Lens' ModelMetrics (Maybe Explainability)
modelMetrics_explainability = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModelMetrics' {Maybe Explainability
explainability :: Maybe Explainability
$sel:explainability:ModelMetrics' :: ModelMetrics -> Maybe Explainability
explainability} -> Maybe Explainability
explainability) (\s :: ModelMetrics
s@ModelMetrics' {} Maybe Explainability
a -> ModelMetrics
s {$sel:explainability:ModelMetrics' :: Maybe Explainability
explainability = Maybe Explainability
a} :: ModelMetrics)
modelMetrics_modelDataQuality :: Lens.Lens' ModelMetrics (Prelude.Maybe ModelDataQuality)
modelMetrics_modelDataQuality :: Lens' ModelMetrics (Maybe ModelDataQuality)
modelMetrics_modelDataQuality = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModelMetrics' {Maybe ModelDataQuality
modelDataQuality :: Maybe ModelDataQuality
$sel:modelDataQuality:ModelMetrics' :: ModelMetrics -> Maybe ModelDataQuality
modelDataQuality} -> Maybe ModelDataQuality
modelDataQuality) (\s :: ModelMetrics
s@ModelMetrics' {} Maybe ModelDataQuality
a -> ModelMetrics
s {$sel:modelDataQuality:ModelMetrics' :: Maybe ModelDataQuality
modelDataQuality = Maybe ModelDataQuality
a} :: ModelMetrics)
modelMetrics_modelQuality :: Lens.Lens' ModelMetrics (Prelude.Maybe ModelQuality)
modelMetrics_modelQuality :: Lens' ModelMetrics (Maybe ModelQuality)
modelMetrics_modelQuality = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModelMetrics' {Maybe ModelQuality
modelQuality :: Maybe ModelQuality
$sel:modelQuality:ModelMetrics' :: ModelMetrics -> Maybe ModelQuality
modelQuality} -> Maybe ModelQuality
modelQuality) (\s :: ModelMetrics
s@ModelMetrics' {} Maybe ModelQuality
a -> ModelMetrics
s {$sel:modelQuality:ModelMetrics' :: Maybe ModelQuality
modelQuality = Maybe ModelQuality
a} :: ModelMetrics)
instance Data.FromJSON ModelMetrics where
parseJSON :: Value -> Parser ModelMetrics
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"ModelMetrics"
( \Object
x ->
Maybe Bias
-> Maybe Explainability
-> Maybe ModelDataQuality
-> Maybe ModelQuality
-> ModelMetrics
ModelMetrics'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"Bias")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"Explainability")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ModelDataQuality")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ModelQuality")
)
instance Prelude.Hashable ModelMetrics where
hashWithSalt :: Int -> ModelMetrics -> Int
hashWithSalt Int
_salt ModelMetrics' {Maybe Explainability
Maybe Bias
Maybe ModelDataQuality
Maybe ModelQuality
modelQuality :: Maybe ModelQuality
modelDataQuality :: Maybe ModelDataQuality
explainability :: Maybe Explainability
bias :: Maybe Bias
$sel:modelQuality:ModelMetrics' :: ModelMetrics -> Maybe ModelQuality
$sel:modelDataQuality:ModelMetrics' :: ModelMetrics -> Maybe ModelDataQuality
$sel:explainability:ModelMetrics' :: ModelMetrics -> Maybe Explainability
$sel:bias:ModelMetrics' :: ModelMetrics -> Maybe Bias
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bias
bias
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Explainability
explainability
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ModelDataQuality
modelDataQuality
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ModelQuality
modelQuality
instance Prelude.NFData ModelMetrics where
rnf :: ModelMetrics -> ()
rnf ModelMetrics' {Maybe Explainability
Maybe Bias
Maybe ModelDataQuality
Maybe ModelQuality
modelQuality :: Maybe ModelQuality
modelDataQuality :: Maybe ModelDataQuality
explainability :: Maybe Explainability
bias :: Maybe Bias
$sel:modelQuality:ModelMetrics' :: ModelMetrics -> Maybe ModelQuality
$sel:modelDataQuality:ModelMetrics' :: ModelMetrics -> Maybe ModelDataQuality
$sel:explainability:ModelMetrics' :: ModelMetrics -> Maybe Explainability
$sel:bias:ModelMetrics' :: ModelMetrics -> Maybe Bias
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Bias
bias
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Explainability
explainability
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ModelDataQuality
modelDataQuality
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ModelQuality
modelQuality
instance Data.ToJSON ModelMetrics where
toJSON :: ModelMetrics -> Value
toJSON ModelMetrics' {Maybe Explainability
Maybe Bias
Maybe ModelDataQuality
Maybe ModelQuality
modelQuality :: Maybe ModelQuality
modelDataQuality :: Maybe ModelDataQuality
explainability :: Maybe Explainability
bias :: Maybe Bias
$sel:modelQuality:ModelMetrics' :: ModelMetrics -> Maybe ModelQuality
$sel:modelDataQuality:ModelMetrics' :: ModelMetrics -> Maybe ModelDataQuality
$sel:explainability:ModelMetrics' :: ModelMetrics -> Maybe Explainability
$sel:bias:ModelMetrics' :: ModelMetrics -> Maybe Bias
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"Bias" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bias
bias,
(Key
"Explainability" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Explainability
explainability,
(Key
"ModelDataQuality" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ModelDataQuality
modelDataQuality,
(Key
"ModelQuality" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ModelQuality
modelQuality
]
)