<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Data mining (Posts about update)</title><link>https://www.data-mining.co.nz/</link><description></description><atom:link href="https://www.data-mining.co.nz/categories/update.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2026 &lt;a href="mailto:fracpete@waikato.ac.nz"&gt;Applied Machine Learning Group, University of Waikato&lt;/a&gt; </copyright><lastBuildDate>Thu, 09 Jul 2026 04:07:54 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>S3000 Pod Support</title><link>https://www.data-mining.co.nz/news/2026-05-28-s3000-pod-support/</link><dc:creator>Applied Machine Learning Group, University of Waikato</dc:creator><description>&lt;p&gt;Typically, our commercial framework for laboratories, &lt;a class="reference external" href="https://www.data-mining.co.nz/s3000/"&gt;S3000&lt;/a&gt;, combines training
of models/cleaners/evaluators/etc and generating predictions on the same server. But that was mostly due
to S3000 instances starting out with a small number of models, not because it was a requirement.
Especially for mission-critical systems that output predictions 24/7, it makes sense to have a separate
grunty server for training the models and then one or more light-weight servers that serve the predictions.&lt;/p&gt;
&lt;p&gt;However, copying the versioned directory structures from the training directory across to other servers
is not particularly efficient and it is easy to make mistakes. Especially, if one has to update the setups
and/or components as well.&lt;/p&gt;
&lt;p&gt;In order to speed up deployments of new models or simply make replacing only a few models easier, S3000
introduces the concept of &lt;strong&gt;Pods&lt;/strong&gt;. A &lt;strong&gt;Pod&lt;/strong&gt; is a self-contained zip file that combines all the serialized
models like classifier and evaluators plus a JSON configuration file describing the pod. Prediction generators
that are Pod-aware will then read these Pod files and their configuration to generate a prediction workflow
on-the-fly which will then load the models into internal storage, ready to be used.&lt;/p&gt;
&lt;p&gt;Currently, only &lt;em&gt;SIMPLE&lt;/em&gt; components are supported and &lt;em&gt;FUSION&lt;/em&gt; will be added at a later stage.&lt;/p&gt;</description><category>update</category><guid>https://www.data-mining.co.nz/news/2026-05-28-s3000-pod-support/</guid><pubDate>Thu, 28 May 2026 01:51:00 GMT</pubDate></item><item><title>S3000 HTML Support</title><link>https://www.data-mining.co.nz/news/2026-05-05-s3000-html-support/</link><dc:creator>Applied Machine Learning Group, University of Waikato</dc:creator><description>&lt;p&gt;During training runs, our commercial framework for laboratories, &lt;a class="reference external" href="https://www.data-mining.co.nz/s3000/"&gt;S3000&lt;/a&gt;, can
output cross-validation statistics, which include summary statistics, spreadsheets and plots.
Up till now, the plots were PNG image files, making it easy to include them in reports or quickly scan
the model performances.&lt;/p&gt;
&lt;img alt="Simple scatter plot of actual vs predicted" height="600" src="https://www.data-mining.co.nz/images/output_model_statistics-png-c-model-actvspred.png" width="800"&gt;
&lt;p&gt;A while ago, support for kernel-density estimate (KDE) plots was introduced, which can tell a better story
for datasets with a lot of data points. The default scatter plot for actual vs predicted can be replaced
using the &lt;em&gt;ConfigTags.props&lt;/em&gt; file, e.g., with this KDE setup:&lt;/p&gt;
&lt;pre class="literal-block"&gt;output_model_statistics#chart=adams.gui.visualization.jfreechart.chart.DensityScatterPlot -label-x actual -label-y predicted -mode KDE -generator "adams.gui.visualization.core.BiColorGenerator -first-color #0000ff -second-color #ffc800 -alpha 127"&lt;/pre&gt;
&lt;img alt="Kernel-density estimate plot of actual vs predicted" height="600" src="https://www.data-mining.co.nz/images/output_model_statistics-png-kde-c-model-actvspred.png" width="800"&gt;
&lt;p&gt;However, static plots make it easy to spot outliers, but much harder to identify them. ADAMS introduced the generation
of self-contained HTML plots in the WEKA Investigator, which can now be used in S3000 as well when outputting model
statistics. The following &lt;em&gt;ConfigTags.props&lt;/em&gt; entry will&lt;/p&gt;
&lt;pre class="literal-block"&gt;output_model_statistics#html=adams.flow.transformer.actualvspredictedprocessor.ClassifierErrorsKernelDensityEstimate -circle-size 10&lt;/pre&gt;
&lt;img alt="Kernel-density estimate plot of actual vs predicted in HTML" height="382" src="https://www.data-mining.co.nz/images/output_model_statistics-html-kde-c-model-actvspred.png" width="800"&gt;</description><category>update</category><guid>https://www.data-mining.co.nz/news/2026-05-05-s3000-html-support/</guid><pubDate>Tue, 05 May 2026 04:10:00 GMT</pubDate></item><item><title>S3000 Customization</title><link>https://www.data-mining.co.nz/news/2025-10-06-s3000-customization/</link><dc:creator>Applied Machine Learning Group, University of Waikato</dc:creator><description>&lt;p&gt;Out of the box, our &lt;a class="reference external" href="https://www.data-mining.co.nz/s3000/"&gt;S3000&lt;/a&gt; software comes with predefined workflow generator
plugins that can be configured to suit a customer's needs. However, sometimes it is necessary to further
refine that configuration, e.g., when generating statistics during training runs.
In order not to overload the generator plugins with even more options, or create customized generators,
the notion of &lt;em&gt;config tags&lt;/em&gt; has been introduced. Generators that support such customization will
state so in their help screen and list the supported &lt;em&gt;tags&lt;/em&gt;. These tags can then be customized in
the &lt;em&gt;ConfigTags.props&lt;/em&gt; properties file.&lt;/p&gt;</description><category>update</category><guid>https://www.data-mining.co.nz/news/2025-10-06-s3000-customization/</guid><pubDate>Mon, 06 Oct 2025 03:43:00 GMT</pubDate></item><item><title>S3000 REST webservice support</title><link>https://www.data-mining.co.nz/news/2025-04-03-s3000-rest-support/</link><dc:creator>Applied Machine Learning Group, University of Waikato</dc:creator><description>&lt;p&gt;While our commercial framework for laboratories, &lt;a class="reference external" href="https://www.data-mining.co.nz/s3000/"&gt;S3000&lt;/a&gt;, had support for
making predictions via &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Web_service"&gt;webservices&lt;/a&gt; for a long time,
that was limited to asynchronous ones: a webservice endpoint receives data coming in and, once the
predictions have been generated, the results get forwarded to another webservice.&lt;/p&gt;
&lt;p&gt;With recent changes to the codebase, it is now possible to offer synchronous &lt;a class="reference external" href="https://en.wikipedia.org/wiki/REST"&gt;REST webservices&lt;/a&gt;
as well. In order to reduce latency as much as possible, provenance logging under the hood
has been modified to have a much higher throughput that no longer impacts the speed of the predictions.&lt;/p&gt;
&lt;p&gt;Thanks to the plugin architecture of S3000, customer-specific webservices can be implemented and deployed
with minimal effort.&lt;/p&gt;</description><category>update</category><guid>https://www.data-mining.co.nz/news/2025-04-03-s3000-rest-support/</guid><pubDate>Wed, 02 Apr 2025 21:35:00 GMT</pubDate></item><item><title>S3000 Python support</title><link>https://www.data-mining.co.nz/news/2025-03-04-s3000-python-support/</link><dc:creator>Applied Machine Learning Group, University of Waikato</dc:creator><description>&lt;p&gt;Our commercial offering for laboratories, &lt;a class="reference external" href="https://www.data-mining.co.nz/s3000/"&gt;S3000&lt;/a&gt;, now has official
support for custom Python models. Being a Java application, S3000 historically relied on Weka for its modeling.
However, with the integration of &lt;a class="reference external" href="https://github.com/ninia/jep"&gt;Jep&lt;/a&gt; (Java Embedded Python) in ADAMS, it is now
possible to use scikit-learn or deep learning libraries for training models and making predictions.&lt;/p&gt;
&lt;p&gt;In order to make this work, ADAMS needs to launch from the context of an activated virtual Python environment
that contains all the required Python libraries and then use the &lt;cite&gt;JepRegressor&lt;/cite&gt; Weka meta-classifier to define
the relevant code for training and making predictions. Due to Java serialization not being applicable to Python objects,
these scripts must implement the relevant serialization/deserialization themselves, e.g., via pickle.&lt;/p&gt;</description><category>update</category><guid>https://www.data-mining.co.nz/news/2025-03-04-s3000-python-support/</guid><pubDate>Tue, 04 Mar 2025 04:07:00 GMT</pubDate></item><item><title>Redis-related Docker image updates</title><link>https://www.data-mining.co.nz/news/2023-08-09-redis_updates/</link><dc:creator>Applied Machine Learning Group, University of Waikato</dc:creator><description>&lt;p&gt;The &lt;a class="reference external" href="https://github.com/waikato-datamining/redis-docker-harness"&gt;redis-docker-harness&lt;/a&gt;
Python library, which is used by a lot of our Docker images, has received a number of updates
(at time of writing, the version of the library in use is 0.0.4):&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;ability to specify a password for the Redis server&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;specify the timeout parameter for the the Redis client, with larger timeouts resulting in
lower CPU load (the default is now 0.01 instead of 0.001)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Unfortunately, this required re-releasing the most recent images of the following frameworks:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;detectron2&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;mmdetection&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;mmsegmentation&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;yolov5&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;yolov7&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Segment Anything (SAM)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;DEXTR&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The images kept their version number, you just need to pull them again, or use &lt;cite&gt;--pull ALWAYS&lt;/cite&gt;
in conjunction with &lt;cite&gt;docker run&lt;/cite&gt;.&lt;/p&gt;</description><category>update</category><guid>https://www.data-mining.co.nz/news/2023-08-09-redis_updates/</guid><pubDate>Tue, 08 Aug 2023 23:41:00 GMT</pubDate></item></channel></rss>