Hi All,
I have finished implementing a Window (ClassifyHtWindowProcessor) to do the
classification based on Hoeffding Tree. So if you define the event stream as
below
you can send initial set of events to build the classification model then after
the building the tree with given number of events WindowProcess will start
doing the predictions for the defined class (With current implementation only
one class is supported and it has to be the last attribute in the stream
definition). Window processor arguments are number of training events required
to build the tree and the desired class value comes true with the prediction
(In this case event will emit when the decision comes as not to play ).
siddhiManager.defineStream("define stream weather (outlook optional(sunny,
overcast, rainy), temperature optional(hot, mild, cool),humidity optional(high,
normal),windy optional(TRUE, FALSE),play optional(yes, no))");
siddhiManager.addQuery("from weather#window.classifyHt(14,no)" +
"select play " +
"insert into Results for all-events ;”);
Current implementation has following limitations.
Do not support numeric values to build the distribution.
Only a single class can be predicted.
To improve the performance we can do Tie Breaking Hoeffding tree implementation
and do more refining for the algorithm.
If you have more feedback or real dataset I can test that would be great.
Regards
Lahiru
On Sep 23, 2014, at 4:52 AM, Ginnaliya Gamathige, Lahiru Manananda
<[email protected]<mailto:[email protected]>> wrote:
Hi Paul,
On Sep 23, 2014, at 4:35 AM, Paul Fremantle
<[email protected]<mailto:[email protected]>> wrote:
I think this is really useful. I'm not convinced the word nominal is well-known
enough to be completely clear in this context.
what about
define stream weather( outlook options={sunny, overcast, rainy} )
+1
Lahiru
Paul
On 21 September 2014 19:45, Ginnaliya Gamathige, Lahiru Manananda
<[email protected]<mailto:[email protected]>> wrote:
Hi Devs,
I am developing a classification algorithm for siddhi and I have a requirement
of defining attributes as a nominal attribute.
Nominal attribute is similar to a string attribute but during the definition we
have to give the possible values for that attribute.
One of the value from that set can come as the actual value in a particular
event. I can see in the code Siddhi doesn’t support this (Please correct me if
I am wrong), so
I am thinking of changing the Siddhi language grammar to parse nominal
attribute as below.
Example query: define stream weather(outlook nominal{sunny, overcast, rainy},
temperature nominal{hot, mild, cool}, humidity nominal{high, normal},windy
nominal{TRUE, FALSE},play nominal{yes, no}).
If there is a better way to do this, please provide me some feedback.
During the classification algorithm it will use numeric values which maps to
these possible values(Ex: sunny=0,overcase=1,rainy=2) and do the calculation
using numeric values. Initial phase of the algorithm
I am implementing[1], I hope to process nominal values (which is easy to
implement), then algorithm should support processing numeric data too.
If you have any feedback please let me know.
[1]http://homes.cs.washington.edu/~pedrod/papers/kdd00.pdf
Regards
Lahiru
_______________________________________________
Architecture mailing list
[email protected]<mailto:[email protected]>
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
--
Paul Fremantle
CTO and Co-Founder, WSO2
OASIS WS-RX TC Co-chair, Apache Member
UK: +44 207 096 0336<tel:%2B44%20207%20096%200336>
blog: http://pzf.fremantle.org<http://pzf.fremantle.org/>
twitter.com/pzfreo<http://twitter.com/pzfreo>
[email protected]<mailto:[email protected]>
wso2.com<http://wso2.com/> Lean Enterprise Middleware
Disclaimer: This communication may contain privileged or other confidential
information and is intended exclusively for the addressee/s. If you are not the
intended recipient/s, or believe that you may have received this communication
in error, please reply to the sender indicating that fact and delete the copy
you received and in addition, you should not print, copy, retransmit,
disseminate, or otherwise use the information contained in this communication.
Internet communications cannot be guaranteed to be timely, secure, error or
virus-free. The sender does not accept liability for any errors or omissions.
_______________________________________________
Architecture mailing list
[email protected]<mailto:[email protected]>
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
_______________________________________________
Architecture mailing list
[email protected]<mailto:[email protected]>
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture