Fix EOL CRLF characters
diff --git a/samoa-api/src/main/java/com/yahoo/labs/samoa/moa/classifiers/core/attributeclassobservers/BinaryTreeNumericAttributeClassObserverRegression.java b/samoa-api/src/main/java/com/yahoo/labs/samoa/moa/classifiers/core/attributeclassobservers/BinaryTreeNumericAttributeClassObserverRegression.java
index 89aeada..2f4cbed 100644
--- a/samoa-api/src/main/java/com/yahoo/labs/samoa/moa/classifiers/core/attributeclassobservers/BinaryTreeNumericAttributeClassObserverRegression.java
+++ b/samoa-api/src/main/java/com/yahoo/labs/samoa/moa/classifiers/core/attributeclassobservers/BinaryTreeNumericAttributeClassObserverRegression.java
@@ -1,148 +1,148 @@
-package com.yahoo.labs.samoa.moa.classifiers.core.attributeclassobservers;
-
-/*
- * #%L
- * SAMOA
- * %%
- * Copyright (C) 2013 University of Porto, Portugal
- * %%
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * #L%
- */
-
-import java.io.Serializable;
-import com.yahoo.labs.samoa.moa.classifiers.core.AttributeSplitSuggestion;
-import com.yahoo.labs.samoa.moa.classifiers.core.splitcriteria.SplitCriterion;
-import com.yahoo.labs.samoa.moa.core.ObjectRepository;
-import com.yahoo.labs.samoa.moa.options.AbstractOptionHandler;
-import com.yahoo.labs.samoa.moa.tasks.TaskMonitor;
-
-/**
- * Class for observing the class data distribution for a numeric attribute using a binary tree. This observer monitors
- * the class distribution of a given attribute.
- *
- * <p>
- * Learning Adaptive Model Rules from High-Speed Data Streams, ECML 2013, E. Almeida, C. Ferreira, P. Kosina and J.
- * Gama;
- * </p>
- *
- * @author E. Almeida, J. Gama
- * @version $Revision: 2$
- */
-public class BinaryTreeNumericAttributeClassObserverRegression extends AbstractOptionHandler
- implements NumericAttributeClassObserver {
-
- public static final long serialVersionUID = 1L;
-
- public class Node implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- public double cut_point;
-
- public double[] lessThan; // This array maintains statistics for the instance reaching the node with attribute values less than or iqual to the cutpoint.
-
- public double[] greaterThan; // This array maintains statistics for the instance reaching the node with attribute values greater than to the cutpoint.
-
- public Node left;
-
- public Node right;
-
- public Node(double val, double target) {
- this.cut_point = val;
- this.lessThan = new double[3];
- this.greaterThan = new double[3];
- this.lessThan[0] = target; // The sum of their target attribute values.
- this.lessThan[1] = target * target; // The sum of the squared target attribute values.
- this.lessThan[2] = 1.0; // A counter of the number of instances that have reached the node.
- this.greaterThan[0] = 0.0;
- this.greaterThan[1] = 0.0;
- this.greaterThan[2] = 0.0;
- }
-
- public void insertValue(double val, double target) {
- if (val == this.cut_point) {
- this.lessThan[0] = this.lessThan[0] + target;
- this.lessThan[1] = this.lessThan[1] + (target * target);
- this.lessThan[2] = this.lessThan[2] + 1;
- } else if (val <= this.cut_point) {
- this.lessThan[0] = this.lessThan[0] + target;
- this.lessThan[1] = this.lessThan[1] + (target * target);
- this.lessThan[2] = this.lessThan[2] + 1;
- if (this.left == null) {
- this.left = new Node(val, target);
- } else {
- this.left.insertValue(val, target);
- }
- } else {
- this.greaterThan[0] = this.greaterThan[0] + target;
- this.greaterThan[1] = this.greaterThan[1] + (target * target);
- this.greaterThan[2] = this.greaterThan[2] + 1;
- if (this.right == null) {
-
- this.right = new Node(val, target);
- } else {
- this.right.insertValue(val, target);
- }
- }
- }
- }
-
- public Node root1 = null;
-
- public void observeAttributeTarget(double attVal, double target) {
- if (!Double.isNaN(attVal)) {
- if (this.root1 == null) {
- this.root1 = new Node(attVal, target);
- } else {
- this.root1.insertValue(attVal, target);
- }
- }
- }
-
- @Override
- public void observeAttributeClass(double attVal, int classVal, double weight) {
-
- }
-
- @Override
- public double probabilityOfAttributeValueGivenClass(double attVal,
- int classVal) {
- return 0.0;
- }
-
- @Override
- public AttributeSplitSuggestion getBestEvaluatedSplitSuggestion(
- SplitCriterion criterion, double[] preSplitDist, int attIndex,
- boolean binaryOnly) {
- return searchForBestSplitOption(this.root1, null, null, null, null, false,
- criterion, preSplitDist, attIndex);
- }
-
- protected AttributeSplitSuggestion searchForBestSplitOption(
- Node currentNode, AttributeSplitSuggestion currentBestOption,
- double[] actualParentLeft,
- double[] parentLeft, double[] parentRight, boolean leftChild,
- SplitCriterion criterion, double[] preSplitDist, int attIndex) {
-
- return currentBestOption;
- }
-
- @Override
- public void getDescription(StringBuilder sb, int indent) {
- }
-
- @Override
- protected void prepareForUseImpl(TaskMonitor monitor, ObjectRepository repository) {
- }
-}
+package com.yahoo.labs.samoa.moa.classifiers.core.attributeclassobservers;
+
+/*
+ * #%L
+ * SAMOA
+ * %%
+ * Copyright (C) 2013 University of Porto, Portugal
+ * %%
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * #L%
+ */
+
+import java.io.Serializable;
+import com.yahoo.labs.samoa.moa.classifiers.core.AttributeSplitSuggestion;
+import com.yahoo.labs.samoa.moa.classifiers.core.splitcriteria.SplitCriterion;
+import com.yahoo.labs.samoa.moa.core.ObjectRepository;
+import com.yahoo.labs.samoa.moa.options.AbstractOptionHandler;
+import com.yahoo.labs.samoa.moa.tasks.TaskMonitor;
+
+/**
+ * Class for observing the class data distribution for a numeric attribute using a binary tree. This observer monitors
+ * the class distribution of a given attribute.
+ *
+ * <p>
+ * Learning Adaptive Model Rules from High-Speed Data Streams, ECML 2013, E. Almeida, C. Ferreira, P. Kosina and J.
+ * Gama;
+ * </p>
+ *
+ * @author E. Almeida, J. Gama
+ * @version $Revision: 2$
+ */
+public class BinaryTreeNumericAttributeClassObserverRegression extends AbstractOptionHandler
+ implements NumericAttributeClassObserver {
+
+ public static final long serialVersionUID = 1L;
+
+ public class Node implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ public double cut_point;
+
+ public double[] lessThan; // This array maintains statistics for the instance reaching the node with attribute values less than or iqual to the cutpoint.
+
+ public double[] greaterThan; // This array maintains statistics for the instance reaching the node with attribute values greater than to the cutpoint.
+
+ public Node left;
+
+ public Node right;
+
+ public Node(double val, double target) {
+ this.cut_point = val;
+ this.lessThan = new double[3];
+ this.greaterThan = new double[3];
+ this.lessThan[0] = target; // The sum of their target attribute values.
+ this.lessThan[1] = target * target; // The sum of the squared target attribute values.
+ this.lessThan[2] = 1.0; // A counter of the number of instances that have reached the node.
+ this.greaterThan[0] = 0.0;
+ this.greaterThan[1] = 0.0;
+ this.greaterThan[2] = 0.0;
+ }
+
+ public void insertValue(double val, double target) {
+ if (val == this.cut_point) {
+ this.lessThan[0] = this.lessThan[0] + target;
+ this.lessThan[1] = this.lessThan[1] + (target * target);
+ this.lessThan[2] = this.lessThan[2] + 1;
+ } else if (val <= this.cut_point) {
+ this.lessThan[0] = this.lessThan[0] + target;
+ this.lessThan[1] = this.lessThan[1] + (target * target);
+ this.lessThan[2] = this.lessThan[2] + 1;
+ if (this.left == null) {
+ this.left = new Node(val, target);
+ } else {
+ this.left.insertValue(val, target);
+ }
+ } else {
+ this.greaterThan[0] = this.greaterThan[0] + target;
+ this.greaterThan[1] = this.greaterThan[1] + (target * target);
+ this.greaterThan[2] = this.greaterThan[2] + 1;
+ if (this.right == null) {
+
+ this.right = new Node(val, target);
+ } else {
+ this.right.insertValue(val, target);
+ }
+ }
+ }
+ }
+
+ public Node root1 = null;
+
+ public void observeAttributeTarget(double attVal, double target) {
+ if (!Double.isNaN(attVal)) {
+ if (this.root1 == null) {
+ this.root1 = new Node(attVal, target);
+ } else {
+ this.root1.insertValue(attVal, target);
+ }
+ }
+ }
+
+ @Override
+ public void observeAttributeClass(double attVal, int classVal, double weight) {
+
+ }
+
+ @Override
+ public double probabilityOfAttributeValueGivenClass(double attVal,
+ int classVal) {
+ return 0.0;
+ }
+
+ @Override
+ public AttributeSplitSuggestion getBestEvaluatedSplitSuggestion(
+ SplitCriterion criterion, double[] preSplitDist, int attIndex,
+ boolean binaryOnly) {
+ return searchForBestSplitOption(this.root1, null, null, null, null, false,
+ criterion, preSplitDist, attIndex);
+ }
+
+ protected AttributeSplitSuggestion searchForBestSplitOption(
+ Node currentNode, AttributeSplitSuggestion currentBestOption,
+ double[] actualParentLeft,
+ double[] parentLeft, double[] parentRight, boolean leftChild,
+ SplitCriterion criterion, double[] preSplitDist, int attIndex) {
+
+ return currentBestOption;
+ }
+
+ @Override
+ public void getDescription(StringBuilder sb, int indent) {
+ }
+
+ @Override
+ protected void prepareForUseImpl(TaskMonitor monitor, ObjectRepository repository) {
+ }
+}