-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Google Prediction SDK.
--   
--   Lets you access a cloud hosted machine learning service that makes it
--   easy to build smart apps
--   
--   <i>Warning:</i> This is an experimental prototype/preview release
--   which is still under exploratory development and not intended for
--   public use, caveat emptor!
--   
--   This library is compatible with version <tt>v1.6</tt> of the API.
@package gogol-prediction
@version 0.3.0


module Network.Google.Prediction.Types

-- | Default request referring to version 'v1.6' of the Prediction API.
--   This contains the host and root path used as a starting point for
--   constructing service requests.
predictionService :: ServiceConfig

-- | View and manage your data across Google Cloud Platform services
cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]

-- | View your data in Google Cloud Storage
storageReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/devstorage.read_only"]

-- | Manage your data in Google Cloud Storage
storageReadWriteScope :: Proxy '["https://www.googleapis.com/auth/devstorage.read_write"]

-- | Manage your data in the Google Prediction API
predictionScope :: Proxy '["https://www.googleapis.com/auth/prediction"]

-- | Manage your data and permissions in Google Cloud Storage
storageFullControlScope :: Proxy '["https://www.googleapis.com/auth/devstorage.full_control"]

-- | Model metadata.
--   
--   <i>See:</i> <a>insert2ModelInfo</a> smart constructor.
data Insert2ModelInfo

-- | Creates a value of <a>Insert2ModelInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>imiModelType</a></li>
--   <li><a>imiClassWeightedAccuracy</a></li>
--   <li><a>imiClassificationAccuracy</a></li>
--   <li><a>imiMeanSquaredError</a></li>
--   <li><a>imiNumberLabels</a></li>
--   <li><a>imiNumberInstances</a></li>
--   </ul>
insert2ModelInfo :: Insert2ModelInfo

-- | Type of predictive model (CLASSIFICATION or REGRESSION).
imiModelType :: Lens' Insert2ModelInfo (Maybe Text)

-- | Estimated accuracy of model taking utility weights into account
--   (Categorical models only).
imiClassWeightedAccuracy :: Lens' Insert2ModelInfo (Maybe Text)

-- | A number between 0.0 and 1.0, where 1.0 is 100% accurate. This is an
--   estimate, based on the amount and quality of the training data, of the
--   estimated prediction accuracy. You can use this is a guide to decide
--   whether the results are accurate enough for your needs. This estimate
--   will be more reliable if your real input data is similar to your
--   training data (Categorical models only).
imiClassificationAccuracy :: Lens' Insert2ModelInfo (Maybe Text)

-- | An estimated mean squared error. The can be used to measure the
--   quality of the predicted model (Regression models only).
imiMeanSquaredError :: Lens' Insert2ModelInfo (Maybe Text)

-- | Number of class labels in the trained model (Categorical models only).
imiNumberLabels :: Lens' Insert2ModelInfo (Maybe Int64)

-- | Number of valid data instances used in the trained model.
imiNumberInstances :: Lens' Insert2ModelInfo (Maybe Int64)

-- | A list of the confusion matrix row totals.
--   
--   <i>See:</i> <a>analyzeModelDescriptionConfusionMatrixRowTotals</a>
--   smart constructor.
data AnalyzeModelDescriptionConfusionMatrixRowTotals

-- | Creates a value of
--   <a>AnalyzeModelDescriptionConfusionMatrixRowTotals</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>amdcmrtAddtional</a></li>
--   </ul>
analyzeModelDescriptionConfusionMatrixRowTotals :: HashMap Text Text -> AnalyzeModelDescriptionConfusionMatrixRowTotals
amdcmrtAddtional :: Lens' AnalyzeModelDescriptionConfusionMatrixRowTotals (HashMap Text Text)
data Insert

-- | Creates a value of <a>Insert</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iStorageDataLocation</a></li>
--   <li><a>iModelType</a></li>
--   <li><a>iTrainingInstances</a></li>
--   <li><a>iUtility</a></li>
--   <li><a>iStoragePMMLModelLocation</a></li>
--   <li><a>iSourceModel</a></li>
--   <li><a>iId</a></li>
--   <li><a>iStoragePMMLLocation</a></li>
--   </ul>
insert :: Insert

-- | Google storage location of the training data file.
iStorageDataLocation :: Lens' Insert (Maybe Text)

-- | Type of predictive model (classification or regression).
iModelType :: Lens' Insert (Maybe Text)

-- | Instances to train model on.
iTrainingInstances :: Lens' Insert [InsertTrainingInstancesItem]

-- | A class weighting function, which allows the importance weights for
--   class labels to be specified (Categorical models only).
iUtility :: Lens' Insert [InsertUtilityItem]

-- | Google storage location of the pmml model file.
iStoragePMMLModelLocation :: Lens' Insert (Maybe Text)

-- | The Id of the model to be copied over.
iSourceModel :: Lens' Insert (Maybe Text)

-- | The unique name for the predictive model.
iId :: Lens' Insert (Maybe Text)

-- | Google storage location of the preprocessing pmml file.
iStoragePMMLLocation :: Lens' Insert (Maybe Text)
data List

-- | Creates a value of <a>List</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lNextPageToken</a></li>
--   <li><a>lKind</a></li>
--   <li><a>lItems</a></li>
--   <li><a>lSelfLink</a></li>
--   </ul>
list :: List

-- | Pagination token to fetch the next page, if one exists.
lNextPageToken :: Lens' List (Maybe Text)

-- | What kind of resource this is.
lKind :: Lens' List Text

-- | List of models.
lItems :: Lens' List [Insert2]

-- | A URL to re-request this resource.
lSelfLink :: Lens' List (Maybe Text)

-- | Class label (string).
--   
--   <i>See:</i> <a>insertUtilityItem</a> smart constructor.
data InsertUtilityItem

-- | Creates a value of <a>InsertUtilityItem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iuiAddtional</a></li>
--   </ul>
insertUtilityItem :: HashMap Text Double -> InsertUtilityItem
iuiAddtional :: Lens' InsertUtilityItem (HashMap Text Double)
data Insert2

-- | Creates a value of <a>Insert2</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>insStorageDataLocation</a></li>
--   <li><a>insModelType</a></li>
--   <li><a>insKind</a></li>
--   <li><a>insCreated</a></li>
--   <li><a>insTrainingComplete</a></li>
--   <li><a>insSelfLink</a></li>
--   <li><a>insTrainingStatus</a></li>
--   <li><a>insStoragePMMLModelLocation</a></li>
--   <li><a>insId</a></li>
--   <li><a>insStoragePMMLLocation</a></li>
--   <li><a>insModelInfo</a></li>
--   </ul>
insert2 :: Insert2

-- | Google storage location of the training data file.
insStorageDataLocation :: Lens' Insert2 (Maybe Text)

-- | Type of predictive model (CLASSIFICATION or REGRESSION).
insModelType :: Lens' Insert2 (Maybe Text)

-- | What kind of resource this is.
insKind :: Lens' Insert2 Text

-- | Insert time of the model (as a RFC 3339 timestamp).
insCreated :: Lens' Insert2 (Maybe UTCTime)

-- | Training completion time (as a RFC 3339 timestamp).
insTrainingComplete :: Lens' Insert2 (Maybe UTCTime)

-- | A URL to re-request this resource.
insSelfLink :: Lens' Insert2 (Maybe Text)

-- | The current status of the training job. This can be one of following:
--   RUNNING; DONE; ERROR; ERROR: TRAINING JOB NOT FOUND
insTrainingStatus :: Lens' Insert2 (Maybe Text)

-- | Google storage location of the pmml model file.
insStoragePMMLModelLocation :: Lens' Insert2 (Maybe Text)

-- | The unique name for the predictive model.
insId :: Lens' Insert2 (Maybe Text)

-- | Google storage location of the preprocessing pmml file.
insStoragePMMLLocation :: Lens' Insert2 (Maybe Text)

-- | Model metadata.
insModelInfo :: Lens' Insert2 (Maybe Insert2ModelInfo)
data InsertTrainingInstancesItem

-- | Creates a value of <a>InsertTrainingInstancesItem</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>itiiCSVInstance</a></li>
--   <li><a>itiiOutput</a></li>
--   </ul>
insertTrainingInstancesItem :: InsertTrainingInstancesItem

-- | The input features for this instance.
itiiCSVInstance :: Lens' InsertTrainingInstancesItem [JSONValue]

-- | The generic output value - could be regression or class label.
itiiOutput :: Lens' InsertTrainingInstancesItem (Maybe Text)

-- | Input to the model for a prediction.
--   
--   <i>See:</i> <a>inputInput</a> smart constructor.
data InputInput

-- | Creates a value of <a>InputInput</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iiCSVInstance</a></li>
--   </ul>
inputInput :: InputInput

-- | A list of input features, these can be strings or doubles.
iiCSVInstance :: Lens' InputInput [JSONValue]
data AnalyzeDataDescriptionFeaturesItemCategoricalValuesItem

-- | Creates a value of
--   <a>AnalyzeDataDescriptionFeaturesItemCategoricalValuesItem</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>addficviValue</a></li>
--   <li><a>addficviCount</a></li>
--   </ul>
analyzeDataDescriptionFeaturesItemCategoricalValuesItem :: AnalyzeDataDescriptionFeaturesItemCategoricalValuesItem

-- | The category name.
addficviValue :: Lens' AnalyzeDataDescriptionFeaturesItemCategoricalValuesItem (Maybe Text)

-- | Number of times this feature had this value.
addficviCount :: Lens' AnalyzeDataDescriptionFeaturesItemCategoricalValuesItem (Maybe Int64)

-- | Description of the numeric values of this feature.
--   
--   <i>See:</i> <a>analyzeDataDescriptionFeaturesItemNumeric</a> smart
--   constructor.
data AnalyzeDataDescriptionFeaturesItemNumeric

-- | Creates a value of <a>AnalyzeDataDescriptionFeaturesItemNumeric</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>addfinMean</a></li>
--   <li><a>addfinCount</a></li>
--   <li><a>addfinVariance</a></li>
--   </ul>
analyzeDataDescriptionFeaturesItemNumeric :: AnalyzeDataDescriptionFeaturesItemNumeric

-- | Mean of the numeric values of this feature in the data set.
addfinMean :: Lens' AnalyzeDataDescriptionFeaturesItemNumeric (Maybe Text)

-- | Number of numeric values for this feature in the data set.
addfinCount :: Lens' AnalyzeDataDescriptionFeaturesItemNumeric (Maybe Int64)

-- | Variance of the numeric values of this feature in the data set.
addfinVariance :: Lens' AnalyzeDataDescriptionFeaturesItemNumeric (Maybe Text)
data Input

-- | Creates a value of <a>Input</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iInput</a></li>
--   </ul>
input :: Input

-- | Input to the model for a prediction.
iInput :: Lens' Input (Maybe InputInput)

-- | Description of the categorical values of this feature.
--   
--   <i>See:</i> <a>analyzeDataDescriptionFeaturesItemCategorical</a> smart
--   constructor.
data AnalyzeDataDescriptionFeaturesItemCategorical

-- | Creates a value of
--   <a>AnalyzeDataDescriptionFeaturesItemCategorical</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>addficValues</a></li>
--   <li><a>addficCount</a></li>
--   </ul>
analyzeDataDescriptionFeaturesItemCategorical :: AnalyzeDataDescriptionFeaturesItemCategorical

-- | List of all the categories for this feature in the data set.
addficValues :: Lens' AnalyzeDataDescriptionFeaturesItemCategorical [AnalyzeDataDescriptionFeaturesItemCategoricalValuesItem]

-- | Number of categorical values for this feature in the data.
addficCount :: Lens' AnalyzeDataDescriptionFeaturesItemCategorical (Maybe Int64)
data AnalyzeDataDescriptionOutputFeatureTextItem

-- | Creates a value of <a>AnalyzeDataDescriptionOutputFeatureTextItem</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>addoftiValue</a></li>
--   <li><a>addoftiCount</a></li>
--   </ul>
analyzeDataDescriptionOutputFeatureTextItem :: AnalyzeDataDescriptionOutputFeatureTextItem

-- | The output label.
addoftiValue :: Lens' AnalyzeDataDescriptionOutputFeatureTextItem (Maybe Text)

-- | Number of times the output label occurred in the data set.
addoftiCount :: Lens' AnalyzeDataDescriptionOutputFeatureTextItem (Maybe Int64)
data OutputOutputMultiItem

-- | Creates a value of <a>OutputOutputMultiItem</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oomiScore</a></li>
--   <li><a>oomiLabel</a></li>
--   </ul>
outputOutputMultiItem :: OutputOutputMultiItem

-- | The probability of the class label.
oomiScore :: Lens' OutputOutputMultiItem (Maybe Text)

-- | The class label.
oomiLabel :: Lens' OutputOutputMultiItem (Maybe Text)
data Analyze

-- | Creates a value of <a>Analyze</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aKind</a></li>
--   <li><a>aModelDescription</a></li>
--   <li><a>aSelfLink</a></li>
--   <li><a>aId</a></li>
--   <li><a>aErrors</a></li>
--   <li><a>aDataDescription</a></li>
--   </ul>
analyze :: Analyze

-- | What kind of resource this is.
aKind :: Lens' Analyze Text

-- | Description of the model.
aModelDescription :: Lens' Analyze (Maybe AnalyzeModelDescription)

-- | A URL to re-request this resource.
aSelfLink :: Lens' Analyze (Maybe Text)

-- | The unique name for the predictive model.
aId :: Lens' Analyze (Maybe Text)

-- | List of errors with the data.
aErrors :: Lens' Analyze [AnalyzeErrorsItem]

-- | Description of the data the model was trained on.
aDataDescription :: Lens' Analyze (Maybe AnalyzeDataDescription)

-- | An output confusion matrix. This shows an estimate for how this model
--   will do in predictions. This is first indexed by the true class label.
--   For each true class label, this provides a pair {predicted_label,
--   count}, where count is the estimated number of times the model will
--   predict the predicted label given the true label. Will not output if
--   more then 100 classes (Categorical models only).
--   
--   <i>See:</i> <a>analyzeModelDescriptionConfusionMatrix</a> smart
--   constructor.
data AnalyzeModelDescriptionConfusionMatrix

-- | Creates a value of <a>AnalyzeModelDescriptionConfusionMatrix</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>amdcmAddtional</a></li>
--   </ul>
analyzeModelDescriptionConfusionMatrix :: HashMap Text AnalyzeModelDescriptionConfusionMatrixAdditional -> AnalyzeModelDescriptionConfusionMatrix

-- | Confusion matrix information for the true class label.
amdcmAddtional :: Lens' AnalyzeModelDescriptionConfusionMatrix (HashMap Text AnalyzeModelDescriptionConfusionMatrixAdditional)
data Output

-- | Creates a value of <a>Output</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oOutputValue</a></li>
--   <li><a>oKind</a></li>
--   <li><a>oOutputLabel</a></li>
--   <li><a>oSelfLink</a></li>
--   <li><a>oId</a></li>
--   <li><a>oOutputMulti</a></li>
--   </ul>
output :: Output

-- | The estimated regression value (Regression models only).
oOutputValue :: Lens' Output (Maybe Text)

-- | What kind of resource this is.
oKind :: Lens' Output Text

-- | The most likely class label (Categorical models only).
oOutputLabel :: Lens' Output (Maybe Text)

-- | A URL to re-request this resource.
oSelfLink :: Lens' Output (Maybe Text)

-- | The unique name for the predictive model.
oId :: Lens' Output (Maybe Text)

-- | A list of class labels with their estimated probabilities (Categorical
--   models only).
oOutputMulti :: Lens' Output [OutputOutputMultiItem]

-- | Description of the output values in the data set.
--   
--   <i>See:</i> <a>analyzeDataDescriptionOutputFeatureNumeric</a> smart
--   constructor.
data AnalyzeDataDescriptionOutputFeatureNumeric

-- | Creates a value of <a>AnalyzeDataDescriptionOutputFeatureNumeric</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>addofnMean</a></li>
--   <li><a>addofnCount</a></li>
--   <li><a>addofnVariance</a></li>
--   </ul>
analyzeDataDescriptionOutputFeatureNumeric :: AnalyzeDataDescriptionOutputFeatureNumeric

-- | Mean of the output values in the data set.
addofnMean :: Lens' AnalyzeDataDescriptionOutputFeatureNumeric (Maybe Text)

-- | Number of numeric output values in the data set.
addofnCount :: Lens' AnalyzeDataDescriptionOutputFeatureNumeric (Maybe Int64)

-- | Variance of the output values in the data set.
addofnVariance :: Lens' AnalyzeDataDescriptionOutputFeatureNumeric (Maybe Text)
data AnalyzeErrorsItem

-- | Creates a value of <a>AnalyzeErrorsItem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aeiAddtional</a></li>
--   </ul>
analyzeErrorsItem :: HashMap Text Text -> AnalyzeErrorsItem

-- | Error level followed by a detailed error message.
aeiAddtional :: Lens' AnalyzeErrorsItem (HashMap Text Text)

-- | Description of the data the model was trained on.
--   
--   <i>See:</i> <a>analyzeDataDescription</a> smart constructor.
data AnalyzeDataDescription

-- | Creates a value of <a>AnalyzeDataDescription</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>addOutputFeature</a></li>
--   <li><a>addFeatures</a></li>
--   </ul>
analyzeDataDescription :: AnalyzeDataDescription

-- | Description of the output value or label.
addOutputFeature :: Lens' AnalyzeDataDescription (Maybe AnalyzeDataDescriptionOutputFeature)

-- | Description of the input features in the data set.
addFeatures :: Lens' AnalyzeDataDescription [AnalyzeDataDescriptionFeaturesItem]

-- | Description of the model.
--   
--   <i>See:</i> <a>analyzeModelDescription</a> smart constructor.
data AnalyzeModelDescription

-- | Creates a value of <a>AnalyzeModelDescription</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>amdConfusionMatrixRowTotals</a></li>
--   <li><a>amdConfusionMatrix</a></li>
--   <li><a>amdModelInfo</a></li>
--   </ul>
analyzeModelDescription :: AnalyzeModelDescription

-- | A list of the confusion matrix row totals.
amdConfusionMatrixRowTotals :: Lens' AnalyzeModelDescription (Maybe AnalyzeModelDescriptionConfusionMatrixRowTotals)

-- | An output confusion matrix. This shows an estimate for how this model
--   will do in predictions. This is first indexed by the true class label.
--   For each true class label, this provides a pair {predicted_label,
--   count}, where count is the estimated number of times the model will
--   predict the predicted label given the true label. Will not output if
--   more then 100 classes (Categorical models only).
amdConfusionMatrix :: Lens' AnalyzeModelDescription (Maybe AnalyzeModelDescriptionConfusionMatrix)

-- | Basic information about the model.
amdModelInfo :: Lens' AnalyzeModelDescription (Maybe Insert2)

-- | Description of multiple-word text values of this feature.
--   
--   <i>See:</i> <a>analyzeDataDescriptionFeaturesItemText</a> smart
--   constructor.
data AnalyzeDataDescriptionFeaturesItemText

-- | Creates a value of <a>AnalyzeDataDescriptionFeaturesItemText</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>addfitCount</a></li>
--   </ul>
analyzeDataDescriptionFeaturesItemText :: AnalyzeDataDescriptionFeaturesItemText

-- | Number of multiple-word text values for this feature.
addfitCount :: Lens' AnalyzeDataDescriptionFeaturesItemText (Maybe Int64)

-- | Confusion matrix information for the true class label.
--   
--   <i>See:</i> <a>analyzeModelDescriptionConfusionMatrixAdditional</a>
--   smart constructor.
data AnalyzeModelDescriptionConfusionMatrixAdditional

-- | Creates a value of
--   <a>AnalyzeModelDescriptionConfusionMatrixAdditional</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>amdcmaAddtional</a></li>
--   </ul>
analyzeModelDescriptionConfusionMatrixAdditional :: HashMap Text Text -> AnalyzeModelDescriptionConfusionMatrixAdditional

-- | Average number of times an instance with correct class label
--   modelDescription.confusionMatrix.(key) was wrongfully classified as
--   this label.
amdcmaAddtional :: Lens' AnalyzeModelDescriptionConfusionMatrixAdditional (HashMap Text Text)
data AnalyzeDataDescriptionFeaturesItem

-- | Creates a value of <a>AnalyzeDataDescriptionFeaturesItem</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>addfiText</a></li>
--   <li><a>addfiNumeric</a></li>
--   <li><a>addfiIndex</a></li>
--   <li><a>addfiCategorical</a></li>
--   </ul>
analyzeDataDescriptionFeaturesItem :: AnalyzeDataDescriptionFeaturesItem

-- | Description of multiple-word text values of this feature.
addfiText :: Lens' AnalyzeDataDescriptionFeaturesItem (Maybe AnalyzeDataDescriptionFeaturesItemText)

-- | Description of the numeric values of this feature.
addfiNumeric :: Lens' AnalyzeDataDescriptionFeaturesItem (Maybe AnalyzeDataDescriptionFeaturesItemNumeric)

-- | The feature index.
addfiIndex :: Lens' AnalyzeDataDescriptionFeaturesItem (Maybe Int64)

-- | Description of the categorical values of this feature.
addfiCategorical :: Lens' AnalyzeDataDescriptionFeaturesItem (Maybe AnalyzeDataDescriptionFeaturesItemCategorical)
data Update

-- | Creates a value of <a>Update</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uCSVInstance</a></li>
--   <li><a>uOutput</a></li>
--   </ul>
update :: Update

-- | The input features for this instance.
uCSVInstance :: Lens' Update [JSONValue]

-- | The generic output value - could be regression or class label.
uOutput :: Lens' Update (Maybe Text)

-- | Description of the output value or label.
--   
--   <i>See:</i> <a>analyzeDataDescriptionOutputFeature</a> smart
--   constructor.
data AnalyzeDataDescriptionOutputFeature

-- | Creates a value of <a>AnalyzeDataDescriptionOutputFeature</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>addofText</a></li>
--   <li><a>addofNumeric</a></li>
--   </ul>
analyzeDataDescriptionOutputFeature :: AnalyzeDataDescriptionOutputFeature

-- | Description of the output labels in the data set.
addofText :: Lens' AnalyzeDataDescriptionOutputFeature [AnalyzeDataDescriptionOutputFeatureTextItem]

-- | Description of the output values in the data set.
addofNumeric :: Lens' AnalyzeDataDescriptionOutputFeature (Maybe AnalyzeDataDescriptionOutputFeatureNumeric)


-- | Submit input and request an output against a hosted model.
--   
--   <i>See:</i> <a>Prediction API Reference</a> for
--   <tt>prediction.hostedmodels.predict</tt>.
module Network.Google.Resource.Prediction.HostedModels.Predict

-- | A resource alias for <tt>prediction.hostedmodels.predict</tt> method
--   which the <a>HostedModelsPredict</a> request conforms to.
type HostedModelsPredictResource = "prediction" :> ("v1.6" :> ("projects" :> (Capture "project" Text :> ("hostedmodels" :> (Capture "hostedModelName" Text :> ("predict" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Input :> Post '[JSON] Output))))))))

-- | Creates a value of <a>HostedModelsPredict</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>hmpProject</a></li>
--   <li><a>hmpPayload</a></li>
--   <li><a>hmpHostedModelName</a></li>
--   </ul>
hostedModelsPredict :: Text -> Input -> Text -> HostedModelsPredict

-- | Submit input and request an output against a hosted model.
--   
--   <i>See:</i> <a>hostedModelsPredict</a> smart constructor.
data HostedModelsPredict

-- | The project associated with the model.
hmpProject :: Lens' HostedModelsPredict Text

-- | Multipart request metadata.
hmpPayload :: Lens' HostedModelsPredict Input

-- | The name of a hosted model.
hmpHostedModelName :: Lens' HostedModelsPredict Text
instance GHC.Generics.Generic Network.Google.Resource.Prediction.HostedModels.Predict.HostedModelsPredict
instance Data.Data.Data Network.Google.Resource.Prediction.HostedModels.Predict.HostedModelsPredict
instance GHC.Show.Show Network.Google.Resource.Prediction.HostedModels.Predict.HostedModelsPredict
instance GHC.Classes.Eq Network.Google.Resource.Prediction.HostedModels.Predict.HostedModelsPredict
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Prediction.HostedModels.Predict.HostedModelsPredict


-- | Get analysis of the model and the data the model was trained on.
--   
--   <i>See:</i> <a>Prediction API Reference</a> for
--   <tt>prediction.trainedmodels.analyze</tt>.
module Network.Google.Resource.Prediction.TrainedModels.Analyze

-- | A resource alias for <tt>prediction.trainedmodels.analyze</tt> method
--   which the <a>TrainedModelsAnalyze</a> request conforms to.
type TrainedModelsAnalyzeResource = "prediction" :> ("v1.6" :> ("projects" :> (Capture "project" Text :> ("trainedmodels" :> (Capture "id" Text :> ("analyze" :> (QueryParam "alt" AltJSON :> Get '[JSON] Analyze)))))))

-- | Creates a value of <a>TrainedModelsAnalyze</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tmaProject</a></li>
--   <li><a>tmaId</a></li>
--   </ul>
trainedModelsAnalyze :: Text -> Text -> TrainedModelsAnalyze

-- | Get analysis of the model and the data the model was trained on.
--   
--   <i>See:</i> <a>trainedModelsAnalyze</a> smart constructor.
data TrainedModelsAnalyze

-- | The project associated with the model.
tmaProject :: Lens' TrainedModelsAnalyze Text

-- | The unique name for the predictive model.
tmaId :: Lens' TrainedModelsAnalyze Text
instance GHC.Generics.Generic Network.Google.Resource.Prediction.TrainedModels.Analyze.TrainedModelsAnalyze
instance Data.Data.Data Network.Google.Resource.Prediction.TrainedModels.Analyze.TrainedModelsAnalyze
instance GHC.Show.Show Network.Google.Resource.Prediction.TrainedModels.Analyze.TrainedModelsAnalyze
instance GHC.Classes.Eq Network.Google.Resource.Prediction.TrainedModels.Analyze.TrainedModelsAnalyze
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Prediction.TrainedModels.Analyze.TrainedModelsAnalyze


-- | Delete a trained model.
--   
--   <i>See:</i> <a>Prediction API Reference</a> for
--   <tt>prediction.trainedmodels.delete</tt>.
module Network.Google.Resource.Prediction.TrainedModels.Delete

-- | A resource alias for <tt>prediction.trainedmodels.delete</tt> method
--   which the <a>TrainedModelsDelete</a> request conforms to.
type TrainedModelsDeleteResource = "prediction" :> ("v1.6" :> ("projects" :> (Capture "project" Text :> ("trainedmodels" :> (Capture "id" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))

-- | Creates a value of <a>TrainedModelsDelete</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tmdProject</a></li>
--   <li><a>tmdId</a></li>
--   </ul>
trainedModelsDelete :: Text -> Text -> TrainedModelsDelete

-- | Delete a trained model.
--   
--   <i>See:</i> <a>trainedModelsDelete</a> smart constructor.
data TrainedModelsDelete

-- | The project associated with the model.
tmdProject :: Lens' TrainedModelsDelete Text

-- | The unique name for the predictive model.
tmdId :: Lens' TrainedModelsDelete Text
instance GHC.Generics.Generic Network.Google.Resource.Prediction.TrainedModels.Delete.TrainedModelsDelete
instance Data.Data.Data Network.Google.Resource.Prediction.TrainedModels.Delete.TrainedModelsDelete
instance GHC.Show.Show Network.Google.Resource.Prediction.TrainedModels.Delete.TrainedModelsDelete
instance GHC.Classes.Eq Network.Google.Resource.Prediction.TrainedModels.Delete.TrainedModelsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Prediction.TrainedModels.Delete.TrainedModelsDelete


-- | Check training status of your model.
--   
--   <i>See:</i> <a>Prediction API Reference</a> for
--   <tt>prediction.trainedmodels.get</tt>.
module Network.Google.Resource.Prediction.TrainedModels.Get

-- | A resource alias for <tt>prediction.trainedmodels.get</tt> method
--   which the <a>TrainedModelsGet</a> request conforms to.
type TrainedModelsGetResource = "prediction" :> ("v1.6" :> ("projects" :> (Capture "project" Text :> ("trainedmodels" :> (Capture "id" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Insert2))))))

-- | Creates a value of <a>TrainedModelsGet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tmgProject</a></li>
--   <li><a>tmgId</a></li>
--   </ul>
trainedModelsGet :: Text -> Text -> TrainedModelsGet

-- | Check training status of your model.
--   
--   <i>See:</i> <a>trainedModelsGet</a> smart constructor.
data TrainedModelsGet

-- | The project associated with the model.
tmgProject :: Lens' TrainedModelsGet Text

-- | The unique name for the predictive model.
tmgId :: Lens' TrainedModelsGet Text
instance GHC.Generics.Generic Network.Google.Resource.Prediction.TrainedModels.Get.TrainedModelsGet
instance Data.Data.Data Network.Google.Resource.Prediction.TrainedModels.Get.TrainedModelsGet
instance GHC.Show.Show Network.Google.Resource.Prediction.TrainedModels.Get.TrainedModelsGet
instance GHC.Classes.Eq Network.Google.Resource.Prediction.TrainedModels.Get.TrainedModelsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Prediction.TrainedModels.Get.TrainedModelsGet


-- | Train a Prediction API model.
--   
--   <i>See:</i> <a>Prediction API Reference</a> for
--   <tt>prediction.trainedmodels.insert</tt>.
module Network.Google.Resource.Prediction.TrainedModels.Insert

-- | A resource alias for <tt>prediction.trainedmodels.insert</tt> method
--   which the <a>TrainedModelsInsert</a> request conforms to.
type TrainedModelsInsertResource = "prediction" :> ("v1.6" :> ("projects" :> (Capture "project" Text :> ("trainedmodels" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Insert :> Post '[JSON] Insert2))))))

-- | Creates a value of <a>TrainedModelsInsert</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tmiProject</a></li>
--   <li><a>tmiPayload</a></li>
--   </ul>
trainedModelsInsert :: Text -> Insert -> TrainedModelsInsert

-- | Train a Prediction API model.
--   
--   <i>See:</i> <a>trainedModelsInsert</a> smart constructor.
data TrainedModelsInsert

-- | The project associated with the model.
tmiProject :: Lens' TrainedModelsInsert Text

-- | Multipart request metadata.
tmiPayload :: Lens' TrainedModelsInsert Insert
instance GHC.Generics.Generic Network.Google.Resource.Prediction.TrainedModels.Insert.TrainedModelsInsert
instance Data.Data.Data Network.Google.Resource.Prediction.TrainedModels.Insert.TrainedModelsInsert
instance GHC.Show.Show Network.Google.Resource.Prediction.TrainedModels.Insert.TrainedModelsInsert
instance GHC.Classes.Eq Network.Google.Resource.Prediction.TrainedModels.Insert.TrainedModelsInsert
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Prediction.TrainedModels.Insert.TrainedModelsInsert


-- | List available models.
--   
--   <i>See:</i> <a>Prediction API Reference</a> for
--   <tt>prediction.trainedmodels.list</tt>.
module Network.Google.Resource.Prediction.TrainedModels.List

-- | A resource alias for <tt>prediction.trainedmodels.list</tt> method
--   which the <a>TrainedModelsList</a> request conforms to.
type TrainedModelsListResource = "prediction" :> ("v1.6" :> ("projects" :> (Capture "project" Text :> ("trainedmodels" :> ("list" :> (QueryParam "pageToken" Text :> (QueryParam "maxResults" (Textual Word32) :> (QueryParam "alt" AltJSON :> Get '[JSON] List))))))))

-- | Creates a value of <a>TrainedModelsList</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tmlProject</a></li>
--   <li><a>tmlPageToken</a></li>
--   <li><a>tmlMaxResults</a></li>
--   </ul>
trainedModelsList :: Text -> TrainedModelsList

-- | List available models.
--   
--   <i>See:</i> <a>trainedModelsList</a> smart constructor.
data TrainedModelsList

-- | The project associated with the model.
tmlProject :: Lens' TrainedModelsList Text

-- | Pagination token.
tmlPageToken :: Lens' TrainedModelsList (Maybe Text)

-- | Maximum number of results to return.
tmlMaxResults :: Lens' TrainedModelsList (Maybe Word32)
instance GHC.Generics.Generic Network.Google.Resource.Prediction.TrainedModels.List.TrainedModelsList
instance Data.Data.Data Network.Google.Resource.Prediction.TrainedModels.List.TrainedModelsList
instance GHC.Show.Show Network.Google.Resource.Prediction.TrainedModels.List.TrainedModelsList
instance GHC.Classes.Eq Network.Google.Resource.Prediction.TrainedModels.List.TrainedModelsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Prediction.TrainedModels.List.TrainedModelsList


-- | Submit model id and request a prediction.
--   
--   <i>See:</i> <a>Prediction API Reference</a> for
--   <tt>prediction.trainedmodels.predict</tt>.
module Network.Google.Resource.Prediction.TrainedModels.Predict

-- | A resource alias for <tt>prediction.trainedmodels.predict</tt> method
--   which the <a>TrainedModelsPredict</a> request conforms to.
type TrainedModelsPredictResource = "prediction" :> ("v1.6" :> ("projects" :> (Capture "project" Text :> ("trainedmodels" :> (Capture "id" Text :> ("predict" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Input :> Post '[JSON] Output))))))))

-- | Creates a value of <a>TrainedModelsPredict</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tmpProject</a></li>
--   <li><a>tmpPayload</a></li>
--   <li><a>tmpId</a></li>
--   </ul>
trainedModelsPredict :: Text -> Input -> Text -> TrainedModelsPredict

-- | Submit model id and request a prediction.
--   
--   <i>See:</i> <a>trainedModelsPredict</a> smart constructor.
data TrainedModelsPredict

-- | The project associated with the model.
tmpProject :: Lens' TrainedModelsPredict Text

-- | Multipart request metadata.
tmpPayload :: Lens' TrainedModelsPredict Input

-- | The unique name for the predictive model.
tmpId :: Lens' TrainedModelsPredict Text
instance GHC.Generics.Generic Network.Google.Resource.Prediction.TrainedModels.Predict.TrainedModelsPredict
instance Data.Data.Data Network.Google.Resource.Prediction.TrainedModels.Predict.TrainedModelsPredict
instance GHC.Show.Show Network.Google.Resource.Prediction.TrainedModels.Predict.TrainedModelsPredict
instance GHC.Classes.Eq Network.Google.Resource.Prediction.TrainedModels.Predict.TrainedModelsPredict
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Prediction.TrainedModels.Predict.TrainedModelsPredict


-- | Add new data to a trained model.
--   
--   <i>See:</i> <a>Prediction API Reference</a> for
--   <tt>prediction.trainedmodels.update</tt>.
module Network.Google.Resource.Prediction.TrainedModels.Update

-- | A resource alias for <tt>prediction.trainedmodels.update</tt> method
--   which the <a>TrainedModelsUpdate</a> request conforms to.
type TrainedModelsUpdateResource = "prediction" :> ("v1.6" :> ("projects" :> (Capture "project" Text :> ("trainedmodels" :> (Capture "id" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Update :> Put '[JSON] Insert2)))))))

-- | Creates a value of <a>TrainedModelsUpdate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tmuProject</a></li>
--   <li><a>tmuPayload</a></li>
--   <li><a>tmuId</a></li>
--   </ul>
trainedModelsUpdate :: Text -> Update -> Text -> TrainedModelsUpdate

-- | Add new data to a trained model.
--   
--   <i>See:</i> <a>trainedModelsUpdate</a> smart constructor.
data TrainedModelsUpdate

-- | The project associated with the model.
tmuProject :: Lens' TrainedModelsUpdate Text

-- | Multipart request metadata.
tmuPayload :: Lens' TrainedModelsUpdate Update

-- | The unique name for the predictive model.
tmuId :: Lens' TrainedModelsUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.Prediction.TrainedModels.Update.TrainedModelsUpdate
instance Data.Data.Data Network.Google.Resource.Prediction.TrainedModels.Update.TrainedModelsUpdate
instance GHC.Show.Show Network.Google.Resource.Prediction.TrainedModels.Update.TrainedModelsUpdate
instance GHC.Classes.Eq Network.Google.Resource.Prediction.TrainedModels.Update.TrainedModelsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.Prediction.TrainedModels.Update.TrainedModelsUpdate


-- | Lets you access a cloud hosted machine learning service that makes it
--   easy to build smart apps
--   
--   <i>See:</i> <a>Prediction API Reference</a>
module Network.Google.Prediction

-- | Default request referring to version 'v1.6' of the Prediction API.
--   This contains the host and root path used as a starting point for
--   constructing service requests.
predictionService :: ServiceConfig

-- | View and manage your data across Google Cloud Platform services
cloudPlatformScope :: Proxy '["https://www.googleapis.com/auth/cloud-platform"]

-- | View your data in Google Cloud Storage
storageReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/devstorage.read_only"]

-- | Manage your data in Google Cloud Storage
storageReadWriteScope :: Proxy '["https://www.googleapis.com/auth/devstorage.read_write"]

-- | Manage your data in the Google Prediction API
predictionScope :: Proxy '["https://www.googleapis.com/auth/prediction"]

-- | Manage your data and permissions in Google Cloud Storage
storageFullControlScope :: Proxy '["https://www.googleapis.com/auth/devstorage.full_control"]

-- | Represents the entirety of the methods and resources available for the
--   Prediction API service.
type PredictionAPI = TrainedModelsInsertResource :<|> (TrainedModelsListResource :<|> (TrainedModelsGetResource :<|> (TrainedModelsAnalyzeResource :<|> (TrainedModelsPredictResource :<|> (TrainedModelsDeleteResource :<|> (TrainedModelsUpdateResource :<|> HostedModelsPredictResource))))))

-- | Model metadata.
--   
--   <i>See:</i> <a>insert2ModelInfo</a> smart constructor.
data Insert2ModelInfo

-- | Creates a value of <a>Insert2ModelInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>imiModelType</a></li>
--   <li><a>imiClassWeightedAccuracy</a></li>
--   <li><a>imiClassificationAccuracy</a></li>
--   <li><a>imiMeanSquaredError</a></li>
--   <li><a>imiNumberLabels</a></li>
--   <li><a>imiNumberInstances</a></li>
--   </ul>
insert2ModelInfo :: Insert2ModelInfo

-- | Type of predictive model (CLASSIFICATION or REGRESSION).
imiModelType :: Lens' Insert2ModelInfo (Maybe Text)

-- | Estimated accuracy of model taking utility weights into account
--   (Categorical models only).
imiClassWeightedAccuracy :: Lens' Insert2ModelInfo (Maybe Text)

-- | A number between 0.0 and 1.0, where 1.0 is 100% accurate. This is an
--   estimate, based on the amount and quality of the training data, of the
--   estimated prediction accuracy. You can use this is a guide to decide
--   whether the results are accurate enough for your needs. This estimate
--   will be more reliable if your real input data is similar to your
--   training data (Categorical models only).
imiClassificationAccuracy :: Lens' Insert2ModelInfo (Maybe Text)

-- | An estimated mean squared error. The can be used to measure the
--   quality of the predicted model (Regression models only).
imiMeanSquaredError :: Lens' Insert2ModelInfo (Maybe Text)

-- | Number of class labels in the trained model (Categorical models only).
imiNumberLabels :: Lens' Insert2ModelInfo (Maybe Int64)

-- | Number of valid data instances used in the trained model.
imiNumberInstances :: Lens' Insert2ModelInfo (Maybe Int64)

-- | A list of the confusion matrix row totals.
--   
--   <i>See:</i> <a>analyzeModelDescriptionConfusionMatrixRowTotals</a>
--   smart constructor.
data AnalyzeModelDescriptionConfusionMatrixRowTotals

-- | Creates a value of
--   <a>AnalyzeModelDescriptionConfusionMatrixRowTotals</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>amdcmrtAddtional</a></li>
--   </ul>
analyzeModelDescriptionConfusionMatrixRowTotals :: HashMap Text Text -> AnalyzeModelDescriptionConfusionMatrixRowTotals
amdcmrtAddtional :: Lens' AnalyzeModelDescriptionConfusionMatrixRowTotals (HashMap Text Text)
data Insert

-- | Creates a value of <a>Insert</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iStorageDataLocation</a></li>
--   <li><a>iModelType</a></li>
--   <li><a>iTrainingInstances</a></li>
--   <li><a>iUtility</a></li>
--   <li><a>iStoragePMMLModelLocation</a></li>
--   <li><a>iSourceModel</a></li>
--   <li><a>iId</a></li>
--   <li><a>iStoragePMMLLocation</a></li>
--   </ul>
insert :: Insert

-- | Google storage location of the training data file.
iStorageDataLocation :: Lens' Insert (Maybe Text)

-- | Type of predictive model (classification or regression).
iModelType :: Lens' Insert (Maybe Text)

-- | Instances to train model on.
iTrainingInstances :: Lens' Insert [InsertTrainingInstancesItem]

-- | A class weighting function, which allows the importance weights for
--   class labels to be specified (Categorical models only).
iUtility :: Lens' Insert [InsertUtilityItem]

-- | Google storage location of the pmml model file.
iStoragePMMLModelLocation :: Lens' Insert (Maybe Text)

-- | The Id of the model to be copied over.
iSourceModel :: Lens' Insert (Maybe Text)

-- | The unique name for the predictive model.
iId :: Lens' Insert (Maybe Text)

-- | Google storage location of the preprocessing pmml file.
iStoragePMMLLocation :: Lens' Insert (Maybe Text)
data List

-- | Creates a value of <a>List</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lNextPageToken</a></li>
--   <li><a>lKind</a></li>
--   <li><a>lItems</a></li>
--   <li><a>lSelfLink</a></li>
--   </ul>
list :: List

-- | Pagination token to fetch the next page, if one exists.
lNextPageToken :: Lens' List (Maybe Text)

-- | What kind of resource this is.
lKind :: Lens' List Text

-- | List of models.
lItems :: Lens' List [Insert2]

-- | A URL to re-request this resource.
lSelfLink :: Lens' List (Maybe Text)

-- | Class label (string).
--   
--   <i>See:</i> <a>insertUtilityItem</a> smart constructor.
data InsertUtilityItem

-- | Creates a value of <a>InsertUtilityItem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iuiAddtional</a></li>
--   </ul>
insertUtilityItem :: HashMap Text Double -> InsertUtilityItem
iuiAddtional :: Lens' InsertUtilityItem (HashMap Text Double)
data Insert2

-- | Creates a value of <a>Insert2</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>insStorageDataLocation</a></li>
--   <li><a>insModelType</a></li>
--   <li><a>insKind</a></li>
--   <li><a>insCreated</a></li>
--   <li><a>insTrainingComplete</a></li>
--   <li><a>insSelfLink</a></li>
--   <li><a>insTrainingStatus</a></li>
--   <li><a>insStoragePMMLModelLocation</a></li>
--   <li><a>insId</a></li>
--   <li><a>insStoragePMMLLocation</a></li>
--   <li><a>insModelInfo</a></li>
--   </ul>
insert2 :: Insert2

-- | Google storage location of the training data file.
insStorageDataLocation :: Lens' Insert2 (Maybe Text)

-- | Type of predictive model (CLASSIFICATION or REGRESSION).
insModelType :: Lens' Insert2 (Maybe Text)

-- | What kind of resource this is.
insKind :: Lens' Insert2 Text

-- | Insert time of the model (as a RFC 3339 timestamp).
insCreated :: Lens' Insert2 (Maybe UTCTime)

-- | Training completion time (as a RFC 3339 timestamp).
insTrainingComplete :: Lens' Insert2 (Maybe UTCTime)

-- | A URL to re-request this resource.
insSelfLink :: Lens' Insert2 (Maybe Text)

-- | The current status of the training job. This can be one of following:
--   RUNNING; DONE; ERROR; ERROR: TRAINING JOB NOT FOUND
insTrainingStatus :: Lens' Insert2 (Maybe Text)

-- | Google storage location of the pmml model file.
insStoragePMMLModelLocation :: Lens' Insert2 (Maybe Text)

-- | The unique name for the predictive model.
insId :: Lens' Insert2 (Maybe Text)

-- | Google storage location of the preprocessing pmml file.
insStoragePMMLLocation :: Lens' Insert2 (Maybe Text)

-- | Model metadata.
insModelInfo :: Lens' Insert2 (Maybe Insert2ModelInfo)
data InsertTrainingInstancesItem

-- | Creates a value of <a>InsertTrainingInstancesItem</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>itiiCSVInstance</a></li>
--   <li><a>itiiOutput</a></li>
--   </ul>
insertTrainingInstancesItem :: InsertTrainingInstancesItem

-- | The input features for this instance.
itiiCSVInstance :: Lens' InsertTrainingInstancesItem [JSONValue]

-- | The generic output value - could be regression or class label.
itiiOutput :: Lens' InsertTrainingInstancesItem (Maybe Text)

-- | Input to the model for a prediction.
--   
--   <i>See:</i> <a>inputInput</a> smart constructor.
data InputInput

-- | Creates a value of <a>InputInput</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iiCSVInstance</a></li>
--   </ul>
inputInput :: InputInput

-- | A list of input features, these can be strings or doubles.
iiCSVInstance :: Lens' InputInput [JSONValue]
data AnalyzeDataDescriptionFeaturesItemCategoricalValuesItem

-- | Creates a value of
--   <a>AnalyzeDataDescriptionFeaturesItemCategoricalValuesItem</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>addficviValue</a></li>
--   <li><a>addficviCount</a></li>
--   </ul>
analyzeDataDescriptionFeaturesItemCategoricalValuesItem :: AnalyzeDataDescriptionFeaturesItemCategoricalValuesItem

-- | The category name.
addficviValue :: Lens' AnalyzeDataDescriptionFeaturesItemCategoricalValuesItem (Maybe Text)

-- | Number of times this feature had this value.
addficviCount :: Lens' AnalyzeDataDescriptionFeaturesItemCategoricalValuesItem (Maybe Int64)

-- | Description of the numeric values of this feature.
--   
--   <i>See:</i> <a>analyzeDataDescriptionFeaturesItemNumeric</a> smart
--   constructor.
data AnalyzeDataDescriptionFeaturesItemNumeric

-- | Creates a value of <a>AnalyzeDataDescriptionFeaturesItemNumeric</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>addfinMean</a></li>
--   <li><a>addfinCount</a></li>
--   <li><a>addfinVariance</a></li>
--   </ul>
analyzeDataDescriptionFeaturesItemNumeric :: AnalyzeDataDescriptionFeaturesItemNumeric

-- | Mean of the numeric values of this feature in the data set.
addfinMean :: Lens' AnalyzeDataDescriptionFeaturesItemNumeric (Maybe Text)

-- | Number of numeric values for this feature in the data set.
addfinCount :: Lens' AnalyzeDataDescriptionFeaturesItemNumeric (Maybe Int64)

-- | Variance of the numeric values of this feature in the data set.
addfinVariance :: Lens' AnalyzeDataDescriptionFeaturesItemNumeric (Maybe Text)
data Input

-- | Creates a value of <a>Input</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iInput</a></li>
--   </ul>
input :: Input

-- | Input to the model for a prediction.
iInput :: Lens' Input (Maybe InputInput)

-- | Description of the categorical values of this feature.
--   
--   <i>See:</i> <a>analyzeDataDescriptionFeaturesItemCategorical</a> smart
--   constructor.
data AnalyzeDataDescriptionFeaturesItemCategorical

-- | Creates a value of
--   <a>AnalyzeDataDescriptionFeaturesItemCategorical</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>addficValues</a></li>
--   <li><a>addficCount</a></li>
--   </ul>
analyzeDataDescriptionFeaturesItemCategorical :: AnalyzeDataDescriptionFeaturesItemCategorical

-- | List of all the categories for this feature in the data set.
addficValues :: Lens' AnalyzeDataDescriptionFeaturesItemCategorical [AnalyzeDataDescriptionFeaturesItemCategoricalValuesItem]

-- | Number of categorical values for this feature in the data.
addficCount :: Lens' AnalyzeDataDescriptionFeaturesItemCategorical (Maybe Int64)
data AnalyzeDataDescriptionOutputFeatureTextItem

-- | Creates a value of <a>AnalyzeDataDescriptionOutputFeatureTextItem</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>addoftiValue</a></li>
--   <li><a>addoftiCount</a></li>
--   </ul>
analyzeDataDescriptionOutputFeatureTextItem :: AnalyzeDataDescriptionOutputFeatureTextItem

-- | The output label.
addoftiValue :: Lens' AnalyzeDataDescriptionOutputFeatureTextItem (Maybe Text)

-- | Number of times the output label occurred in the data set.
addoftiCount :: Lens' AnalyzeDataDescriptionOutputFeatureTextItem (Maybe Int64)
data OutputOutputMultiItem

-- | Creates a value of <a>OutputOutputMultiItem</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oomiScore</a></li>
--   <li><a>oomiLabel</a></li>
--   </ul>
outputOutputMultiItem :: OutputOutputMultiItem

-- | The probability of the class label.
oomiScore :: Lens' OutputOutputMultiItem (Maybe Text)

-- | The class label.
oomiLabel :: Lens' OutputOutputMultiItem (Maybe Text)
data Analyze

-- | Creates a value of <a>Analyze</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aKind</a></li>
--   <li><a>aModelDescription</a></li>
--   <li><a>aSelfLink</a></li>
--   <li><a>aId</a></li>
--   <li><a>aErrors</a></li>
--   <li><a>aDataDescription</a></li>
--   </ul>
analyze :: Analyze

-- | What kind of resource this is.
aKind :: Lens' Analyze Text

-- | Description of the model.
aModelDescription :: Lens' Analyze (Maybe AnalyzeModelDescription)

-- | A URL to re-request this resource.
aSelfLink :: Lens' Analyze (Maybe Text)

-- | The unique name for the predictive model.
aId :: Lens' Analyze (Maybe Text)

-- | List of errors with the data.
aErrors :: Lens' Analyze [AnalyzeErrorsItem]

-- | Description of the data the model was trained on.
aDataDescription :: Lens' Analyze (Maybe AnalyzeDataDescription)

-- | An output confusion matrix. This shows an estimate for how this model
--   will do in predictions. This is first indexed by the true class label.
--   For each true class label, this provides a pair {predicted_label,
--   count}, where count is the estimated number of times the model will
--   predict the predicted label given the true label. Will not output if
--   more then 100 classes (Categorical models only).
--   
--   <i>See:</i> <a>analyzeModelDescriptionConfusionMatrix</a> smart
--   constructor.
data AnalyzeModelDescriptionConfusionMatrix

-- | Creates a value of <a>AnalyzeModelDescriptionConfusionMatrix</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>amdcmAddtional</a></li>
--   </ul>
analyzeModelDescriptionConfusionMatrix :: HashMap Text AnalyzeModelDescriptionConfusionMatrixAdditional -> AnalyzeModelDescriptionConfusionMatrix

-- | Confusion matrix information for the true class label.
amdcmAddtional :: Lens' AnalyzeModelDescriptionConfusionMatrix (HashMap Text AnalyzeModelDescriptionConfusionMatrixAdditional)
data Output

-- | Creates a value of <a>Output</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>oOutputValue</a></li>
--   <li><a>oKind</a></li>
--   <li><a>oOutputLabel</a></li>
--   <li><a>oSelfLink</a></li>
--   <li><a>oId</a></li>
--   <li><a>oOutputMulti</a></li>
--   </ul>
output :: Output

-- | The estimated regression value (Regression models only).
oOutputValue :: Lens' Output (Maybe Text)

-- | What kind of resource this is.
oKind :: Lens' Output Text

-- | The most likely class label (Categorical models only).
oOutputLabel :: Lens' Output (Maybe Text)

-- | A URL to re-request this resource.
oSelfLink :: Lens' Output (Maybe Text)

-- | The unique name for the predictive model.
oId :: Lens' Output (Maybe Text)

-- | A list of class labels with their estimated probabilities (Categorical
--   models only).
oOutputMulti :: Lens' Output [OutputOutputMultiItem]

-- | Description of the output values in the data set.
--   
--   <i>See:</i> <a>analyzeDataDescriptionOutputFeatureNumeric</a> smart
--   constructor.
data AnalyzeDataDescriptionOutputFeatureNumeric

-- | Creates a value of <a>AnalyzeDataDescriptionOutputFeatureNumeric</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>addofnMean</a></li>
--   <li><a>addofnCount</a></li>
--   <li><a>addofnVariance</a></li>
--   </ul>
analyzeDataDescriptionOutputFeatureNumeric :: AnalyzeDataDescriptionOutputFeatureNumeric

-- | Mean of the output values in the data set.
addofnMean :: Lens' AnalyzeDataDescriptionOutputFeatureNumeric (Maybe Text)

-- | Number of numeric output values in the data set.
addofnCount :: Lens' AnalyzeDataDescriptionOutputFeatureNumeric (Maybe Int64)

-- | Variance of the output values in the data set.
addofnVariance :: Lens' AnalyzeDataDescriptionOutputFeatureNumeric (Maybe Text)
data AnalyzeErrorsItem

-- | Creates a value of <a>AnalyzeErrorsItem</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aeiAddtional</a></li>
--   </ul>
analyzeErrorsItem :: HashMap Text Text -> AnalyzeErrorsItem

-- | Error level followed by a detailed error message.
aeiAddtional :: Lens' AnalyzeErrorsItem (HashMap Text Text)

-- | Description of the data the model was trained on.
--   
--   <i>See:</i> <a>analyzeDataDescription</a> smart constructor.
data AnalyzeDataDescription

-- | Creates a value of <a>AnalyzeDataDescription</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>addOutputFeature</a></li>
--   <li><a>addFeatures</a></li>
--   </ul>
analyzeDataDescription :: AnalyzeDataDescription

-- | Description of the output value or label.
addOutputFeature :: Lens' AnalyzeDataDescription (Maybe AnalyzeDataDescriptionOutputFeature)

-- | Description of the input features in the data set.
addFeatures :: Lens' AnalyzeDataDescription [AnalyzeDataDescriptionFeaturesItem]

-- | Description of the model.
--   
--   <i>See:</i> <a>analyzeModelDescription</a> smart constructor.
data AnalyzeModelDescription

-- | Creates a value of <a>AnalyzeModelDescription</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>amdConfusionMatrixRowTotals</a></li>
--   <li><a>amdConfusionMatrix</a></li>
--   <li><a>amdModelInfo</a></li>
--   </ul>
analyzeModelDescription :: AnalyzeModelDescription

-- | A list of the confusion matrix row totals.
amdConfusionMatrixRowTotals :: Lens' AnalyzeModelDescription (Maybe AnalyzeModelDescriptionConfusionMatrixRowTotals)

-- | An output confusion matrix. This shows an estimate for how this model
--   will do in predictions. This is first indexed by the true class label.
--   For each true class label, this provides a pair {predicted_label,
--   count}, where count is the estimated number of times the model will
--   predict the predicted label given the true label. Will not output if
--   more then 100 classes (Categorical models only).
amdConfusionMatrix :: Lens' AnalyzeModelDescription (Maybe AnalyzeModelDescriptionConfusionMatrix)

-- | Basic information about the model.
amdModelInfo :: Lens' AnalyzeModelDescription (Maybe Insert2)

-- | Description of multiple-word text values of this feature.
--   
--   <i>See:</i> <a>analyzeDataDescriptionFeaturesItemText</a> smart
--   constructor.
data AnalyzeDataDescriptionFeaturesItemText

-- | Creates a value of <a>AnalyzeDataDescriptionFeaturesItemText</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>addfitCount</a></li>
--   </ul>
analyzeDataDescriptionFeaturesItemText :: AnalyzeDataDescriptionFeaturesItemText

-- | Number of multiple-word text values for this feature.
addfitCount :: Lens' AnalyzeDataDescriptionFeaturesItemText (Maybe Int64)

-- | Confusion matrix information for the true class label.
--   
--   <i>See:</i> <a>analyzeModelDescriptionConfusionMatrixAdditional</a>
--   smart constructor.
data AnalyzeModelDescriptionConfusionMatrixAdditional

-- | Creates a value of
--   <a>AnalyzeModelDescriptionConfusionMatrixAdditional</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>amdcmaAddtional</a></li>
--   </ul>
analyzeModelDescriptionConfusionMatrixAdditional :: HashMap Text Text -> AnalyzeModelDescriptionConfusionMatrixAdditional

-- | Average number of times an instance with correct class label
--   modelDescription.confusionMatrix.(key) was wrongfully classified as
--   this label.
amdcmaAddtional :: Lens' AnalyzeModelDescriptionConfusionMatrixAdditional (HashMap Text Text)
data AnalyzeDataDescriptionFeaturesItem

-- | Creates a value of <a>AnalyzeDataDescriptionFeaturesItem</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>addfiText</a></li>
--   <li><a>addfiNumeric</a></li>
--   <li><a>addfiIndex</a></li>
--   <li><a>addfiCategorical</a></li>
--   </ul>
analyzeDataDescriptionFeaturesItem :: AnalyzeDataDescriptionFeaturesItem

-- | Description of multiple-word text values of this feature.
addfiText :: Lens' AnalyzeDataDescriptionFeaturesItem (Maybe AnalyzeDataDescriptionFeaturesItemText)

-- | Description of the numeric values of this feature.
addfiNumeric :: Lens' AnalyzeDataDescriptionFeaturesItem (Maybe AnalyzeDataDescriptionFeaturesItemNumeric)

-- | The feature index.
addfiIndex :: Lens' AnalyzeDataDescriptionFeaturesItem (Maybe Int64)

-- | Description of the categorical values of this feature.
addfiCategorical :: Lens' AnalyzeDataDescriptionFeaturesItem (Maybe AnalyzeDataDescriptionFeaturesItemCategorical)
data Update

-- | Creates a value of <a>Update</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uCSVInstance</a></li>
--   <li><a>uOutput</a></li>
--   </ul>
update :: Update

-- | The input features for this instance.
uCSVInstance :: Lens' Update [JSONValue]

-- | The generic output value - could be regression or class label.
uOutput :: Lens' Update (Maybe Text)

-- | Description of the output value or label.
--   
--   <i>See:</i> <a>analyzeDataDescriptionOutputFeature</a> smart
--   constructor.
data AnalyzeDataDescriptionOutputFeature

-- | Creates a value of <a>AnalyzeDataDescriptionOutputFeature</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>addofText</a></li>
--   <li><a>addofNumeric</a></li>
--   </ul>
analyzeDataDescriptionOutputFeature :: AnalyzeDataDescriptionOutputFeature

-- | Description of the output labels in the data set.
addofText :: Lens' AnalyzeDataDescriptionOutputFeature [AnalyzeDataDescriptionOutputFeatureTextItem]

-- | Description of the output values in the data set.
addofNumeric :: Lens' AnalyzeDataDescriptionOutputFeature (Maybe AnalyzeDataDescriptionOutputFeatureNumeric)
