python-weka-wrapper3

Python 3 wrapper for Weka using JPype.

GPL-3.0 License

Downloads
688
Stars
139
Committers
5

Bot releases are hidden (Show)

python-weka-wrapper3 - Release v0.3.1 Latest Release

Published by fracpete 3 months ago

  • the max_heap_size parameter of the start method from the weka.core.jvm module now has an effect
python-weka-wrapper3 - Release v0.3.0

Published by fracpete 3 months ago

  • added is_additional_measure_producer variable, additional_measures property and additional_measure(str) method to the weka.classifiers.Classifier class, giving convenient access to classes implementing weka.core.AdditionalMeasureProducer
  • replaced javabridge with jpype behind the scenes, simplifying native API calls
  • removed property JavaObject.jclasswrapper
  • property JavaObject.jwrapper is now deprecated and JavaObject.jobject should be used instead
  • renamed JavaArray.new_instance to JavaArray.new_array
  • now works on M1/M2 Macs
  • updated doc strings
  • updated documentation, especially around installation
python-weka-wrapper3 - Release v0.2.16

Published by fracpete 5 months ago

  • setup.py no longer lists python-javabridge with github URL, as it fails to install via pip otherwise
python-weka-wrapper3 - Release v0.2.15

Published by fracpete 5 months ago

  • the methods create_instances_from_lists and create_instances_from_matrices of the weka.core.dataset module can handle missing values now (None in case of lists, nan in case of matrices), as well as being able to force columns to be nominal
  • added the method load_csv_file to the module weka.core.converters to provide a more reliable way of loading CSV files compared to Weka's native CSVLoader converter (uses Python's csv module and then calls create_instances_from_lists).
  • added simple_range library as dependency to make it easier to generate integer list from range strings
  • added weka.core.utils module with following methods: correlation, variance, normalize
  • updated requirements (and install instructions) to make pww3 work with Python 3.11+
python-weka-wrapper3 - Release v0.2.14

Published by fracpete over 1 year ago

  • extracted arpack_combined.jar, core.jar and mtj.jar from weka.jar to make them available under Java 17
python-weka-wrapper3 - Release v0.2.13

Published by fracpete over 1 year ago

  • moved Configurable and JSONObject into configurable-objects library
  • moved base flow components into simple-data-flow library
  • added methods subset_results, rank_results to class AttributeSelection (module: weka.attribute_selection) to give access to cross-validation output in numeric rather textual form (NB: it has to parse the textual CV output).
  • made the plot_experiments method (module weka.plot.experiments) more customizable
python-weka-wrapper3 - Release v0.2.12

Published by fracpete almost 2 years ago

  • method install_packages (module: weka.core.packages) now no longer interprets the installation message returned when installing from URL or local zip file as failure to install; also outputs any installation message now in the console; now has flags for fail_fast mode (first package that fails stops installation process) and whether to return details (dict per package rather than just a bool for all packages)
  • method install_package (module: weka.core.packages) can return either a boolean flag of success or detailed information
python-weka-wrapper3 - Release v0.2.11

Published by fracpete about 2 years ago

  • methods install_packages and install_missing_packages of module weka.core.packages now allow a list of package names instead of tuples (name, version), assuming latest as version
  • method get_jclass in module weka.core.classes can handle primitive classes now as well (eg int -> java.lang.Integer.TYPE)
  • methods get_non_public_field and call_non_public_method in module weka.core.classes allow accessing private/protected fields and calling private/protected methods of Java objects, which avoids having to sub-class classes to get public access to them (NB: only works as long as the security manager allows that)
  • added split_commandline method to module weka.core.classes, which splits a command-line into classname and option list tuple
  • the Instances class (module: weka.core.dataset) now supports slicing
  • added methods plot_xmlbif_graph and xmlbif_to_dot to module weka.plot.graph for plotting XML BIF graphs generated by BayesNet using GraphViz
  • added method plot_graph to module weka.plot.graph to plot dot or XML BIF graphs
python-weka-wrapper3 - Release v0.2.10

Published by fracpete over 2 years ago

  • added logging_level parameter to the start method of the weka.core.jvm module, enabling the user to turn off debugging output in an easy way (https://github.com/fracpete/python-weka-wrapper3/issues/40)
  • added method cv_splits to class Instances from module weka.core.dataset to return a list of train/test tuples as used by cross-validation
  • the Tester class (module: weka.experiments) now has an option to swap columns/rows for comparing datasets rather than classifiers
  • the SimpleExperiment class and derived classes (module: weka.experiments) now have the additional parameters in the constructor: class_for_ir_statistics, attribute_id, pred_target_column
  • the method is_installed (module: weka.core.packages) now can check whether a specific version is installed
  • added pww-packages entry point to allow managing of Weka packges from the command-line (actions: list/info/install/uninstall/suggest/is-installed)
python-weka-wrapper3 - Release v0.2.9

Published by fracpete over 2 years ago

  • method JavaObject.new_instance in module weka.core.classes now automatically installs packages based on suggestions if the JVM was started with the auto_install flag enabled.
  • method test_model_once of class Evaluation (module: weka.classifiers) now has the additional parameter store, which allows the recording of the predictions (necessary for statistics like AUC)
python-weka-wrapper3 - Release v0.2.8

Published by fracpete over 2 years ago

  • methods create_instances_from_lists and create_instances_from_matrices (module weka.core.dataset) now allow the specification of column names, for input and output variables.
python-weka-wrapper3 - Release v0.2.7

Published by fracpete over 2 years ago

  • Added property for attribute indices to DistanceFunction class (module weka.core.distances) (thanks to Martin Trat, https://github.com/fracpete/python-weka-wrapper3/pull/39)
  • improved instantiation of classes, avoiding misleading output of exceptions
  • JavaArray class (module: weka.core.classes) now has __str__ and __repr__ methods that output classname and size
python-weka-wrapper3 - Release v0.2.6

Published by fracpete over 2 years ago

  • upgraded bundled Weka to 3.9.6
python-weka-wrapper3 - Release v0.2.5

Published by fracpete almost 3 years ago

  • switched to python-javabridge, the new name (fork?) of the javabridge library
  • Package.__str__ (weka.core.packages module) method now returns a string rather than printing the name/version
  • added to_numpy(...) methods to Instance and Instances classes (module weka.core.dataset) to make it easy to obtain a numpy array from the Weka dataset
python-weka-wrapper3 - Release v0.2.3

Published by fracpete almost 3 years ago

  • added weka.core.distances module for distance functions, with DistanceFunction base class
  • added avg_silhouette_coefficient method to weka.clusterers to calculate the average silhouette coefficient
python-weka-wrapper3 - Release v0.2.4

Published by fracpete almost 3 years ago

  • added method help_for to weka.core.classes module to generate a help screen for an weka.core.OptionHandler class using just the classname.
  • the to_help method of the weka.core.classes.OptionHandler class now allows to tweak the generated output a bit better (e.g., what sections to output).
  • setting window title of Matplotlib is now dependent on version (to avoid deprecation notice being output)
  • plot_classifier_errors (module weka.plot.classifiers) now plots the diagonal after adding all the plot data to get the right limits
python-weka-wrapper3 - Release v0.2.2

Published by fracpete over 3 years ago

  • the Package class of the weka.core.packages module now has a version property to quickly access the version which is stored in the meta-data; the metadata property now returns a proper Python dictionary
  • added convenience methods to the weka.core.packages module: install_packages to install more than one package, install_missing_package and install_missing_packages to install one or more packages if missing (can automatically stop the JVM and exit the process), uninstall_packages to remove more than one package in one operation
python-weka-wrapper3 - Release v0.2.1

Published by fracpete over 3 years ago

  • the ASEvaluation class in the weka.attribute_selection module now offers the following methods for attribute transformers like PCA: transformed_header, transformed_data, convert_instance
  • classes derived from weka.core.classes.JavaObject are now serializable via pickle
  • added the method copy_structure to the weka.core.dataset.Instances class to quickly get the header of a dataset
  • added the property header to the following classes that returns the training data structure: ASEvaluation, ASSearch, Associator, Classifier, Clusterer, TSForecaster
  • methods from weka.core.serialization have been moved into weka.core.classes, with the following methods getting the serialization_ prefix: write, write_all, read, read_all
python-weka-wrapper3 - Release v0.2.0

Published by fracpete over 3 years ago

  • classes.new_instance method can take an options list now as well
  • added classes.get_enum method to return the instance of a Java enum item
  • added classes.new_instance method to create new instance of Java class
  • added typeconv.jstring_list_to_string_list method to convert a java.util.List containing strings into a Python list
  • added typeconv.jdouble_to_float method to convert a java.lang.Double to a Python float
  • in module typeconv renamed methods: string_array_to_list to jstring_array_to_list, string_list_to_array to string_list_to_jarray, double_matrix_to_ndarray to jdouble_matrix_to_ndarray, enumeration_to_list to jenumeration_to_list, double_to_float to float_to_jfloat
  • added weka.timeseries module that wraps the timeseriesForecasting Weka package
python-weka-wrapper3 - Release v0.1.16

Published by fracpete almost 4 years ago

  • upgraded Weka to 3.9.5