📄 simplestreamfilter.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!--NewPage--><HTML><HEAD><!-- Generated by javadoc (build 1.5.0_10) on Fri Jan 26 16:34:52 NZDT 2007 --><TITLE>SimpleStreamFilter</TITLE><META NAME="keywords" CONTENT="weka.filters.SimpleStreamFilter class"><LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style"><SCRIPT type="text/javascript">function windowTitle(){ parent.document.title="SimpleStreamFilter";}</SCRIPT><NOSCRIPT></NOSCRIPT></HEAD><BODY BGCOLOR="white" onload="windowTitle();"><!-- ========= START OF TOP NAVBAR ======= --><A NAME="navbar_top"><!-- --></A><A HREF="#skip-navbar_top" title="Skip navigation links"></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""><TR><TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"><A NAME="navbar_top_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="http://www.cs.waikato.ac.nz/ml/weka/" target="_blank"><FONT CLASS="NavBarFont1"><B>Weka's home</B></FONT></A> </TD> </TR></TABLE></TD><TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../weka/filters/SimpleFilter.html" title="class in weka.filters"><B>PREV CLASS</B></A> <A HREF="../../weka/filters/StreamableFilter.html" title="interface in weka.filters"><B>NEXT CLASS</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../index.html?weka/filters/SimpleStreamFilter.html" target="_top"><B>FRAMES</B></A> <A HREF="SimpleStreamFilter.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--></SCRIPT><NOSCRIPT> <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A></NOSCRIPT></FONT></TD></TR><TR><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD></TR></TABLE><A NAME="skip-navbar_top"></A><!-- ========= END OF TOP NAVBAR ========= --><HR><!-- ======== START OF CLASS DATA ======== --><H2><FONT SIZE="-1">weka.filters</FONT><BR>Class SimpleStreamFilter</H2><PRE>java.lang.Object <IMG SRC="../../resources/inherit.gif" ALT="extended by "><A HREF="../../weka/filters/Filter.html" title="class in weka.filters">weka.filters.Filter</A> <IMG SRC="../../resources/inherit.gif" ALT="extended by "><A HREF="../../weka/filters/SimpleFilter.html" title="class in weka.filters">weka.filters.SimpleFilter</A> <IMG SRC="../../resources/inherit.gif" ALT="extended by "><B>weka.filters.SimpleStreamFilter</B></PRE><DL><DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable, <A HREF="../../weka/core/CapabilitiesHandler.html" title="interface in weka.core">CapabilitiesHandler</A>, <A HREF="../../weka/core/OptionHandler.html" title="interface in weka.core">OptionHandler</A>, <A HREF="../../weka/filters/StreamableFilter.html" title="interface in weka.filters">StreamableFilter</A></DD></DL><DL><DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../weka/filters/unsupervised/attribute/ClassAssigner.html" title="class in weka.filters.unsupervised.attribute">ClassAssigner</A>, <A HREF="../../weka/filters/MultiFilter.html" title="class in weka.filters">MultiFilter</A>, <A HREF="../../weka/filters/unsupervised/attribute/NumericCleaner.html" title="class in weka.filters.unsupervised.attribute">NumericCleaner</A></DD></DL><HR><DL><DT><PRE>public abstract class <B>SimpleStreamFilter</B><DT>extends <A HREF="../../weka/filters/SimpleFilter.html" title="class in weka.filters">SimpleFilter</A><DT>implements <A HREF="../../weka/filters/StreamableFilter.html" title="interface in weka.filters">StreamableFilter</A></DL></PRE><P>This filter is a superclass for simple stream filters. <p/> <p/> <b>General notes:</b><br/> <ul> <li>After the first call of batchFinished() the field m_FirstBatchDone is set to <code>true</code>. </li> </ul> <p/> <b>Example:</b><br/> The following code snippet uses the filter <code>SomeFilter</code> on a dataset that is loaded from <code>filename</code>. <pre> import weka.core.*; import weka.filters.*; import java.io.*; ... SomeFilter filter = new SomeFilter(); // set necessary options for the filter Instances data = new Instances( new BufferedReader( new FileReader(filename))); Instances filteredData = Filter.useFilter(data, filter); </pre> <b>Implementation:</b><br/> Only the following abstract methods need to be implemented: <ul> <li>globalInfo()</li> <li>determineOutputFormat(Instances)</li> <li>process(Instance)</li> </ul> <br/> And the <b>getCapabilities()</b> method must return what kind of attributes and classes the filter can handle. <p/> If more options are necessary, then the following methods need to be overriden: <ul> <li>listOptions()</li> <li>setOptions(String[])</li> <li>getOptions()</li> </ul> <p/> To make the filter available from commandline one must add the following main method for correct execution (<Filtername> must be replaced with the actual filter classname): <pre> public static void main(String[] args) { runFilter(new <Filtername>(), args); } </pre> <p/> <b>Example implementation:</b><br/> <pre> import weka.core.*; import weka.core.Capabilities.*; import weka.filters.*; import java.util.Random; public class SimpleStream extends SimpleStreamFilter { public String globalInfo() { return "A simple stream filter that adds an attribute 'bla' at the end containing a random number."; } public Capabilities getCapabilities() { Capabilities result = super.getCapabilities(); result.enableAllAttributes(); result.enableAllClasses(); result.enable(Capability.NO_CLASS); // filter doesn't need class to be set return result; } protected Instances determineOutputFormat(Instances inputFormat) { Instances result = new Instances(inputFormat, 0); result.insertAttributeAt(new Attribute("bla"), result.numAttributes()); return result; } protected Instance process(Instance inst) { double[] values = new double[inst.numAttributes() + 1]; for (int n = 0; n < inst.numAttributes(); n++) values[n] = inst.value(n); values[values.length - 1] = new Random().nextInt(); Instance result = new Instance(1, values); return result; } public static void main(String[] args) { runFilter(new SimpleStream(), args); } } </pre> <p/> <b>Options:</b><br/> Valid filter-specific options are:<p/> -D <br/> Turns on output of debugging information.<p/><P><P><DL>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -