README_KnowledgeFlow
上传用户:wellsales
上传日期:2021-03-11
资源大小:10607k
文件大小:8k
源码类别:

工具条

开发平台:

Others

  1. ===============================================================
  2. KnowledgeFlow GUI Quick Primer
  3. ===============================================================
  4. Introduction:
  5. The KnowledgeFlow provides an alternative to the Explorer as a
  6. graphical front end to Weka's core algorithms. The KnowledgeFlow is a
  7. work in progress so some of the functionality from the Explorer is not
  8. yet available. On the other hand, there are things that can be done in
  9. the KnowledgeFlow but not in the Explorer.
  10. The KnowledgeFlow presents a "data-flow" inspired interface to
  11. Weka. The user can select Weka components from a tool bar, place them
  12. on a layout canvas and connect them together in order to form a
  13. "knowledge flow" for processing and analyzing data. At present, all of
  14. Weka's classifiers, filters, clusterers, loaders and savers are
  15. available in the KnowledgeFlow along with some extra tools.
  16. The KnowledgeFlow can handle data either incrementally or in batches
  17. (the Explorer handles batch data only). Of course learning from data
  18. incrementally requires a classifier that can be updated on an instance
  19. by instance basis. Currently in Weka there are five classifiers that
  20. can handle data incrementally: NaiveBayesUpdateable, IB1, IBk, LWR
  21. (locally weighted regression). There is also one meta classifier -
  22. RacedIncrementalLogitBoost - that can use of any regression base
  23. learner to learn from discrete class data incrementally.
  24. Features of the KnowledgeFlow:
  25. * intuitive data flow style layout
  26. * process data in batches or incrementally 
  27. * process multiple batches or streams in parallel! (each separate flow 
  28.   executes in its own thread)
  29. * chain filters together
  30. * view models produced by classifiers for each fold in a cross validation
  31. * visualize performance of incremental classifiers during 
  32.   processing (scrolling plots of classification accuracy, RMS error, 
  33.   predictions etc)
  34. Components available in the KnowledgeFlow:
  35. DataSources:
  36.   All of Weka's loaders are available
  37. DataSinks:
  38.   All of Weka's savers are available
  39. Filters:
  40.   All of Weka's filters are available
  41. Classifiers:
  42.   All of Weka's classifiers are available
  43. Clusterers:
  44.   All of Weka's clusterers are available
  45. Evaluation:
  46.   TrainingSetMaker - make a data set into a training set
  47.   TestSetMaker - make a data set into a test set
  48.   CrossValidationFoldMaker - split any data set, training set or test set
  49.     into folds
  50.   TrainTestSplitMaker - split any data set, training set or test set into
  51.     a training set and a test set
  52.   ClassAssigner - assign a column to be the class for any data set, training
  53.     set or test set
  54.   ClassValuePicker - choose a class value to be considered as the "positive"
  55.     class. This is useful when generating data for ROC style curves (see
  56.     below)
  57.   ClassifierPerformanceEvaluator - evaluate the performance of batch
  58.     trained/tested classifiers
  59.   IncrementalClassifierEvaluator - evaluate the performance of incrementally
  60.     trained classifiers
  61.   ClustererPerformanceEvaluator - evaluate the performance of batch
  62.     trained/tested clusterers
  63.   PredictionAppender - append classifier predictions to a test set. For
  64.     discrete class problems, can either append predicted class labels or
  65.     probability distributions
  66. Visualization:
  67.   DataVisualizer - component that can pop up a panel for visualizing data in
  68.     a single large 2D scatter plot
  69.   ScatterPlotMatrix - component that can pop up a panel containing a matrix of
  70.     small scatter plots (clicking on a small plot pops up a large scatter 
  71.     plot)
  72.   AttributeSummarizer - component that can pop up a panel containing a matrix
  73.     of histogram plots - one for each of the attributes in the input data
  74.   ModelPerformanceChart - component that can pop up a panel for visualizing
  75.     threshold (i.e. ROC style) curves.
  76.   TextViewer - component for showing textual data. Can show data sets, 
  77.     classification performance statistics etc.
  78.   GraphViewer - component that can pop up a panel for visualizing tree based
  79.     models
  80.   StripChart - component that can pop up a panel that displays a scrolling
  81.     plot of data (used for viewing the online performance of incremental
  82.     classifiers)
  83. ---------------
  84. Launching the KnowledgeFlow:
  85. The Weka GUI Chooser window is used to launch Weka's graphical
  86. environments. Select the button labeled "KnowledgeFlow" to start the
  87. KnowledgeFlow. Alternatively, you can launch the KnowledgeFlow from a
  88. terminal window by typing "java weka.gui.beans.KnowledgeFlow".
  89. At the top of the KnowledgeFlow window is are seven tabs: DataSources,
  90. DataSinks, Filters, Classifiers, Clusterers, Evaluation and
  91. Visualization. The names are pretty much self explanatory.
  92. EXAMPLE:
  93. -----------------
  94. Setting up a flow to load an arff file (batch mode) and
  95. perform a cross validation using J48 (Weka's C4.5 implementation).
  96. First start the KnowlegeFlow.
  97. Next click on the DataSources tab and choose "ArffLoader" from the
  98. toolbar (the mouse pointer will change to a "cross hairs").
  99. Next place the ArffLoader component on the layout area by clicking
  100. somewhere on the layout (A copy of the ArffLoader icon will appear on
  101. the layout area).
  102. Next specify an arff file to load by first right clicking the mouse
  103. over the ArffLoader icon on the layout. A pop-up menu will
  104. appear. Select "Configure" under "Edit" in the list from this menu and
  105. browse to the location of your arff file.
  106. Next click the "Evaluation" tab at the top of the window and choose the
  107. "ClassAssigner" (allows you to choose which column to be the class)
  108. component from the toolbar. Place this on the layout.
  109. Now connect the ArffLoader to the ClassAssigner: first right click
  110. over the ArffLoader and select the "dataSet" under "Connections" in
  111. the menu. A "rubber band" line will appear. Move the mouse over the
  112. ClassAssigner component and left click - a red line labeled "dataSet"
  113. will connect the two components.
  114. Next right click over the ClassAssigner and choose "Configure" from
  115. the menu. This will pop up a window from which you can specify which
  116. column is the class in your data (last is the default).
  117. Next grab a "CrossValidationFoldMaker" component from the Evaluation
  118. toolbar and place it on the layout. Connect the ClassAssigner to the
  119. CrossValidationFoldMaker by right clicking over "ClassAssigner" and
  120. selecting "dataSet" from under "Connections" in the menu.
  121. Next click on the "Classifiers" tab at the top of the window and
  122. scroll along the toolbar until you reach the "J48" component in the
  123. "trees" section. Place a J48 component on the layout.
  124. Connect the CrossValidationFoldMaker to J48 TWICE by first choosing
  125. "trainingSet" and then "testSet" from the pop-up menu for the
  126. CrossValidationFoldMaker.
  127. Next go back to the "Evaluation" tab and place a
  128. "ClassifierPerformanceEvaluator" component on the layout. Connect J48
  129. to this component by selecting the "batchClassifier" entry from the
  130. pop-up menu for J48.
  131. Next go to the "Visualization" toolbar and place a "TextViewer"
  132. component on the layout. Connect the ClassifierPerformanceEvaluator to
  133. the TextViewer by selecting the "text" entry from the pop-up menu for
  134. ClassifierPerformanceEvaluator.
  135. Now start the flow executing by selecting "Start loading" from the
  136. pop-up menu for ArffLoader. Depending on how big the data set is and
  137. how long cross validation takes you will see some animation from some
  138. of the icons in the layout (J48's tree will "grow" in the icon and the
  139. ticks will animate on the ClassifierPerformanceEvaluator). You will
  140. also see some progress information in the "Status" bar and "Log" at
  141. the bottom of the window.
  142. When finished you can view the results by choosing show results from
  143. the pop-up menu for the TextViewer component.
  144. Other cool things to add to this flow: connect a TextViewer and/or a
  145. GraphViewer to J48 in order to view the textual or graphical
  146. representations of the trees produced for each fold of the cross
  147. validation (this is something that is not possible in the Explorer).
  148. -----------------------------