# 4.0 Demonstrations

This chapter shows several examples that use neural network technology and are distributed with the Neural Network Utility products. The application problems are described, the kind of training data required is discussed, and the application development process using the Neural Network Utility is detailed.

The demonstrations are the following:

- Animal recognition: Classification
- Credit scoring: Classification
- Sales forecasting: Time-series
- Market analysis: Cluster analysis
- Truck routing: Optimization
- Bond rating: Fuzzy rule-base

## Animal Recognition: Classification

The neural network in this demonstration module recognizes animal types based on the features of animals. It recognizes a panther, lion, dolphin, zebra, deer, ostrich, and penguin.

#### The Application Module

| Complete the following to load the demonstration: Select Demonstrations... from the Module pull-down menu in the NNU main window. Highlight the Animal Recognition: Classification entry in the list box. Select the Load push button.

The loaded module is set to receive data from a file containing testing data.

The animal recognition module objects are as follows:

TrainData
  Trains the network. It receives data from the training data file.
TestData
  Validates the network. It receives data from the testing data file.
ADEImport
  Receives data from the Application Delivery Environment.
Filter1
  Translates the data from symbolic form to a form understandable to the network.
Network1
  Contains an untrained back propagation neural network to demonstrate the training of this application.
Filter2
  Interprets the output from the network.
Export1
  Provides data to the Application Delivery Environment.
TrainScript
  A control script that can be used to train Network1.

The following inspector windows are provided:

Inspector1 - Filter1
  Shows the symbolic data passed from the active Import object to Filter1 using a text inspector view of the input buffer array.
Inspector2 - Filter1
  Shows the translated output from Filter1 using a text inspector view of the output buffer array.
Inspector3 - Network1
  Shows the output data from the network using a text inspector view of the net output array.
Inspector4 - Network1
  Shows a network graphic inspector of Network1.
Inspector5 - Network1
  Shows a time plot of the average RMS error associated with Network1.
Inspector6 - Filter2
  Shows the translated output from the network using a text view of the output buffer array.

#### Data Definition

The data used to test this network is shown in the following figure:

Figure 11. Animal Recognition Demonstration Test Data

Eats Grass? | Flies? | Swims? | Class | Color | Legs | Weight | Animal
no | no | no | mammal | black | 4 | 80000 | panther
no | no | no | mammal | brown | 4 | 100000 | lion
no | no | yes | mammal | silver | 0 | 80000 | dolphin
yes | no | no | mammal | black/white | 4 | 150000 | zebra
yes | no | no | mammal | brown | 4 | 80000 | deer
yes | no | no | bird | black/white | 2 | 60000 | ostrich
no | no | yes | bird | black/white | 2 | 10000 | penguin

The fields are described and translated as follows:

Eats grass?
  Indicates whether the animal eats grass as its primary food source. Values can be "yes" or "no".

"Yes" values are converted to a value of 1 and "no" values are converted to 0.

Flies?
  Indicates whether the animal has the ability to fly. Values can be "yes" or "no".

"Yes" values are converted to a value of 1 and "no" values are converted to 0.

Swims?
  Indicates whether the animal lives and feeds in the water. Values can be "yes" or "no".

"Yes" values are converted to a value of 1 and "no" values are converted to 0.

Class
  Indicates the class of the animal. Valid values are "bird" or "mammal".

"Mammal" values are converted to a value of 1 and "bird" values are converted to 0.

Color
  The color of the animal.

A One-of-N code of size 4 is used to represent the four possible color values.

Legs
  The number of legs on the animal.

The three possible values are converted to a One-of-N code of size 3.

Weight
  The weight of the animal in grams.

The weight ranging from 60 000 to 150 000 is scaled to a range from 0 to 1.

Animal
  An output field indicating the animal type.

The seven possible animal values are converted to a One-of-N code of size 7.

#### Training the Neural Network

Train this network using the control script provided or one such as the following:

        Comment Control Script for training Animal Recognition Demonstration

        Variable NET

        Set NET = Network1

        Comment Set Network1 training parameters

        Set NET LearnRate = 0.2

        Set NET Momentum = 0.9

        Set NET Tolerance = 0.1

        Comment Set module and module object parameters

        Set TrainData ON

        Set Filter1 ON

        Set Filter2 ON

        Set Network1 ON

        Set Module StepsPerCycle = 20

        Set Module StepsPerRefresh = 20

        Comment Train the neural network

        ClearAllBreakPoints

        SetBreakPoint NET NetState = 1

        Run

        ClearAllBreakPoints

To train the network using a control script, select the Run option from the Control Script pop-up menu.

#### Testing the Neural Network

After the network is trained, its accuracy must be verified. Select the test data Import object, which was not used to train the network. Make it the active Import object by selecting On from the cascaded menu associated with the State choice in the object pop-up menu. Step the module to check the accuracy of the network by comparing the actual output from the network shown in Inspector6 to the expected result shown by Inspector1.

Check the number of incorrect responses to the test data. If the results are accurate, you can use the module in an application. If not, you may wish to review the training data and add more observations.

#### Presenting Data Interactively to the Neural Network

Complete the following steps to open a secondary window to present data interactively to the network and to define the field labels in the secondary window:

1. Select Dialog... from the TrainData object pop-up menu.
2. Select the Labels push button.
3. Enter `animala.xlt` for the Translate template file name prompt. The field labels used in the translate template are to be used to label the fields.
4. Select the Set names push button.
5. Enter values for the fields and select the step push button to step the module.

View the result in Inspector6 - Filter2 that contains the translated network outputs.

#### Running the Neural Network

The animal recognition application can be run using the application delivery environment, or as a stand-alone application in either batch, interactive, or custom mode. It can also be embedded into another application. For more information about configuring run-time modules see 7.0, "The Application Delivery Environment (ADE)". The files `animal.cmd` and `animal.bat` are provided as working examples of the ADE. For information about embedding modules into applications see the Neural Network Utility: Programmer's Reference manual.

## Credit Scoring: Classification

Risk analysis and classification is a common business problem. Whether the customer is an individual or a business, the objective is to evaluate that customer's credit worthiness and the risk associated with extending credit to the customer.

#### The Application Module

| Complete the following to load the demonstration: Select Demonstrations... from the Module pull-down menu in the NNU main window. Highlight the Credit Scoring: Classification entry in the list box. Select the Load push button.

The module is set to receive data from a file containing testing data.

The credit scoring module consists of these components:

TrainData
  Trains the network. It receives data from the training data file.
TestData
  Validates the network. It receives data from the testing data file.
Filter1, Filter2
  Translates the data from symbolic form to a form understandable to the network. The first filter uses a threshold function to initially scale the salary into the allowed range, while the second filter does the final conversion of salary to network form. Only the first filter translates the other fields.
Backprop1
  Contains a trained back propagation network used for demonstrating the deployment of the application.
Backprop2
  Contains an untrained back propagation network used to demonstrate the training of the application.
RBF1
  Contains a trained radial basis function network used for demonstrating the deployment of the application.
RBF2
  Contains an untrained radial basis function network used to demonstrate the training of the application.
Filter3
  Translates the output from the back propagation networks to a result in symbolic form.
Filter4
  Translates the output from the radial basis function networks to a result in symbolic form.
TrainBackprop
  A control script that can be used to train Backprop2.
TrainRBF
  A control script that can be used to train RBF2.

The Inspector windows provided with credit scoring module are:

Inspector1 - Filter1
  Shows the symbolic data presented from the active Import to Filter1 in a text view.
Inspector2 - Filter2
  Shows the translated data that is output from Filter2 presented to the networks.
Inspector3 - Filter3
  Shows the raw output data from the back propagation networks.
Inspector4 - Filter3
  Shows the credit limit calculated by the back propagation networks as translated by Filter3.
Inspector5 - Filter4
  Shows the raw output data from the radial basis function networks as translated by Filter4.
Inspector6 - Filter4
  Shows the credit limit calculated by the radial basis function networks as translated by Filter4.

#### Data Definition

The data used in this application consists of past records of credit applications. In addition, there is historical data showing the approved credit amounts for each credit application. Using this data, the neural network is trained to relate the input parameters representing a customer profile to the approved credit amount.

Valid data fields are named and translated as follows:

Yearly salary
  The yearly salary of the applicant ranging from $0 to $130 000 (defined as 0 to 130 000 for this application). Any value greater than 130 000 is truncated to 130 000.

This value is first applied to the threshold function. Values less than 8000 are changed to 8000, and values greater than 80 000 are changed to 80 000. This step eliminates unnecessary value ranges. The field is then applied to the log function, lowering the field range from 72 000 (which is 80 000 minus 8000) to 1 (which is log(80 000) - log(8000)). The data then is scaled to be in a range from 0 to 1.

Job duration
  The number of months that an applicant has held the job listed as current on the application, ranging from 0 months to 36 months.

This value that is converted to a 6-position binary code.

Monthly debt ratio
  The applicant's monthly debt divided by the applicant's monthly salary. The range is from 0 to 1.

This value is applied to the threshold function and then scaled between 0 an 1. The threshold function changes values less than 0.10 to 0.10 and values greater than 0.50 to 0.50, eliminating any unnecessary values at the extremes.

Net worth
  The summation of the applicant's total savings added to the applicant's home equity.

This value is converted to a 10-position One-of-N vector.

Bankrupt status
  A value that equals yes if the applicant has declared bankruptcy within the past two years.

This value is converted to a 1-position binary field.

Collections or judgements status
  A value that equals yes if there have been any collections or judgements against the applicant within the past two years.

This value is converted to a 1-position binary field.

Approved credit
  An output field that indicates the amount of credit approved for the applicant. Approved credit values are 0, 1000, 3000, and 5000.

This output value is converted to a 4-position thermometer code representation of the four credit values.

#### Training the Neural Network

Train the networks using the control scripts provided.

To train the network using a control script, select the run option from the control script pop-up menu.

Note: | This demonstration is provided with a trained network because of the network training time involved.

#### Testing the Neural Network

After a network is trained, its accuracy can be evaluated by using test data which was not used to train the network. Check the number of incorrect responses to the test data.

To test the module, turn on the TestData object. Select On from the cascaded menu associated with the State choice in the object pop-up menu. Step the module to view the accuracy of the network by comparing the actual credit limit allowed to the limit calculated by the network.

After testing the results of the back propagation network, run the same data through the radial basis function network to see which network model provides better results for the test data. Select the network that provides the best results for your application.

#### Presenting Data Interactively to the Neural Network

Complete the following steps to open a secondary window to present data interactively to the network and to define the field labels in the secondary window:

1. Select Dialog... from the TrainData object pop-up menu.
2. Select the Labels push button.
3. Enter `crdscra.xlt` for the Translate template file name prompt. The field labels used in the translate template are to be used to label the fields.
4. Select the Set names push button.
5. Enter values for the fields and select the step push button to step the module.

View the data in the Inspector windows named Inspector4 - Filter3, and Inspector6 - Filter4 that contain the translated outputs from the back propagation and radial basis networks, respectively.

#### Running the Neural Network

The credit scoring application can be run using the NNU application delivery environment, or as a stand-alone application in either batch, interactive, or custom mode. It can also be embedded into another application. For more information about configuring run-time modules see 7.0, "The Application Delivery Environment (ADE)". For information about embedding modules into applications see the Neural Network Utility: Programmer's Reference manual.

## Sales Forecasting: Time-Series

Sales forecasting is another common business problem. The objective is to build a predictive model of project sales for both inventory control and labor planning. It uses a database of past history to build a model relating the current situation to a prediction of the situation at some future point.

#### The Application Module

| Complete the following to load the demonstration: Select Demonstrations... from the Module pull-down menu in the NNU main window. Highlight the Sales Forecasting: Time-Series Analysis entry in the list box. Select the Load push button.

The module is set to receive data interactively from you, process data through the module, and present the results to you.

The Sales Forecasting demonstration consists of these components:

TrainData
  Trains the network. It receives data from the training data file.
TestData
  Validates the network. It receives data from the testing data file.
Filter1
  Translates the data from symbolic form to a form understandable to the network.
Backprop1
  Contains a trained back propagation network used for demonstrating the deployment of the application.
Backprop2
  Contains an untrained back propagation network used to demonstrate the training of the application.
Recur1
  Contains a trained recurrent network used for demonstrating the deployment of the application.
Recur2
  Contains an untrained recurrent network used to demonstrate the training of the application.
Filter2
  Interprets the output from the back propagation network.
Filter3
  Interprets the output from the recurrent network.
TrainBackprop
  A control script that can be used to train Backprop2.
TrainRecur
  A control script that can be used to train Recur2.

The following Inspector windows are provided with the sales forecasting demonstration:

Inspector1 - Filter1
  Shows the symbolic data presented from the active Import to Filter1.
Inspector2 - Filter1
  Shows the translated data that is presented to the networks.
Inspector3 - Filter2
  Shows the raw output data from the back propagation networks.
Inspector4 - Filter2
  Shows the translated output from the back propagation networks.

#### Data Definition

The data used in this application consists of records of state history. The database contains historical information about business conditions in addition to climate and sales data. Using this data, you can train a neural network to use this business history as input parameters and relate them to the sales that resulted in that environment.

The data fields are defined and translated as follows:

Day of year
  Contains a value representing the current day of the year, ranging from 0 to 365.

This value is converted to a binary code representation of size 9.

Day of week
  Contains the symbolic representation of the day of the week.

This value is scaled to range from 0.0 to 1.0.

Change in prime interest rate
  Contains a value representing the change in the prime interest rate for the past day. Valid ranges are from -1.0 to 1.0.

This value is scaled to range from -2.0 to 2.0. Increasing the range of this variable enhances its relative importance to the network.

Today's sales
  Contains a value representing the amount of the day's sales measured in hundreds of units sold.

This value is converted to a binary code representation of size 9 from a value ranging between approximately 700 and 1000.

Change in amount of sales
  Contains a value representing the percentage change in the amount of sales from one day to the next.

This is an output value that ranges between approximately -20 percent and +20 percent.

This value is scaled to range from -0.5 to 0.5. For the output to range from -0.5 to 0.5, the activation function must be selected (or true) for a back propagation network.

#### Training the Neural Network

Train the two untrained networks using the control scripts provided.

To train the network using a control script, select the run option from the control script pop-up menu.

Note: | This demonstration is provided with trained networks because of the network training time involved.

#### Testing the Neural Network

With a trained network, evaluate the accuracy of the back propagation implementation with the test data which was not used to train the network. Check the number of incorrect responses to the test data.

To test the module, turn on the TestData object. Select On from the cascaded menu associated with the State choice in the object pop-up menu. Step the module to view the accuracy of the network by comparing the actual output from the network to the desired output from the network.

Run the same test data through the trained recurrent network. Compare its results to the back propagation method. Select the network that provides the best results for your application.

#### Presenting Data Interactively to the Neural Network

Complete the following steps to open a secondary window to present data interactively to the network and to define the field labels in the secondary window:

1. Select Dialog... from the TrainData object pop-up menu.
2. Select the Labels push button.
3. Enter `forcsta.xlt` for the Translate template file name prompt. The field labels used in the translate template are to be used to label the fields.
4. Select the Set names pushbutton.
5. Enter values for the fields and select the step push button to step the module.

View the data in the Inspector windows named Inspector - Filter2, and Inspector - Filter3 that contain the translated outputs from the back propagation and recurrent neural networks, respectively.

#### Running the Neural Network

The sales forecasting application can be run using the NNU application delivery environment, or as a stand-alone application in either batch, interactive, or custom mode. It can also be embedded into another application. For more information about configuring run-time modules see 7.0, "The Application Delivery Environment (ADE)". For information about embedding modules into applications see the Neural Network Utility: Programmer's Reference manual.

## Market Analysis: Cluster Analysis

Businesses gather and store information regarding their operations for accounting, inventory, and other record-keeping purposes. They often overlook the potential for using this data for planning and forecasting. The market data analysis demonstration is an example of using information about past sales to gain knowledge about customer profiles. This knowledge can be used to direct sales promotions to those customers who are most likely to buy products, and to fund development of products that customers are most likely to purchase. The problem is to find clusters in the data. Once the data is divided into clusters, you can analyze it to define the attributes that contribute to interest in a particular product.

#### The Application Module

| Complete the following to load the demonstration: Select Demonstrations... from the Module pull-down menu in the NNU main window. Highlight the Market Analysis: Clustering entry in the list box. Select the Load push button.

The module is set to receive data interactively, process data through the module, and present the results.

The Market Analysis demonstration consists of these components:

TrainData
  Trains the network. It receives data from the training data file.
TestData
  Validates the network. It receives data from the testing data file.
Filter1
  Translates the data from symbolic form to a form understandable to the networks.
Filter2
  Applies an additional scaling function to the Income data.
FeatMap1
  Contains a trained self-organizing feature map network used for demonstrating the deployment of the application.
FeatMap2
  Contains an untrained self-organizing feature map network used to demonstrate the training of the application.
ART1
  Contains a trained adaptive resonance network used for demonstrating the deployment of the application.
ART2
  Contains an untrained adaptive resonance network used to demonstrate the training of the application.
TrainFeatMap
  A control script that can be used to train FeatMap2.
TrainART
  A control script that can be used to train ART2.

These Inspector windows are provided with the demonstration:

Inspector1 - Filter1
  Shows the symbolic data presented from the active Import to Filter1.
Inspector2 - Filter2
  Shows the translated data that is presented to the networks.
Inspector3 - FeatMap1
  Shows the graphical display of the trained self-organizing feature map network.
Inspector4 - ART1
  Shows the graphical display of the trained adaptive resonance network.

#### Data Definition

The data used in this application consists of past records of purchases by customers and the customer profiles.

Valid data fields are named and defined as follows:

Age
  Customer age, ranging from 20 years to 50 years.

This integer value is scaled to range from 0.0 to 1.0.

Income
  Contains the yearly salary of the customer. Valid values range from $0 to $130 000 (defined as 0 to 130 000 for this application).

This value is first applied to the threshold function. Values less than 8000 are changed to 8000 and values greater than 80 000 are changed to 80 000. This step eliminates unnecessary values at the value ranges. The field is then applied to the log function lowering the field range from 72 000 (which is 80 000 minus 8000) to 1 (which is log(80 000) - log(8000)). The data is then scaled to be in a range from 0 to 1.

Profession
  Contains the identification letter for the customer's profession. For this application, seven job groups are considered.

This symbolic value is converted to a One-of-N data type of 7 positions.

Purchases of A
  Contains the total number of purchases the customer made from product category A in the past year. Valid values range from 0 to 20 purchases.

This value is scaled to range from 0.0 to 1.0.

Purchases of B
  Contains the total number of purchases the customer made from product category B in the past year. Valid values range from 0 to 30 purchases.

This value is scaled to range from 0.0 to 1.0.

Purchases of C

Contains the total number of purchases the customer made from product category C in the past year. Valid values range from 0 to 40 purchases.

This value is scaled to range from 0.0 to 1.0.

#### Training the Neural Network

Train the self-organizing feature map and adaptive resonance networks using the control scripts provided.

To train the neural networks using a control script, select the Run option from the Control Script pop-up menu.

Note: | This demonstration is provided with trained neural networks (FeatMap1 and ART1) because of the time involved to train this particular network.

#### Testing the Neural Network

After the network is trained, you need to analyze the clusters to find the key attributes that contribute to membership in a particular cluster. The customer data is likely to show some subset of a common attribute that you can then use as a key for seeking new customers or targeting products to a specific customer set.

If too few clusters are allocated, the data may not separate into distinguishable groups. However, if too many clusters are allocated, the clustering may not be apparent. For clustering problems, create several networks, each with different numbers of clusters, and train each of the networks.

#### Presenting Data Interactively to the Neural Network

Complete the following steps to open a secondary window to present data interactively to the network and to define the field labels in the secondary window:

1. Select Dialog... from the TrainData object pop-up menu.
2. Select the Labels push button.
3. Enter `mktanaa.xlt` for the Translate template file name prompt. The field labels used in the translate template are to be used to label the fields.
4. Select the Set names push button.
5. Enter values for the fields and select the step push button to step the module.

View the network graphic inspector to view the output unit activations and the winning output unit.

#### Running the Neural Network

The market analysis application can be run using the NNU application delivery environment, or as a stand-alone application in either batch, interactive, or custom mode. It can also be embedded into another application. The custom application would analyze the clusters found in the network and would identify common attributes shared in the data. The custom application could then determine what cluster a new data record would most appropriately fit and make appropriate recommendations. For more information about configuring run-time modules see 7.0, "The Application Delivery Environment (ADE)". For information about embedding modules into applications see the Neural Network Utility: Programmer's Reference manual.

## Truck Routing: Optimization

A common problem in distribution businesses is scheduling delivery of materials or products to customers. In this example, the business is a distribution center for a major department store that makes monthly deliveries to a variable set of store locations. The goal is to send out the smallest number of trucks and have them drive the fewest miles to make the deliveries.

This is the classic traveling salesperson or shortest complete path problem. When the potential delivery points are known, the data consists of the x-y coordinates of the delivery points. The routing network is to find a good path that starts at the store, visits each stopping point, and returns to the store.

#### The Application Module

| Complete the following to load the demonstration: Select Demonstrations... from the Module pull-down menu in the NNU main window. Highlight the Truck Routing: Optimization entry in the list box. Select the Load push button.

The module is set to receive data interactively, process data through the module, and present the results.

The truck routing demonstration consists of these components:

TrainData
  Trains the network. It receives data from the training data file.
Filter1
  Translates the data from symbolic form to a form understandable to the network.
Network1
  Contains the network to be trained to solve the routing problem.
Filter2
  Interprets the output from the network.
TrainNet
  A control script that is used to train Network1.

The following Inspector windows are provided with the demonstration:

Inspector1 - Network1
  Shows a graphical display of the network. Once a single training epoch is passed, the graphic shows the locations of each delivery location and the location of the network units as the network is training.
Inspector2 - Filter2
  Shows the delivery route that is calculated as a result of training the network.

#### Data Definition

The data used in this demonstration consists of the latitude and longitude of delivery points for several cities across the United States.

#### Training the Neural Network

The routing network solves the problem in a batch training mode using the coordinate data. After the network is trained, the indexes of the stopping points are given as network outputs. Filter2 translates those points into the names of the cities to visit in the optimal sequence.

To train the network, run the control script provided by selecting the run option from the Control Script pop-up menu.

After training, Inspector2 - Filter2 contains the listings in the order of the deliveries and Inspector1 - Network1 contains a graphical display of the delivery circuit.

#### Testing the Neural Network

Once the network is trained, you can draw an x-y plot of the index of the stopping points. This is a indication of the reasonableness and correctness of the solution provided by the neural network. This x-y plot is contained in the network graphic.

#### Running the Neural Network

For routing networks, the training of the network produces the solution to the problem.

The truck routing application can be run interactively by training the network and its result validated by viewing the Inspector window showing the network graphic. You may wish to create a custom application to provide the inputs to the network and present the results to the user. For information about custom applications, see the Neural Network Utility: Programmer's Reference manual.

## Bond Rating: Fuzzy Rule-Base

A common decision support function is to automatically rank or rate prospective customers or suppliers. Using publicly available financial data on commercial bonds issues, this demonstration filters out the undesirable offerings and ranks the most promising issues.

In this simple example rule base, only a small number of rules are used to illustrate how fuzzy rule systems can be applied to this problem.

#### The Application Module

| Complete the following to load the demonstration: Select Demonstrations... from the Module pull-down menu in the NNU main window. Highlight the Bond Rating: Fuzzy Rule-Base entry in the list box. Select the Load push button.

The loaded module is set to receive data interactively, process data through the fuzzy rule-base, and present the results.

These components are loaded for the Bond Rating demonstration:

TestData
  Validates the fuzzy rule-base. Example data with known answers are presented to the rule base to insure correct results are produced.
RuleBase
  Contains the fuzzy rule-base used to process and rate the bond offerings.

These Inspector windows are provided with the demonstration:

Inspector1 - TestData
  Shows the symbolic data presented to the fuzzy rule-base.
Inspector2 - RuleBase
  Shows the variables and their values in the rule-base.
Inspector3 - RuleBase
  Shows the rules and the value of the consequent clause.
Inspector4 - RuleBase
  Shows the rule base output buffer.

#### Data Definition

The test data used in this application consists of financial information on the company which is offering the bonds for sale.

Valid data fields are named and defined as follows:

Profit
  The profitability of the company.
Capital
  The current assets of the company.
Interest
  The current interest rate.
Debt
  The current debt of the company.
Rating
  The relative rating of the bond offering calculated from the previously listed data.
SymRating
  The Rating of the bond offering converted to symbolic A, AA, or AAA.

#### Rule Base Development

The rule base was developed by first defining the fuzzy variables and their associated fuzzy sets. Then the rules were written. The rule weights were set to give reasonable answers to known test cases.

#### Testing the Fuzzy Rule-Base

Testing a fuzzy rule-base is similar to testing any application. A set of known test cases is used to ascertain whether the rule base gives reasonable answers to reasonable input values.

#### Presenting Data Interactively to the Rule Base

Complete the following steps to open a dialog window to present data interactively to the rule base and to define field labels:

1. Select Dialog... from the TestData object pop-up menu.
2. Select the Labels push button.
3. Enter `bndrte.xlt` for the Translate template file name prompt. The field labels used in the translate template will be used to label the input fields.
4. Select the Set Names push button.
5. Press Next Record or Step to load the dialog input fields.
6. Enter values for the fields and select the Step push button to step the module.

View the rule base output Inspector to see the results, and the variable and rule Inspectors to see the internal state of the fuzzy rule-base for the current set of input values.

#### Running the Rule Base

The bond rating application can be run using the NNU application delivery environment, or as a stand-alone application in either batch, interactive, or custom mode. It can also be embedded into an application. The custom application would analyze financial data and provide the appropriate bond ratings as specified by the fuzzy rule-base. For more information about configuring run-time modules see 7.0, "The Application Delivery Environment (ADE)". For information about embedding modules into applications see the Neural Network Utility: Programmer's Reference manual.

Topics Index APIs