AKD (Adaptive Knowledge Discovery)
This project is to design, develop,and test a creative and stable software tool,
which could finally enable the knowledge discovery as soon as
the industry case data is given. The components
in format of DLL are being developed using Visual C++, including normalization,
discretization (Chi2), dimensionality reduction (based on statistics), neural
network modeling, rule extraction from decision tree and clustering, AMFM rule
tuning (Adaptive Mamdani Fuzzy Model), as well as rule base pruning.
Installation and Operation manual are available for downloading.
Dr. Samuel Huang (Principal Investigator) - Sam
Dr. Jun Shi(Project Manager & Principal Programming) - John
Ranganath Kothamasu (Algorithms and Debugging) - Ranga
Saurabh Dwivedi (Testing) - Saurabh
- Double-click AKD.exe
- Get window as following:
- The window includes four parts, indicated as the
following drawing:
- The top part helps the user select one of the demo
cases. The user can open other case data after clicking the the Wizard button.
End the program by clicking on the Close button.
- Left part is a list of big buttons; each of them is
related to one function of the program.
- Middle part contains all file names and parameters
values that will be used by various functions.
- Right part is a group of small buttons. They will pop up dialogs to show
data grid, and compile data such as rules and terms.
- Normalization:
Set names of the initial data file and the
normalized data file.
Click the Normalization button.
The program
reads the initial data file and generates the normalized data file.
- Discretization:
Set names of the initial data file, the
discretized data file and the interval list data file.
Click the
Discretization button.
The program reads the initial data file, and
generates the discretized data file and the interval list data file.
- Rule Extraction with Decision Tree:
Set the name of the rule
file.
Click the DT Extraction button.
The program reads the
discretized data file, and generates rules.
- Rule Extraction with Clustering:
Set names of the rule file and
the term file.
Click the Clustering Extraction button.
The program
reads the original data file, and generates rules and the term file.

- Click the Wizard button.

The rule extraction dialog pops up.
- The dialog opens the original file selected in the
Demo Cases radio buttons by default.
- The user clicks the Open button to get another original data file.
- The user can set the flow chart of the program:
normalization is needed or not; discretization is needed or not; rules are
extracted using decision or clustering; and AMFM is used to tune the rules or
not.
- Click the Extract rules button to run the process.
- Now the View rules button and the Save rules button
are enabled.
- Click the View rules button, the Rule explorer dialog will pop up, which
will be described in the rest of the manual.
- Click the Save rule button to save rules into a text file, which can
re-used in the Rule explorer dialog.
- End the dialog and return to the main window by clicking on the Close
button.
- Click the Show Data button on the right hand side of the original file
name text box;

The Initial data dialog pops up, as shown in the
following figure.
- The same operations apply for displaying the normalized data.
- The same operations apply for displaying the discretized
data.
- Click the Show lists button and the interval list data shown in format of
grid as in the following figure.
- The same operations apply for displaying the rule data extracted by
decision tree.

The dialog is shown as in the following figure.
Each row of the grid data is a rule. The values show the position of the
parameter's value in the interval list. "~" means the parameter does not
appear in the certain rule. So the first line in the dialog is not a valid
rule. The second line means that "If sepal length=0 and sepal width=1 Then
iris class=0 ".
- Click the Show Data button on the right hand side of the rule file name
text box for rule extraction with clustering.

The rule data dialog pops up, as shown in the following
figure. Each row of the grid data is a rule. The values show the position of
the parameter's term array. The term array stands for the logistic terms the
certain parameter has. For example, the sepal length may have three terms
["middle", "short", "long"]: "middle" in position 0 of the array; "short" in
1; and "long" in 2, Thus, the first line means that "If all of sepal length,
sepal width, petal length and petal width are the first terms in their term
arrays, Then iris class=0 ", so on.
- Click the Show terms button and the terms data shown in format of grid as
in the following figure.
- For each data grid dialog, click on the Close button to return back to
main window.
The rules and terms have a better facilities to operate, which will be
address in the rest of the manual.
- Click the Define terms button on the right hand side of the interval list
file name text box, to display and compile the linguistic terms generated by
discretization.

The term explorer dialog pops up.

- The attribute Combo box let the user select the parameter to work on.

- The major part of the dialog is a two column list view: the left column
lists the default names for items in the interval list. The user can assign a
name for it on the right hand side.

- Click the Update button to accept the changes in the list view part for
current parameter. Or the changes will not affect the results after the user
switch to other parameter or close the dialog.
- Click the Retrieve button to recover the values changed in the list view.
- Click the Cancel button to close the dialog and return back to main window
without saving data.
- Click the Save & Return button to save the changes and return back to
main window.
- Save operations applies on the terms generated in clustering rule
extraction.


- Click the Show rule button to display and compile rules extracted through
decision tree.

The Rule explorer dialog pops up as shown in the
following figure.

- The Rule explorer opens the file selected in the main window by default.
- Click on the Open button to open another rule data file.

- The top side list box shows all rules in the IF-THEN format. Click
on each item, IF part and THEN part of the associated rule will be shown in
the bottom side.
- The user can change the values in the IF part list view and THEN part list
view.
- Click the Update button to accept the changes; the associated item in the
top side list box will be changed.
- Click the Add button to append a new rule in database; then the user can
update the new rule.
- Click the Delete button to remove a rule form the database.
- Click the Save button to save all changes into the rule data file.
- Click the Close button to return back to the main window.
- Save operations apply on the rules generated through the clustering method
and the wizard facility.

