All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.dmg.pmml.RegressionModel Maven / Gradle / Ivy

There is a newer version: 1.6.5
Show newest version

package org.dmg.pmml;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import com.sun.xml.bind.Locatable;
import com.sun.xml.bind.annotation.XmlLocation;
import org.jpmml.schema.Added;
import org.jpmml.schema.Deprecated;
import org.jpmml.schema.Version;
import org.xml.sax.Locator;


/**
 * 

Java class for anonymous complex type. * *

The following schema fragment specifies the expected content contained within this class. * *

 * <complexType>
 *   <complexContent>
 *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       <sequence>
 *         <element ref="{http://www.dmg.org/PMML-4_2}Extension" maxOccurs="unbounded" minOccurs="0"/>
 *         <element ref="{http://www.dmg.org/PMML-4_2}MiningSchema"/>
 *         <element ref="{http://www.dmg.org/PMML-4_2}Output" minOccurs="0"/>
 *         <element ref="{http://www.dmg.org/PMML-4_2}ModelStats" minOccurs="0"/>
 *         <element ref="{http://www.dmg.org/PMML-4_2}ModelExplanation" minOccurs="0"/>
 *         <element ref="{http://www.dmg.org/PMML-4_2}Targets" minOccurs="0"/>
 *         <element ref="{http://www.dmg.org/PMML-4_2}LocalTransformations" minOccurs="0"/>
 *         <element ref="{http://www.dmg.org/PMML-4_2}RegressionTable" maxOccurs="unbounded"/>
 *         <element ref="{http://www.dmg.org/PMML-4_2}ModelVerification" minOccurs="0"/>
 *       </sequence>
 *       <attribute name="modelName" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       <attribute name="functionName" use="required" type="{http://www.dmg.org/PMML-4_2}MINING-FUNCTION" />
 *       <attribute name="algorithmName" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       <attribute name="modelType">
 *         <simpleType>
 *           <restriction base="{http://www.w3.org/2001/XMLSchema}string">
 *             <enumeration value="linearRegression"/>
 *             <enumeration value="stepwisePolynomialRegression"/>
 *             <enumeration value="logisticRegression"/>
 *           </restriction>
 *         </simpleType>
 *       </attribute>
 *       <attribute name="targetFieldName" type="{http://www.dmg.org/PMML-4_2}FIELD-NAME" />
 *       <attribute name="normalizationMethod" type="{http://www.dmg.org/PMML-4_2}REGRESSIONNORMALIZATIONMETHOD" default="none" />
 *       <attribute name="isScorable" type="{http://www.w3.org/2001/XMLSchema}boolean" default="true" />
 *     </restriction>
 *   </complexContent>
 * </complexType>
 * 
* * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "extensions", "miningSchema", "output", "modelStats", "modelExplanation", "targets", "localTransformations", "regressionTables", "modelVerification" }) @XmlRootElement(name = "RegressionModel") public class RegressionModel extends Model implements Locatable, HasExtensions { @XmlElement(name = "Extension") protected List extensions; @XmlElement(name = "MiningSchema", required = true) protected MiningSchema miningSchema; @XmlElement(name = "Output") protected Output output; @XmlElement(name = "ModelStats") protected ModelStats modelStats; @XmlElement(name = "ModelExplanation") @Added(Version.PMML_4_0) protected ModelExplanation modelExplanation; @XmlElement(name = "Targets") protected Targets targets; @XmlElement(name = "LocalTransformations") protected LocalTransformations localTransformations; @XmlElement(name = "RegressionTable", required = true) protected List regressionTables; @XmlElement(name = "ModelVerification") protected ModelVerification modelVerification; @XmlAttribute(name = "modelName") protected String modelName; @XmlAttribute(name = "functionName", required = true) protected MiningFunctionType functionName; @XmlAttribute(name = "algorithmName") protected String algorithmName; @XmlAttribute(name = "modelType") @Deprecated(Version.PMML_3_0) protected RegressionModel.ModelType modelType; @XmlAttribute(name = "targetFieldName") @XmlJavaTypeAdapter(FieldNameAdapter.class) @Deprecated(Version.PMML_3_0) protected FieldName targetFieldName; @XmlAttribute(name = "normalizationMethod") protected RegressionNormalizationMethodType normalizationMethod; @XmlAttribute(name = "isScorable") @Added(Version.PMML_4_1) protected Boolean scorable; @XmlLocation @XmlTransient protected Locator locator; public RegressionModel() { super(); } public RegressionModel(final MiningSchema miningSchema, final MiningFunctionType functionName) { super(); this.miningSchema = miningSchema; this.functionName = functionName; } /** * Gets the value of the extensions property. * *

* This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a set method for the extensions property. * *

* For example, to add a new item, do as follows: *

     *    getExtensions().add(newItem);
     * 
* * *

* Objects of the following type(s) are allowed in the list * {@link Extension } * * */ public List getExtensions() { if (extensions == null) { extensions = new ArrayList(); } return this.extensions; } /** * Gets the value of the miningSchema property. * * @return * possible object is * {@link MiningSchema } * */ public MiningSchema getMiningSchema() { return miningSchema; } /** * Sets the value of the miningSchema property. * * @param value * allowed object is * {@link MiningSchema } * */ public void setMiningSchema(MiningSchema value) { this.miningSchema = value; } /** * Gets the value of the output property. * * @return * possible object is * {@link Output } * */ public Output getOutput() { return output; } /** * Sets the value of the output property. * * @param value * allowed object is * {@link Output } * */ public void setOutput(Output value) { this.output = value; } /** * Gets the value of the modelStats property. * * @return * possible object is * {@link ModelStats } * */ public ModelStats getModelStats() { return modelStats; } /** * Sets the value of the modelStats property. * * @param value * allowed object is * {@link ModelStats } * */ public void setModelStats(ModelStats value) { this.modelStats = value; } /** * Gets the value of the modelExplanation property. * * @return * possible object is * {@link ModelExplanation } * */ public ModelExplanation getModelExplanation() { return modelExplanation; } /** * Sets the value of the modelExplanation property. * * @param value * allowed object is * {@link ModelExplanation } * */ public void setModelExplanation(ModelExplanation value) { this.modelExplanation = value; } /** * Gets the value of the targets property. * * @return * possible object is * {@link Targets } * */ public Targets getTargets() { return targets; } /** * Sets the value of the targets property. * * @param value * allowed object is * {@link Targets } * */ public void setTargets(Targets value) { this.targets = value; } /** * Gets the value of the localTransformations property. * * @return * possible object is * {@link LocalTransformations } * */ public LocalTransformations getLocalTransformations() { return localTransformations; } /** * Sets the value of the localTransformations property. * * @param value * allowed object is * {@link LocalTransformations } * */ public void setLocalTransformations(LocalTransformations value) { this.localTransformations = value; } /** * Gets the value of the regressionTables property. * *

* This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. * This is why there is not a set method for the regressionTables property. * *

* For example, to add a new item, do as follows: *

     *    getRegressionTables().add(newItem);
     * 
* * *

* Objects of the following type(s) are allowed in the list * {@link RegressionTable } * * */ public List getRegressionTables() { if (regressionTables == null) { regressionTables = new ArrayList(); } return this.regressionTables; } /** * Gets the value of the modelVerification property. * * @return * possible object is * {@link ModelVerification } * */ public ModelVerification getModelVerification() { return modelVerification; } /** * Sets the value of the modelVerification property. * * @param value * allowed object is * {@link ModelVerification } * */ public void setModelVerification(ModelVerification value) { this.modelVerification = value; } /** * Gets the value of the modelName property. * * @return * possible object is * {@link String } * */ public String getModelName() { return modelName; } /** * Sets the value of the modelName property. * * @param value * allowed object is * {@link String } * */ public void setModelName(String value) { this.modelName = value; } /** * Gets the value of the functionName property. * * @return * possible object is * {@link MiningFunctionType } * */ public MiningFunctionType getFunctionName() { return functionName; } /** * Sets the value of the functionName property. * * @param value * allowed object is * {@link MiningFunctionType } * */ public void setFunctionName(MiningFunctionType value) { this.functionName = value; } /** * Gets the value of the algorithmName property. * * @return * possible object is * {@link String } * */ public String getAlgorithmName() { return algorithmName; } /** * Sets the value of the algorithmName property. * * @param value * allowed object is * {@link String } * */ public void setAlgorithmName(String value) { this.algorithmName = value; } /** * Gets the value of the modelType property. * * @return * possible object is * {@link RegressionModel.ModelType } * */ public RegressionModel.ModelType getModelType() { return modelType; } /** * Sets the value of the modelType property. * * @param value * allowed object is * {@link RegressionModel.ModelType } * */ public void setModelType(RegressionModel.ModelType value) { this.modelType = value; } /** * Gets the value of the targetFieldName property. * * @return * possible object is * {@link String } * */ public FieldName getTargetFieldName() { return targetFieldName; } /** * Sets the value of the targetFieldName property. * * @param value * allowed object is * {@link String } * */ public void setTargetFieldName(FieldName value) { this.targetFieldName = value; } /** * Gets the value of the normalizationMethod property. * * @return * possible object is * {@link RegressionNormalizationMethodType } * */ public RegressionNormalizationMethodType getNormalizationMethod() { if (normalizationMethod == null) { return RegressionNormalizationMethodType.NONE; } else { return normalizationMethod; } } /** * Sets the value of the normalizationMethod property. * * @param value * allowed object is * {@link RegressionNormalizationMethodType } * */ public void setNormalizationMethod(RegressionNormalizationMethodType value) { this.normalizationMethod = value; } /** * Gets the value of the scorable property. * * @return * possible object is * {@link Boolean } * */ public boolean isScorable() { if (scorable == null) { return true; } else { return scorable; } } /** * Sets the value of the scorable property. * * @param value * allowed object is * {@link Boolean } * */ public void setScorable(Boolean value) { this.scorable = value; } public RegressionModel withExtensions(Extension... values) { if (values!= null) { for (Extension value: values) { getExtensions().add(value); } } return this; } public RegressionModel withExtensions(Collection values) { if (values!= null) { getExtensions().addAll(values); } return this; } public RegressionModel withMiningSchema(MiningSchema value) { setMiningSchema(value); return this; } public RegressionModel withOutput(Output value) { setOutput(value); return this; } public RegressionModel withModelStats(ModelStats value) { setModelStats(value); return this; } public RegressionModel withModelExplanation(ModelExplanation value) { setModelExplanation(value); return this; } public RegressionModel withTargets(Targets value) { setTargets(value); return this; } public RegressionModel withLocalTransformations(LocalTransformations value) { setLocalTransformations(value); return this; } public RegressionModel withRegressionTables(RegressionTable... values) { if (values!= null) { for (RegressionTable value: values) { getRegressionTables().add(value); } } return this; } public RegressionModel withRegressionTables(Collection values) { if (values!= null) { getRegressionTables().addAll(values); } return this; } public RegressionModel withModelVerification(ModelVerification value) { setModelVerification(value); return this; } public RegressionModel withModelName(String value) { setModelName(value); return this; } public RegressionModel withFunctionName(MiningFunctionType value) { setFunctionName(value); return this; } public RegressionModel withAlgorithmName(String value) { setAlgorithmName(value); return this; } public RegressionModel withModelType(RegressionModel.ModelType value) { setModelType(value); return this; } public RegressionModel withTargetFieldName(FieldName value) { setTargetFieldName(value); return this; } public RegressionModel withNormalizationMethod(RegressionNormalizationMethodType value) { setNormalizationMethod(value); return this; } public RegressionModel withScorable(Boolean value) { setScorable(value); return this; } public Locator sourceLocation() { return locator; } public void setSourceLocation(Locator newLocator) { locator = newLocator; } @Override public VisitorAction accept(Visitor visitor) { VisitorAction status = visitor.visit(this); for (int i = 0; (((status == VisitorAction.CONTINUE)&&(this.extensions!= null))&&(iJava class for null. * *

The following schema fragment specifies the expected content contained within this class. *

*

     * <simpleType>
     *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
     *     <enumeration value="linearRegression"/>
     *     <enumeration value="stepwisePolynomialRegression"/>
     *     <enumeration value="logisticRegression"/>
     *   </restriction>
     * </simpleType>
     * 
* */ @XmlType(name = "") @XmlEnum public enum ModelType { @XmlEnumValue("linearRegression") LINEAR_REGRESSION("linearRegression"), @XmlEnumValue("stepwisePolynomialRegression") STEPWISE_POLYNOMIAL_REGRESSION("stepwisePolynomialRegression"), @XmlEnumValue("logisticRegression") LOGISTIC_REGRESSION("logisticRegression"); private final String value; ModelType(String v) { value = v; } public String value() { return value; } public static RegressionModel.ModelType fromValue(String v) { for (RegressionModel.ModelType c: RegressionModel.ModelType.values()) { if (c.value.equals(v)) { return c; } } throw new IllegalArgumentException(v); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy