2001-03-13 16:52 mhall * weka/: classifiers/MultiClassClassifier.java (1.22), classifiers/neural/NeuralNetwork.java (1.3), core/converters/AbstractLoader.java (1.2), core/converters/ArffLoader.java (1.2), core/converters/Loader.java (1.2), core/converters/SerializedInstancesLoader.java (1.2), filters/Makefile (1.18), gui/GenericObjectEditor.props (1.33): Made Weka java 1.1 compatible for the new stable release. 2001-03-12 11:32 eibe * weka/classifiers/j48/: BinC45Split.java (1.5), C45ModelSelection.java (1.5), C45PruneableClassifierTree.java (1.6), C45Split.java (1.5), ClassifierDecList.java (1.4), ClassifierSplitModel.java (1.5), ClassifierTree.java (1.11), Distribution.java (1.5), J48.java (1.20), MakeDecList.java (1.6): Added option for Laplace-corrected probability estimates in J48. Fixed bug that lead to slightly incorrect probability estimates for datasets with missing values (if subtree raising occurred). 2001-03-02 16:54 mhall * weka/experiment/RemoteExperiment.java (1.8): Updated header docs to reflect changes. 2001-03-02 16:53 mhall * weka/experiment/remote.policy (1.3): Commented out the lines pertaining to example file permissions for codebases from file urls. 2001-03-02 16:52 mhall * weka/Makefile (1.30): Added lines to the install section to make a remoteExperimentServer.jar file containing a remote.policy a copy of DatabaseUtils.props and a remoteEngine.jar (which contains only those classes needed for deploying remoteEngines). 2001-03-02 09:22 mhall * weka/experiment/remote.policy (1.2): Updated security policy with new permissions that allow downloading of classes from client codebases and reading/writing of properties and reading of files by those classes. 2001-03-01 15:44 mhall * weka/: experiment/DatabaseUtils.java (1.14), core/Utils.java (1.28), gui/GenericObjectEditor.java (1.25): Changed so that loading of default properties (Utils.java) from system resource no longer throws an exception if the properties file is not found. This was causing problems for remote experiment objects when classes were being downloaded by rmi from client codebases as needed. Changed GenericObjectEditor and DatabaseUtils to throw exceptions if no properties are succesfully obtained from anywhere (ie, system resource, user home or local dir). 2001-02-28 11:08 mhall * weka/experiment/Makefile (1.11): Added TaskStatusInfo. 2001-02-28 11:07 mhall * weka/experiment/TaskStatusInfo.java (1.1): Initial import. 2001-02-28 11:06 mhall * weka/experiment/: Compute.java (1.3), RemoteEngine.java (1.3), RemoteExperiment.java (1.7), RemoteExperimentSubTask.java (1.4), Task.java (1.4): RemoteEngines now use a queue to schedule Tasks for execution. Also allow clients to query on the status of Tasks. 2001-02-23 16:22 eibe * weka/classifiers/Makefile (1.22): Updated to include DistributionMetaClassifier 2001-02-19 16:12 mhall * weka/experiment/: RemoteExperiment.java (1.6), RemoteExperimentSubTask.java (1.3): Modified to allow experiments to be split up on the basis of data set or run number. 2001-02-19 16:11 mhall * weka/gui/experiment/: DistributeExperimentPanel.java (1.3), SetupPanel.java (1.16): Modified to allow user to configure how a distributed experiment will be split up. 2001-02-19 11:41 eibe * weka/classifiers/Logistic.java (1.11): Logistic regression converges more frequently now thanks to changes made by Tony Voyle. 2001-02-18 15:00 mhall * weka/gui/experiment/GeneratorPropertyIteratorPanel.java (1.7): Now allows listeners to be added. Listener's get notified when there is a change of editing status of the panel, ie. enabled, disabled. 2001-02-18 14:59 mhall * weka/gui/experiment/SetupPanel.java (1.15): Added a panel to control how iterations are performed. Data sets can be advanced and then custom iterators, or vis versa. 2001-02-18 14:57 mhall * weka/experiment/Experiment.java (1.14): Modified to allow iteration over data sets then custom iterators or vis versa. 2001-02-13 11:11 mhall * weka/gui/: GenericArrayEditor.java (1.10), GenericObjectEditor.java (1.24): Fixed bug (in GenericArrayEditor) that would cause the Generator properties panel in the Experimenter to be disabled yet still display a list from a previous experiment. Changed GenericObjectEditor's setObject method to test for equality (compares pointers) before firing a property change event. Switching between normal and remote experiments in the Experimenter was triggering a property change sequence that would disable the generator properties panel. Not an ideal solution, all editable objects should implement an equals method. Experimenter still has some problems: loading a pre-saved experiment after manually configuring the ResultProducer will cause property change events to render the generator properties panel disabled (even if generator properties are enabled and configured in the saved experiment). 2001-02-12 14:16 mhall * weka/classifiers/UserClassifier.java (1.7): Added link to the working paper in the class docs. 2001-02-12 10:08 rbk1 * weka/core/Attribute.java (1.17): Fixed numValues() documentation - string attributes don't return 0. 2001-02-08 13:39 eibe * weka/classifiers/Makefile (1.21): Forgot to change nn to neural in some places. 2001-02-08 13:10 trigg * weka/: associations/Apriori.java (1.10), attributeSelection/AttributeSelection.java (1.26), attributeSelection/CfsSubsetEval.java (1.13), attributeSelection/ChiSquaredAttributeEval.java (1.3), attributeSelection/ClassifierSubsetEval.java (1.3), attributeSelection/ConsistencySubsetEval.java (1.6), attributeSelection/GainRatioAttributeEval.java (1.11), attributeSelection/InfoGainAttributeEval.java (1.10), attributeSelection/OneRAttributeEval.java (1.7), attributeSelection/PrincipalComponents.java (1.15), attributeSelection/SymmetricalUncertAttributeEval.java (1.10), attributeSelection/WrapperSubsetEval.java (1.12), classifiers/ClassificationViaRegression.java (1.8), classifiers/DecisionTable.java (1.20), classifiers/FilteredClassifier.java (1.12), classifiers/LinearRegression.java (1.11), classifiers/Logistic.java (1.10), classifiers/MultiClassClassifier.java (1.21), classifiers/RegressionByDiscretization.java (1.12), classifiers/SMO.java (1.22), classifiers/UserClassifier.java (1.6), classifiers/VotedPerceptron.java (1.9), classifiers/m5/M5Prime.java (1.14), classifiers/neural/NeuralNetwork.java (1.2), clusterers/ClusterEvaluation.java (1.15), clusterers/SimpleKMeans.java (1.4), filters/AbstractTimeSeriesFilter.java (1.3), filters/AddFilter.java (1.15), filters/AllFilter.java (1.7), filters/AttributeExpressionFilter.java (1.9), filters/AttributeFilter.java (1.15), filters/AttributeTypeFilter.java (1.8), filters/CopyAttributesFilter.java (1.9), filters/DiscretizeFilter.java (1.14), filters/EmptyAttributeFilter.java (1.6), filters/Filter.java (1.20), filters/FirstOrderFilter.java (1.12), filters/InstanceFilter.java (1.9), filters/MakeIndicatorFilter.java (1.13), filters/MergeTwoValuesFilter.java (1.8), filters/NominalToBinaryFilter.java (1.15), filters/NonSparseToSparseFilter.java (1.6), filters/NormalizationFilter.java (1.9), filters/NullFilter.java (1.6), filters/NumericToBinaryFilter.java (1.6), filters/NumericTransformFilter.java (1.12), filters/ObfuscateFilter.java (1.6), filters/RandomizeFilter.java (1.6), filters/ReplaceMissingValuesFilter.java (1.11), filters/ResampleFilter.java (1.9), filters/SparseToNonSparseFilter.java (1.6), filters/SplitDatasetFilter.java (1.10), filters/SpreadSubsampleFilter.java (1.7), filters/StringToNominalFilter.java (1.5), filters/StringToWordVectorFilter.java (1.7), filters/SwapAttributeValuesFilter.java (1.10), filters/TimeSeriesDeltaFilter.java (1.7), filters/TimeSeriesTranslateFilter.java (1.9), gui/explorer/ClassifierPanel.java (1.43), gui/explorer/ClustererPanel.java (1.29), gui/explorer/PreprocessPanel.java (1.22), gui/visualize/PlotData2D.java (1.11): Changed filter use to no longer use deprecated methods 2001-02-08 10:17 mhall * weka/attributeSelection/: AttributeSelection.java (1.25), ForwardSelection.java (1.12), RaceSearch.java (1.7), RankedOutputSearch.java (1.7), Ranker.java (1.16): Fixed bug in handling user specified number of attributes to select for RankedOutputSearchers. 2001-02-08 10:15 mhall * weka/classifiers/neural/Makefile (1.1): Added Makefile 2001-02-07 12:04 eibe * weka/: classifiers/Makefile (1.20), gui/GenericObjectEditor.props (1.32): nn is now called neural. 2001-02-07 12:03 eibe * weka/classifiers/neural/: LinearUnit.java (1.1), NeuralConnection.java (1.1), NeuralMethod.java (1.1), NeuralNetwork.java (1.1), NeuralNode.java (1.1), SigmoidUnit.java (1.1): renamed nn directory to neural directory 2001-02-02 11:07 eibe * weka/gui/GenericObjectEditor.props (1.31): Added neural network stuff. 2001-02-02 11:06 eibe * weka/classifiers/Makefile (1.19): Neural network stuff added. 2001-01-31 15:28 mhall * weka/classifiers/Bagging.java (1.13): Bagging resurected from the dead :-) 2001-01-30 10:19 mhall * weka/gui/explorer/ClassifierPanel.java (1.42): Added menu item for viewing cost curves. 2001-01-30 10:18 mhall * weka/gui/visualize/: Plot2D.java (1.14), PlotData2D.java (1.10), Visualize.props (1.7): Added support for drawing lines. Added default viewing dimensions for cost curves. 2001-01-30 10:13 mhall * weka/classifiers/evaluation/Makefile (1.5): Added CostCurve.java 2001-01-30 10:12 mhall * weka/classifiers/evaluation/CostCurve.java (1.1): Initial import. 2001-01-30 10:11 mhall * weka/classifiers/Bagging.java (1.12): Now works for numeric class. 2001-01-28 08:24 trigg * weka/classifiers/ThresholdSelector.java (1.21): Changed a couple of exceptions. 2001-01-26 14:16 trigg * weka/filters/: AbstractTimeSeriesFilter.java (1.2), AddFilter.java (1.14), AllFilter.java (1.6), AttributeExpressionFilter.java (1.8), AttributeFilter.java (1.14), AttributeSelectionFilter.java (1.18), AttributeTypeFilter.java (1.7), CopyAttributesFilter.java (1.8), DiscretizeFilter.java (1.13), EmptyAttributeFilter.java (1.5), FirstOrderFilter.java (1.11), InstanceFilter.java (1.8), MakeIndicatorFilter.java (1.12), MergeTwoValuesFilter.java (1.7), NominalToBinaryFilter.java (1.14), NonSparseToSparseFilter.java (1.5), NormalizationFilter.java (1.8), NullFilter.java (1.5), NumericToBinaryFilter.java (1.5), NumericTransformFilter.java (1.11), ObfuscateFilter.java (1.5), RandomizeFilter.java (1.5), ReplaceMissingValuesFilter.java (1.10), ResampleFilter.java (1.8), SparseToNonSparseFilter.java (1.5), SplitDatasetFilter.java (1.9), SpreadSubsampleFilter.java (1.6), StringToNominalFilter.java (1.4), StringToWordVectorFilter.java (1.6), SwapAttributeValuesFilter.java (1.9), TimeSeriesDeltaFilter.java (1.6), TimeSeriesTranslateFilter.java (1.8): Cleaned up exception handling of filters: using the newly defined core exceptions, and other exceptions where appropriate. 2001-01-26 14:14 trigg * weka/core/: BinarySparseInstance.java (1.4), Instance.java (1.12), Instances.java (1.30), Range.java (1.9), SparseInstance.java (1.8), UnassignedClassException.java (1.1), UnassignedDatasetException.java (1.1), UnsupportedAttributeTypeException.java (1.1), UnsupportedClassTypeException.java (1.1), WekaException.java (1.1): First stage cleaning up exception handling. Introduced some Exception classes and converted core classes to use them where appropriate. 2001-01-24 12:24 trigg * weka/classifiers/ThresholdSelector.java (1.20): Added Exception for wrong type of class attribute. Removed exception for presence of string attributes. Added IllegalArgumentException for too small value of numXValFolds. 2001-01-24 12:22 trigg * weka/classifiers/evaluation/: NominalPrediction.java (1.7), NumericPrediction.java (1.4): Added toString methods. 2001-01-24 11:45 rbk1 * weka/associations/ItemSet.java (1.7): Made member variables protected. 2001-01-24 11:45 rbk1 * weka/associations/Apriori.java (1.9): Made member variables protected. Fixed ranking problem by using stableSort. 2001-01-24 11:27 rbk1 * weka/core/Utils.java (1.27): Added stable sort for double arrays. 2001-01-23 13:46 trigg * weka/core/Instances.java (1.29): Ooops, was a bit strict on one of the IllegalArgumentExceptions. No longer throws if setClassIndex called with negative number (as this is used to unset the class index). 2001-01-22 16:48 trigg * weka/core/Utils.java (1.26): Added a comment. 2001-01-22 16:47 trigg * weka/classifiers/evaluation/EvaluationUtils.java (1.5): Doesn't add predictions to the vector if the actual class value is unknown. 2001-01-22 16:47 trigg * weka/classifiers/ThresholdSelector.java (1.19): buildClassifier resets thresholds and bounds between subsequent calls. Handles case where only one class value is present. No longer removes instances with missing class value (it's up to the base learner to decide). 2001-01-22 16:46 trigg * weka/classifiers/MultiClassClassifier.java (1.20): Fixed bug in toString. 2001-01-19 14:19 trigg * weka/: associations/Apriori.java (1.8), attributeSelection/BestFirst.java (1.18), attributeSelection/RaceSearch.java (1.6), classifiers/AdditiveRegression.java (1.5), classifiers/AttributeSelectedClassifier.java (1.6), classifiers/CostSensitiveClassifier.java (1.8), classifiers/DecisionTable.java (1.19), classifiers/IBk.java (1.16), classifiers/LinearRegression.java (1.10), classifiers/MetaCost.java (1.6), classifiers/MultiClassClassifier.java (1.19), classifiers/ThresholdSelector.java (1.18), classifiers/j48/J48.java (1.19), classifiers/j48/PART.java (1.13), classifiers/kstar/KStar.java (1.5), classifiers/m5/M5Prime.java (1.13), core/AdditionalMeasureProducer.java (1.4), core/Attribute.java (1.16), core/AttributeStats.java (1.4), core/BinarySparseInstance.java (1.3), core/Instance.java (1.11), core/Instances.java (1.28), core/Matrix.java (1.10), core/Range.java (1.8), core/SelectedTag.java (1.4), core/SparseInstance.java (1.7), core/Tag.java (1.3), core/Utils.java (1.25), experiment/AveragingResultProducer.java (1.12), experiment/ClassifierSplitEvaluator.java (1.12), experiment/CrossValidationResultProducer.java (1.10), experiment/DatabaseResultProducer.java (1.12), experiment/LearningRateResultProducer.java (1.3), experiment/RandomSplitResultProducer.java (1.12), experiment/RegressionSplitEvaluator.java (1.11), filters/AttributeTypeFilter.java (1.6): Changed a bunch of Exceptions to IllegalArgumentExceptions, and removed newly redundant try/catch blocks. 2001-01-18 11:34 trigg * weka/core/Instances.java (1.27): Added a check for 0 folds to stratify method. 2001-01-18 11:16 trigg * weka/classifiers/ThresholdSelector.java (1.17): Just passes data through if only one class value found. 2001-01-17 12:08 trigg * weka/filters/: AbstractTimeSeriesFilter.java (1.1), AddFilter.java (1.13), AttributeFilter.java (1.13), Makefile (1.17), StringToWordVectorFilter.java (1.5), SwapAttributeValuesFilter.java (1.8), TimeSeriesDeltaFilter.java (1.5), TimeSeriesTranslateFilter.java (1.7): Fixed string handling. Fixed a couple of minor bugs found during unit testing. 2001-01-17 12:07 trigg * weka/core/SparseInstance.java (1.6): Added some diagnostic messages. 2001-01-15 15:54 trigg * weka/filters/: InstanceFilter.java (1.7), MakeIndicatorFilter.java (1.11), ResampleFilter.java (1.7), SparseToNonSparseFilter.java (1.4), SplitDatasetFilter.java (1.8): More fixes, mainly related to string value handling. 2001-01-15 15:53 trigg * weka/filters/Filter.java (1.19): getOutputFormat() now makes a shallow copy of the instances. Shouldn't be too much extra overhead, but cache the result if you're concerned. 2001-01-15 15:52 trigg * weka/: TODO.dtd (1.1), TODO.xml (1.1): First version of files to track things to do. We should be able to process this into other formats like html, plaintext etc using XSLT. 2001-01-15 11:34 trigg * weka/core/AttributeStats.java (1.3): Added a toString method. 2001-01-15 11:33 trigg * weka/core/Range.java (1.7): Changed a bunch of exceptions to be unchecked exceptions (since they are thrown as a result of caller errors rather than environmental errors). 2001-01-12 16:21 trigg * weka/filters/: NominalToBinaryFilter.java (1.13), NonSparseToSparseFilter.java (1.4), NormalizationFilter.java (1.7), NumericToBinaryFilter.java (1.4), NumericTransformFilter.java (1.10), ReplaceMissingValuesFilter.java (1.9): Fixed passing through of string attribute values correctly. 2001-01-12 16:04 trigg * weka/core/SparseInstance.java (1.5): Made copy() also copy the reference to the instance's dataset, like in Instance.copy() 2001-01-09 15:21 trigg * weka/filters/Filter.java (1.18): Took out buggy expression in string optimization code. 2001-01-09 14:36 eibe * weka/core/Attribute.java (1.15): Added hashtable for string attributes. New values are only added if not present in hashtable. 2001-01-09 08:20 trigg * weka/filters/: AddFilter.java (1.12), AttributeExpressionFilter.java (1.7), AttributeFilter.java (1.12), AttributeSelectionFilter.java (1.17), AttributeTypeFilter.java (1.5), CopyAttributesFilter.java (1.7), DiscretizeFilter.java (1.12), EmptyAttributeFilter.java (1.4), Filter.java (1.17), FirstOrderFilter.java (1.10), InstanceFilter.java (1.6): Updated to work safely with string attributes, and any bugs found during writing of JUnit tests fixed. 2001-01-09 08:17 trigg * weka/gui/GenericObjectEditor.java (1.23): Fixed the problem where you have to load the object twice to get sub-properties to load in, although the fix could be better. 2001-01-09 08:15 trigg * weka/core/Instance.java (1.10): Added some diagnostic messages. 2001-01-09 08:14 trigg * weka/core/Queue.java (1.5): Changed some exceptions to be more in line with similar java library classes. 2000-12-29 14:36 trigg * weka/gui/GenericObjectEditor.props (1.30): Added LearningRateResultProducer 2000-12-22 15:51 trigg * weka/classifiers/ThresholdSelector.java (1.16): A few more javadocs added. JDE's "check documenation" feature *rocks*. 2000-12-22 15:42 trigg * weka/classifiers/ThresholdSelector.java (1.15): Added ability to expand the range of probabilities returned by the base learner to [0,1] based on values seen during the optimization. Added documentation available via the gui. 2000-12-20 11:45 trigg * weka/classifiers/MultiClassClassifier.java (1.18): Reinserted indicator filtering of test instances. Even though classifiers shouldn't really be looking at the class attribute of test instances, some (such as j48) currently do look at the test instance class attribute to find the number of class values. Maybe we should probably have a policy that classifiers do not access the class attribute of test instances (and write test code to check this). 2000-12-20 11:26 trigg * weka/filters/MakeIndicatorFilter.java (1.10): Added property documentation for gui. 2000-12-20 11:23 trigg * weka/gui/PropertySheetPanel.java (1.8): Outputs help entries for properties that don't contain a . 2000-12-20 11:21 trigg * weka/filters/AttributeExpressionFilter.java (1.6): Capitalization of tip texts. 2000-12-20 09:49 trigg * weka/filters/: AttributeFilter.java (1.11), CopyAttributesFilter.java (1.6), DiscretizeFilter.java (1.11), FirstOrderFilter.java (1.9), NumericTransformFilter.java (1.9), TimeSeriesTranslateFilter.java (1.6): Refactored some common code out into Range.java 2000-12-20 09:49 trigg * weka/gui/GenericObjectEditor.props (1.29): Added a couple of classifiers. Fixed a bug in the entry for DistributionClassifiers (trailing whitespace does matter). 2000-12-20 09:48 trigg * weka/classifiers/CostSensitiveClassifier.java (1.7): Added documentation available via the gui. 2000-12-20 09:47 trigg * weka/filters/MakeIndicatorFilter.java (1.9): MakeIndicatorFilter can now indicate on any combination of attribute values. 2000-12-20 09:46 trigg * weka/core/Range.java (1.6): Added a constructor to initialize the Range with a range list. 2000-12-20 09:45 trigg * weka/classifiers/MultiClassClassifier.java (1.17): Now does error-correcting output codes. Two code generation methods are implemented: random codes (with simple tests for code goodness), and exhaustive code generation. Also added a bunch of methods for providing docs via the gui. 2000-12-19 15:45 trigg * weka/gui/PropertySheetPanel.java (1.7): Better help width and proper initial caret position. 2000-12-13 18:48 trigg * weka/filters/Filter.java (1.16): Removed timing instrumentation code. ooops. 2000-12-13 18:28 trigg * weka/classifiers/ThresholdSelector.java (1.14): Reduces the number of x-val folds if there are not enough training instances. 2000-12-13 18:15 trigg * weka/filters/Filter.java (1.15): Fixed that case I mentioned before. Input buffering is now string-safe. 2000-12-13 18:09 trigg * weka/classifiers/SMO.java (1.21): Changed internal m_dontNormalize variable to m_Normalize. Less stressful on the brain when looking at if (m_Normalize) than if (!m_dontNormalize) No change to command-line or gui use. 2000-12-12 16:05 trigg * weka/filters/Filter.java (1.14): Smarter about whether and how often String references are flushed. Much speedup for incremental filtering. 2000-12-12 16:04 trigg * weka/clusterers/DistributionMetaClusterer.java (1.3): Took bodgy pseudo-WeightedInstancesHandling out of this meta clusterer. See log comments for DistributionMetaClassifier for why. 2000-12-12 16:03 trigg * weka/classifiers/: DistributionMetaClassifier.java (1.4), FilteredClassifier.java (1.11), MultiClassClassifier.java (1.16), RegressionByDiscretization.java (1.11): Took bodgy pseudo-WeightedInstancesHandler out of these meta classifiers. The right way to do this is to write a WeightedInstancesMetaClassifier and give the user the choice between resampling with/without replacement and with varying sizes of post-resampling data. 2000-12-11 10:36 trigg * weka/filters/Filter.java (1.13): Performs a memory optimization after the last instance is retrieved from the output queue between batches. The recent changes to Filter will require updates to any filters you have implemented yourself. The changes are: In your implementation of inputFormat(Instances) you should call super.inputFormat(Instances) as the first line. If your filter requires buffering instances in the first batch, use bufferInput(Instance) to do this. Your implementation of batchFinished should also call flushInput() (after processing buffered instances if necessary). Other references to m_InputFormat should be replaced by getInputFormat(). 2000-12-11 10:23 trigg * weka/classifiers/evaluation/ThresholdCurve.java (1.11): Now handles non-integer prediction weights properly. 2000-12-11 10:23 trigg * weka/filters/AddFilter.java (1.11): Fixed bug introduced by Instance.copy() maintaining the dataset reference. 2000-12-10 16:18 trigg * weka/core/Instances.java (1.26): Made stringFreeStructure more efficient. 2000-12-10 16:16 trigg * weka/: attributeSelection/AttributeSelection.java (1.24), attributeSelection/PrincipalComponents.java (1.14), classifiers/ClassificationViaRegression.java (1.7), classifiers/DecisionTable.java (1.18), classifiers/FilteredClassifier.java (1.10), classifiers/LinearRegression.java (1.9), classifiers/Logistic.java (1.9), classifiers/MultiClassClassifier.java (1.15), classifiers/RegressionByDiscretization.java (1.10), classifiers/SMO.java (1.20), classifiers/VotedPerceptron.java (1.8), classifiers/m5/M5Prime.java (1.12), clusterers/SimpleKMeans.java (1.3): Reordered batchFinished calls. 2000-12-10 14:02 trigg * weka/: attributeSelection/AttributeSelection.java (1.23), attributeSelection/PrincipalComponents.java (1.13), classifiers/ClassificationViaRegression.java (1.6), classifiers/DecisionTable.java (1.17), classifiers/FilteredClassifier.java (1.9), classifiers/LinearRegression.java (1.8), classifiers/Logistic.java (1.8), classifiers/MultiClassClassifier.java (1.14), classifiers/RegressionByDiscretization.java (1.9), classifiers/SMO.java (1.19), classifiers/ThresholdSelector.java (1.13), classifiers/VotedPerceptron.java (1.7), classifiers/m5/M5Prime.java (1.11), clusterers/SimpleKMeans.java (1.2): Updated users of Filters so that incremental use is followed by a call to batchFinished() -- this gives memory optimization in the case of datasets with string attributes as references to old strings are flushed. 2000-12-10 13:58 trigg * weka/filters/: AddFilter.java (1.10), AllFilter.java (1.5), AttributeExpressionFilter.java (1.5), AttributeFilter.java (1.10), AttributeSelectionFilter.java (1.16), AttributeTypeFilter.java (1.4), CopyAttributesFilter.java (1.5), DiscretizeFilter.java (1.10), EmptyAttributeFilter.java (1.3), Filter.java (1.12), FirstOrderFilter.java (1.8), InstanceFilter.java (1.5), MakeIndicatorFilter.java (1.8), MergeTwoValuesFilter.java (1.6), NominalToBinaryFilter.java (1.12), NonSparseToSparseFilter.java (1.3), NormalizationFilter.java (1.6), NullFilter.java (1.4), NumericToBinaryFilter.java (1.3), NumericTransformFilter.java (1.8), ObfuscateFilter.java (1.4), RandomizeFilter.java (1.4), ReplaceMissingValuesFilter.java (1.8), ResampleFilter.java (1.6), SparseToNonSparseFilter.java (1.3), SplitDatasetFilter.java (1.7), SpreadSubsampleFilter.java (1.5), StringToNominalFilter.java (1.3), StringToWordVectorFilter.java (1.4), SwapAttributeValuesFilter.java (1.7), TimeSeriesDeltaFilter.java (1.4), TimeSeriesTranslateFilter.java (1.5): Huge cleanup here. Filters now work safely with string attributes. Previously, Bad Things would happen and the string values would get lost or point to the wrong strings when passing through filters. There is one case (not applicable all known filters) yet to handle, see comments in Filter.inputFormat. 2000-12-10 13:53 trigg * weka/core/Instances.java (1.25): Added a method for quickly removing all instances from the dataset. 2000-12-10 13:52 trigg * weka/core/Instance.java (1.9): copy() now points the copied instance at the same dataset as the original instance. This makes more sense. If you want the old behaviour, use the equivalent constructor. 2000-12-10 13:51 trigg * weka/core/Attribute.java (1.14): Adding string values no longer checks for duplicates (since it's assumed string values are typically unique, otherwise they'd be nominal). Added a method for efficiently copying string values from one attribute to another. 2000-12-09 14:13 trigg * weka/: classifiers/FilteredClassifier.java (1.8), core/Instances.java (1.24), filters/StringToWordVectorFilter.java (1.3): Moved common code into Instances. 2000-12-09 14:13 trigg * weka/classifiers/MultiClassClassifier.java (1.13): Less restrictive of the datasets it accepts. 2000-12-09 11:42 trigg * weka/: associations/Associator.java (1.3), attributeSelection/ASEvaluation.java (1.7), classifiers/Classifier.java (1.7), clusterers/Clusterer.java (1.7): Changed makeCopies methods to use Serialization when copying. Now copies will also contain any model built by the input object. However, this method now works when making copies of objects that were not previously able to be created by the command line. 2000-12-08 16:13 trigg * weka/classifiers/evaluation/ThresholdCurve.java (1.10): Added routine for calculating area under ROC curve. 2000-12-08 15:30 trigg * weka/filters/MakeIndicatorFilter.java (1.7): Changed how output indicator values are named. 2000-12-08 15:25 trigg * weka/classifiers/ThresholdSelector.java (1.12): Little more accepting in the auto-name case. Now just wants class values starting with "yes" or "pos" (case-insensitive) or equalling "1". 2000-12-08 15:17 trigg * weka/attributeSelection/StartSetHandler.java (1.4): Fixed buggy Revision tag. 2000-12-08 15:04 trigg * weka/classifiers/ThresholdSelector.java (1.11): Another method for picking which class to optimize: value with a positive sounding name (yes, pos, positive, 1); 2000-12-08 14:12 trigg * weka/filters/SpreadSubsampleFilter.java (1.4): Added an option to adjust weights of output instances so that the total weight per class can be maintained. 2000-12-08 11:42 trigg * weka/classifiers/evaluation/Prediction.java (1.3): Incorrect access on the predicted method. 2000-12-08 11:37 trigg * weka/classifiers/evaluation/TwoClassStats.java (1.4): Added a method to get an equivalent confusion matrix. Perhaps TwoClassStats should be changed to use a ConfusionMatrix internally. Advantage: loading/saving/applying costs. Disadvantage: slightly slower, slightly more memory. 2000-12-08 11:35 trigg * weka/classifiers/Evaluation.java (1.38): Added a couple of comments. 2000-12-08 11:34 trigg * weka/classifiers/CostSensitiveClassifier.java (1.6): setCostMatrix and setOnDemandDirectory now set the cost matrix source appropriately. 2000-12-08 11:33 trigg * weka/classifiers/CostMatrix.java (1.7): A couple of extra comments. No actual code change. 2000-12-06 09:46 trigg * weka/classifiers/MetaCost.java (1.5): setCostMatrix and setOnDemandDirectory now make the appropriate setting to setCostMatrixSource. We should probably go through properties in other schemes and get the property dependencies updating appropriately. 2000-12-05 13:58 trigg * weka/classifiers/Evaluation.java (1.37): Partial refactoring of the main evaluation routine. 2000-12-04 15:22 trigg * weka/classifiers/AttributeSelectedClassifier.java (1.5): Fixed small bug in Revision tag. 2000-12-04 15:18 trigg * weka/attributeSelection/SymmetricalUncertAttributeEval.java (1.9): Fixed small bug in Revision tag. 2000-12-04 15:14 trigg * weka/attributeSelection/: ErrorBasedMeritEvaluator.java (1.3), RankedOutputSearch.java (1.6): Fixed small bug in Revision tag. 2000-12-04 12:26 trigg * weka/classifiers/ThresholdSelector.java (1.10): Added different options for choosing which class value to optimize for. 2000-12-04 10:52 trigg * weka/classifiers/ThresholdSelector.java (1.9): Converted into a DistributionClassifier, where the probability distribution is rescaled so that the selected threshold corresponds to 0.5 in the output distribution. Essentially means this metaclassifier just does two linear transformations on the output of the subclassifier. 2000-12-03 16:32 trigg * weka/classifiers/evaluation/ThresholdCurve.java (1.9): Now possible to get the names of the attributes used for the various measures as static fields. 2000-12-03 16:31 trigg * weka/classifiers/evaluation/EvaluationUtils.java (1.4): Can now generate NumericPredictions. 2000-12-03 16:30 trigg * weka/classifiers/DistributionMetaClassifier.java (1.3): Added a useful constructor. 2000-12-03 16:29 trigg * weka/classifiers/ThresholdSelector.java (1.8): Removed 120 lines of code :-) 2000-11-30 15:48 trigg * weka/: Makefile (1.29), core/Makefile (1.9), core/converters/AbstractLoader.java (1.1), core/converters/ArffLoader.java (1.1), core/converters/C45Loader.java (1.1), core/converters/CSVLoader.java (1.1), core/converters/ConverterUtils.java (1.1), core/converters/Loader.java (1.1), core/converters/Makefile (1.1), core/converters/SerializedInstancesLoader.java (1.1), gui/GenericObjectEditor.props (1.28), gui/explorer/PreprocessPanel.java (1.21): Moved weka.converters to weka.core.converters Did some renaming of classes Added ability for some Loaders to read from an InputStream Implemented SerializedInstancesLoader 2000-11-29 16:13 trigg * weka/classifiers/FilteredClassifier.java (1.7): The memory optimization to remove references to old strings after filtering wasn't passing the class attribute through. Fixed. 2000-11-24 13:11 mhall * weka/gui/explorer/Explorer.java (1.18): Oops. Changed addPlot to setMasterPlot when setting up Visualize panel. 2000-11-24 12:55 mhall * weka/gui/explorer/Explorer.java (1.17): Visualize panel is now initialized using a PlotData2D object rather than calling setInstances. 2000-11-24 12:54 mhall * weka/gui/visualize/VisualizePanel.java (1.17): The setInstances method does not add an instance number attribute (for the sake of the UserClassifier). 2000-11-24 11:40 mhall * weka/gui/explorer/: ClassifierPanel.java (1.41), AttributeSelectionPanel.java (1.22), ClustererPanel.java (1.28): Visualizable results now have instance number attribute. 2000-11-24 11:39 mhall * weka/gui/visualize/: PlotData2D.java (1.9), VisualizePanel.java (1.16): Made adding an instance number attribute to visualizeable instances optional. 2000-11-23 14:16 mhall * weka/gui/visualize/PlotData2D.java (1.8): Now preserves original relation name (used to get overwritten by the filter that is used to add the instance number attribute). 2000-11-22 17:27 trigg * weka/classifiers/MultiClassClassifier.java (1.12): Optimization when using on two-class problems -- doesn't build a redundant model. 2000-11-22 08:54 mhall * weka/gui/GenericObjectEditor.props (1.27): Added SimpleKMeans 2000-11-22 08:54 mhall * weka/clusterers/: Makefile (1.3), SimpleKMeans.java (1.1): Initial import SimpleKMeans. Added to Makefile. 2000-11-20 15:06 mhall * weka/gui/visualize/PlotData2D.java (1.7): Now adds an "Instance_number" attribute 2000-11-10 16:18 mhall * weka/experiment/ClassifierSplitEvaluator.java (1.11): Added kappa statistic to the results produced. 2000-11-03 18:11 eibe * weka/filters/SplitDatasetFilter.java (1.6): Option to generate data that is not stratified even if class index is set. 2000-11-01 16:25 mhall * weka/classifiers/AdditiveRegression.java (1.4): Added option for setting the maximum number of iterations to perform. 2000-11-01 12:24 eibe * weka/classifiers/Evaluation.java (1.36): Included kappa statistic in output. 2000-11-01 11:41 mhall * weka/classifiers/Prism.java (1.11): Fixed bug that Eibe introduced in July last year :-) 2000-10-30 15:49 mhall * weka/gui/GenericObjectEditor.props (1.26): Added converter C45ToArff. 2000-10-30 10:31 trigg * weka/classifiers/MultiClassClassifier.java (1.10): Better output -- includes class names rather than just indices. 2000-10-24 12:36 mhall * weka/gui/explorer/: ClassifierPanel.java (1.39), ClustererPanel.java (1.26), AttributeSelectionPanel.java (1.20): Now sets the log object for VisualizePanels that are popped up. 2000-10-24 12:35 mhall * weka/gui/visualize/VisualizePanel.java (1.14): Added a test for non null log object before trying to write a message to it :-) 2000-10-24 10:38 trigg * weka/core/: BinarySparseInstance.java (1.1), Instance.java (1.7), SparseInstance.java (1.3): Added first version of an Instance optimized for binary data (i.e. less memory requirements). Needs more testing. Also required some changes to finality of methods in parent classes. 2000-10-20 16:33 mhall * weka/gui/experiment/RunPanel.java (1.14): No longer "says waiting for remote tasks to finish" if experiment is not a RemoteExperiment. 2000-10-20 15:42 mhall * weka/classifiers/m5/Node.java (1.3): Fixed bug that prevented the last attribute from being considered when making a split at a node.