Data Mining Lab Manual
Data Mining Lab Manual
Data Mining Lab Manual
Description: The business of banks is making loans. Assessing the credit worthiness
of an applicant is of crucial importance. You have to develop a system to help a loan
officer decide whether the credit of a customer is good, or bad. A banks business
rules regarding loans must consider two opposing factors. On the one hand, a bank
wants to make as many loans as possible. Interest on these loans is the bans profit
source. On the other hand, a bank cannot afford to make too many bad loans. Too
many bad loans could lead to the collapse of the bank. The banks loan policy must
involve a compromise not too strict, and not too lenient.
To do the assignment, you first and foremost need some knowledge about the world
of credit . You can acquire such knowledge in a number of ways.
1. Knowledge Engineering. Find a loan officer who is willing to talk. Interview her and
try to represent her knowledge in the form of production rules.
2. Books. Find some training manuals for loan officers or perhaps a suitable textbook on
finance. Translate this knowledge from text form to production rule form.
3. Common sense. Imagine yourself as a loan officer and make up reasonable rules
which can be used to judge the credit worthiness of a loan applicant.
4. Case histories. Find records of actual cases where competent loan officers correctly
judged when not to, approve a loan application.
Actual historical credit data is not always easy to come by because of confidentiality
rules. Here is one such dataset ( original) Excel spreadsheet version of the German credit
data (download from web).
In spite of the fact that the data is German, you should probably make use of it for this
assignment, (Unless you really can consult a real loan officer !)
DM stands for Deutsche Mark, the unit of currency, worth about 90 cents
Canadian (but looks and acts like a quarter).
Owns_telephone. German phone rates are much higher than in Canada so fewer
people own telephones.
Page 1
DATAMINING LAB MANUAL
There are 20 attributes used in judging a loan applicant. The goal is the claify the
applicant into one of two categories, good or bad.
3. One type of model that you can create is a Decision Tree - train a Decision Tree using the
complete dataset as the training data. Report the model obtained after training.
4. Suppose you use your above model trained on the complete dataset, and classify credit
good/bad for each of the examples in the dataset. What % of examples can you classify
correctly ? (This is also called testing on the training set) Why do you think you cannot get
100 % training accuracy ?
5. Is testing on the training set as you did above a good idea ?
Why or Why not ?
6. One approach for solving the problem encountered in the previous question is using cross-
validation ? Describe what is cross-validation briefly. Train a Decistion Tree again using
cross-validation and report your results. Does your accuracy increase/decrease ? Why ? (10
marks)
7. Check to see if the data shows a bias against "foreign workers" (attribute 20),or "personal-
status" (attribute 9). One way to do this (perhaps rather simple minded) is to remove these
attributes from the dataset and see if the decision tree created in those cases is
significantly different from the full
dataset case which you have already done. To remove an attribute you can use the
preprocess tab in Weka's GUI Explorer. Did removing these attributes have any significant
effect? Discuss.
8. Another question might be, do you really need to input so many attributes to get good
results? Maybe only a few would do. For example, you could try just having attributes 2, 3,
5, 7, 10, 17 (and 21, the class attribute (naturally)). Try out some combinations. (You had
removed two attributes in
problem 7. Remember to reload the arff data file to get all the attributes initially before you
start selecting the ones you want.)
9. Sometimes, the cost of rejecting an applicant who actually has a good credit (case 1) might
be higher than accepting an applicant who has bad credit (case 2). Instead of counting the
misclassifications equally in both cases, give a higher cost to the first case (say cost 5) and
lower cost to the second case. You can do this by using a cost matrix in Weka. Train your
Decision Tree
again and report the Decision Tree and cross-validation results. Are they significantly
different from results obtained in problem 6 (using equal cost)?
10. Do you think it is a good idea to prefer simple decision trees instead of having long complex
decision trees? How does the complexity of a Decision Tree relate to the bias of the model?
11. You can make your Decision Trees simpler by pruning the nodes. One approach is to use
Page 2
DATAMINING LAB MANUAL
Reduced Error Pruning - Explain this idea briefly. Try reduced error pruning for training your
Decision Trees using cross-validation (you can do this in Weka) and report the Decision Tree
you obtain ? Also,
report your accuracy using the pruned model. Does your accuracy increase ?
12. (Extra Credit): How can you convert a Decision Trees into "if-then-else rules". Make up your
own small Decision Tree consisting of 2-3 levels and convert it into a set of rules. There also
exist different classifiers that output the model in the form of rules - one such classifier in
Weka is rules.PART, train this model and report the set of rules obtained. Sometimes just
one attribute can
be good enough in making the decision, yes, just one ! Can you predict what attribute that
might be in this dataset ? OneR classifier uses a single attribute to make decisions (it
chooses the attribute based on minimum error). Report the rule obtained by training a one
R classifier. Rank the
performance of j48, PART and oneR.
EXPERIMENT-1
Aim: To list all the categorical(or nominal) attributes and the real valued attributes using Weka
mining tool.
Procedure:
4) Go to OPEN file and browse the file that is already stored in the system bank.csv.
5) Clicking on any attribute in the left panel will show the basic statistics on that selected attribute.
SampleOutput:
Page 3
DATAMINING LAB MANUAL
EXPERIMENT-2
Aim: To identify the rules with some of the important attributes by a) manually and b) Using Weka .
Theory:
Association rule mining is defined as: Let be a set of n binary attributes called items. Let be a set of
transactions called the database. Each transaction in D has a unique transaction ID and contains a
subset of the items in I. A rule is defined as an implication of the form X=>Y where X,Y C I and X
Y= . The sets of items (for short itemsets) X and Y are called antecedent (left hand side or LHS) and
consequent (righthandside or RHS) of the rule respectively.
To illustrate the concepts, we use a small example from the supermarket domain.
The set of items is I = {milk,bread,butter,beer} and a small database containing the items (1 codes
presence and 0 absence of an item in a transaction) is shown in the table to the right. An example rule
for the supermarket could be meaning that if milk and bread is bought, customers also buy butter.
Note: this example is extremely small. In practical applications, a rule needs a support of several
hundred transactions before it can be considered statistically significant, and datasets often contain
thousands or millions of transactions.
To select interesting rules from the set of all possible rules, constraints on various measures of
significance and interest can be used. The bestknown constraints are minimum thresholds on support
and confidence. The support supp(X) of an itemset X is defined as the proportion of transactions in the
Page 4
DATAMINING LAB MANUAL
data set which contain the itemset. In the example database, the itemset {milk,bread} has a support of
2 / 5 = 0.4 since it occurs in 40% of all transactions (2 out of 5 transactions).
The confidence of a rule is defined . For example, the rule has a confidence of 0.2 / 0.4 = 0.5 in the
database, which means that for 50% of the transactions containing milk and bread the rule is correct.
Confidence can be interpreted as an estimate of the probability P(Y | X), the probability of finding the
RHS of the rule in transactions under the condition that these transactions also contain the LHS .
ALGORITHM:
Association rule mining is to find out association rules that satisfy the predefined minimum support
and confidence from a given database. The problem is usually decomposed into two subproblems.
One is to find those itemsets whose occurrences exceed a predefined threshold in the database those
itemsets are called frequent or large itemsets. The second problem is to generate association rules
from those large itemsets with the constraints of minimal confidence.
Suppose one of the large itemsets is Lk, Lk = {I1, I2, , Ik}, association rules with this itemsets are
generated in the following way: the first rule is {I1, I2, , Ik1} and {Ik}, by checking the confidence
this rule can be determined as interesting or not. Then other rule are generated by deleting the last
items in the antecedent and inserting it to the consequent, further the confidences of the new rules are
checked to determine the interestingness of them. Those processes iterated until the antecedent
becomes empty. Since the second subproblem is quite straight forward, most of the researches focus
on the first subproblem. The Apriori algorithm finds the frequent sets L In Database D.
Join Step.
Prune Step.
Apriori Pseudocode
Apriori (T,)
K<2
while L(k1)
Page 5
DATAMINING LAB MANUAL
C(k)<Generate( Lk 1)
for transactions t T
C(t)Subset(Ck,t)
count[c]<count[ c]+1
K<K+ 1
return L(k) k
Procedure:
5) Go to Associate Tab.
Sample output:
Page 6
DATAMINING LAB MANUAL
Page 7
DATAMINING LAB MANUAL
EXPERIMENT-3
Aim: To create a Decision tree by training data set using Weka mining tool.
Theory:
Classification is a data mining function that assigns items in a collection to target categories or
classes. The goal of classification is to accurately predict the target class for each case in the data. For
example, a classification model could be used to identify loan applicants as low, medium, or high
credit risks.
A classification task begins with a data set in which the class assignments are known. For example, a
classification model that predicts credit risk could be developed based on observed data for many loan
applicants over a period of time.
In addition to the historical credit rating, the data might track employment history, home ownership or
rental, years of residence, number and type of investments, and so on. Credit rating would be the
target, the other attributes would be the predictors, and the data for each customer would constitute a
case.
Classifications are discrete and do not imply order. Continuous, floating point values would indicate a
numerical, rather than a categorical, target. A predictive model with a numerical target uses a
regression algorithm, not a classification algorithm.
The simplest type of classification problem is binary classification. In binary classification, the target
attribute has only two possible values: for example, high credit rating or low credit rating. Multiclass
targets have more than two values: for example, low, medium, high, or unknown credit rating.
In the model build (training) process, a classification algorithm finds relationships between the values
of the predictors and the values of the target. Different classification algorithms use different
techniques for finding relationships. These relationships are summarized in a model, which can then
be applied to a different data set in which the class assignments are unknown.
Classification models are tested by comparing the predicted values to known target values in a set of
test data. The historical data for a classification project is typically divided into two data sets: one for
building the model the other for testing the model.
Scoring a classification model results in class assignments and probabilities for each case. For
example, a model that classifies customers as low, medium, or high value would also predict the
probability of each classification for each customer.
Classification has many applications in customer segmentation, business modeling, marketing, credit
analysis, and biomedical and drug response modeling.
Page 8
DATAMINING LAB MANUAL
Decision Tree
Decision trees automatically generate rules, which are conditional statements that reveal the logic
used to build the tree.
Naive Bayes
Naive Bayes uses Bayes' Theorem, a formula that calculates a probability by counting the frequency
of values and combinations of values in the historical data.
Procedure:
4) Go to OPEN file and browse the file that is already stored in the system bank.csv.
5) Go to Classify tab.
6) Here the c4.5 algorithm has been chosen which is entitled as j48 in Java and can be selected by
clicking the button choose
13) right click on the result list and select visualize tree option .
Sample output:
Page 9
DATAMINING LAB MANUAL
Page 10
DATAMINING LAB MANUAL
Page 11
DATAMINING LAB MANUAL
EXPERIMENT-4
Aim: To find the percentage of examples that are classified correctly by using the above created
decision tree model? ie.. Testing on the training set.
Theory:
Naive Bayes classifier assumes that the presence (or absence) of a particular feature of a class is
unrelated to the presence (or absence) of any other feature. For example, a fruit may be considered to
be an apple if it is red, round, and about 4" in diameter. Even though these features depend on the
existence of the other features, a naive Bayes classifier considers all of these properties to
independently contribute to the probability that this fruit is an apple.
An advantage of the naive Bayes classifier is that it requires a small amount of training data to
estimate the parameters (means and variances of the variables) necessary for classification. Because
independent variables are assumed, only the variances of the variables for each class need to be
determined and not the entirecovariance matrix The naive Bayes probabilistic model :
P(C|F1 .................Fn) over a dependent class variable C with a small number of outcomes or classes,
conditional on several feature variables F1 through Fn. The problem is that if the number of features
n is large or when a feature can take on a large number of values, then basing such a model on
probability tables is infeasible. We therefore reformulate the model to make it more tractable.
In practice we are only interested in the numerator of that fraction, since the denominator does not
depend on C and the values of the features Fi are given, so that the denominator is effectively
constant. The numerator is equivalent to the joint probability model p(C,F1........Fn) which can be
rewritten as follows, using repeated applications of the definition of conditional probability:
=p(C)p(F1|C) p(F2|C,F1)p(F3.........Fn|C,F1,F2)
= p(C)p(F1|C) p(F2|C,F1)p(F3.........Fn|C,F1,F2)......p(Fn|C,F1,F2,F3.........Fn1)
Page 12
DATAMINING LAB MANUAL
Now the "naive" conditional independence assumptions come into play: assume that each feature Fi is
conditionally independent of every other feature Fj for ji .
=p(C) p(Fi|C)
This means that under the above independence assumptions, the conditional distribution over the class
variable C can be expressed like this:
where Z is a scaling factor dependent only on F1.........Fn, i.e., a constant if the values of the feature
variables are known.
Models of this form are much more manageable, since they factor into a so called class prior p(C) and
independent probability distributions p(Fi|C). If there are k classes and if a model for eachp(Fi|C=c)
can be expressed in terms of r parameters, then the corresponding naive Bayes model has (k 1) + n r
k parameters. In practice, often k = 2 (binary classification) and r = 1 (Bernoulli variables as features)
are common, and so the total number of parameters of the naive Bayes model is 2n + 1, where n is the
number of binary features used for prediction
D : Set of tuples
X : (x1,x2,x3,. xn)
k=1
Procedure:
5) Go to OPEN file and browse the file that is already stored in the system bank.csv.
6) Go to Classify tab.
Sample output:
Page 14
DATAMINING LAB MANUAL
a b <-- classified as
245 29 | a = YES
17 309 | b = NO
Page 15
DATAMINING LAB MANUAL
EXPERIMENT-5
Procedure:
2) click Set
3) Choose the file which contains records that were not in the training set we used to create the
model.
4) click Start(WEKA will run this test data set through the model we already created. )
Sample output:
This can be experienced by the different problem solutions while doing practice.
The important numbers to focus on here are the numbers next to the "Correctly Classified Instances"
(92.3 percent) and the "Incorrectly Classified Instances" (7.6 percent). Other important numbers are in
the "ROC Area" column, in the first row (the 0.936) Finally, in the "Confusion Matrix," it shows the
number of false positives and false negatives. The false positives are 29, and the false negatives are 17
in this matrix.
Based on our accuracy rate of 92.3 percent, we say that upon initial analysis, this is a good model.
One final step to validating our classification tree, which is to run our test set through the model and
ensure that accuracy of the model
Comparing the "Correctly Classified Instances" from this test set with the "Correctly Classified
Instances" from the training set, we see the accuracy of the model , which indicates that the model
will not break down with unknown data, or when future data is applied to it.
EXPERIMENT-6
Aim: To create a Decision tree by cross validation training data set using Weka mining tool.
Page 16
DATAMINING LAB MANUAL
Theory:
Decision tree learning, used in data mining and machine learning, uses a decision tree as a predictive
model which maps observations about an item to conclusions about the item's target value In these
tree structures, leaves represent classifications and branches represent conjunctions of features that
lead to those classifications. In decision analysis, a decision tree can be used to visually and explicitly
represent decisions and decision making. In data mining, a decision tree describes data but not
decisions rather the resulting classification tree can be an input for decision making. This page deals
with decision trees in data mining.
Decision tree learning is a common method used in data mining. The goal is to create a model that
predicts the value of a target variable based on several input variables. Each interior node corresponds
to one of the input variables there are edges to children for each of the possible values of that input
variable. Each leaf represents a value of the target variable given the values of the input variables
represented by the path from the root to the leaf.
A tree can be "learned" by splitting the source set into subsets based on an attribute value test. This
process is repeated on each derived subset in a recursive manner called recursive partitioning. The
recursion is completed when the subset at a node all has the same value of the target variable, or when
splitting no longer adds value to the predictions.
In data mining, trees can be described also as the combination of mathematical and computational
techniques to aid the description, categorisation and generalization of a given set of data.
The dependent variable, Y, is the target variable that we are trying to understand, classify or
generalise. The vector x is comprised of the input variables, x1, x2, x3 etc., that are used for that task.
Procedure:
5) Go to OPEN file and browse the file that is already stored in the system bank.csv.
6) Go to Classify tab.
Page 17
DATAMINING LAB MANUAL
8) Select J48
Sample output:
Page 18
DATAMINING LAB MANUAL
a b <-- classified as
236 38 | a = YES
23 303 | b = NO
Page 19
DATAMINING LAB MANUAL
EXPERIMENT-7
Aim: Delete one attribute from GUI Explorer and see the effect using Weka mining tool.
Procedure:
5) Go to OPEN file and browse the file that is already stored in the system bank.csv.
6) In the "Filter" panel, click on the "Choose" button. This will show a popup window with list
available filters.
7) Select weka.filters.unsupervised.attribute.Remove
8) Next, click on text box immediately to the right of the "Choose" button
9) In the resulting dialog box enter the index of the attribute to be filtered out (Make sure that the
"invertSelection" option is set to false )
10) Then click "OK" . Now, in the filter box you will see "Remove -R 1"
11) Click the "Apply" button to apply this filter to the data. This will remove the "id" attribute and
create a new working relation
12) To save the new working relation as an ARFF file, click on save button in the top panel.
13) Go to OPEN file and browse the file that is newly saved (attribute deleted file)
21) right click on the result list and select visualize tree option .
Page 20
DATAMINING LAB MANUAL
22) Compare the output results with that of the 4th experiment
Sample output:
Page 21
DATAMINING LAB MANUAL
Page 22
DATAMINING LAB MANUAL
EXPERIMENT-8
Aim: Select some attributes from GUI Explorer and perform classification and see the effect using
Weka mining tool.
Procedure:
5) Go to OPEN file and browse the file that is already stored in the system bank.csv.
6) select some of the attributes from attributes list which are to be removed. With this step only the
attributes necessary for classification are left in the attributes panel.
9) Select j48
14) right click on the result list and select visualize tree option .
Sample output:
Page 23
DATAMINING LAB MANUAL
Page 24
DATAMINING LAB MANUAL
EXPERIMENT-9
Aim: To create a Decision tree by cross validation training data set by changing the cost matrix in
Weka mining tool.
Procedure:
5) Go to OPEN file and browse the file that is already stored in the system bank.csv.
6) Go to Classify tab.
8) Select j48
12)Set the matrix values and click on resize. Then close the window.
13)Click Ok
14)Click start.
Page 25
DATAMINING LAB MANUAL
Sample output:
Page 26
DATAMINING LAB MANUAL
EXPERIMENT-10
Aim: Is small rule better or long rule check the bias,by training data set using Weka mining tool.
Procedure:
When we consider long complex decision trees, we will have many unnecessary attributes in the tree
which results in increase of the bias of the model. Because of this, the accuracy of the model can also
effect.
This problem can be reduced by considering simple decision tree. The attributes will be less and it
decreases the bias of the model. Due to this the result will be more accurate.
So it is a good idea to prefer simple decision trees instead of long complex trees.
Page 27
DATAMINING LAB MANUAL
3. Go to classify tab and then use traning set with J48 algorithm.
4. To generate the decision tree, right click on the result list and select visualize tree option, by which
the decision tree will be generated.
7. Then press OK and then start. we find the tree will become more complex if not pruned.
EXPERIMENT-11
Aim: To create a Decision tree by using Prune mode and Reduced error Pruning and show accuracy
for cross validation trained data set using Weka mining tool.
Theory :
Reduced-error pruning
Page 28
DATAMINING LAB MANUAL
Assigning the pruned node the most common classification of the training instances attached to that
node
Always select a node whose removal most increases the DT accuracy over the validation set
Stop when further pruning decreases the DT accuracy over the validation set
IF (Children=yes) (income=>30000)
THEN (car=Yes)
Procedure:
5) Go to OPEN file and browse the file that is already stored in the system bank.csv.
7) Go to Classify tab.
11) right click on the text box besides choose button ,select show properties
Page 29
DATAMINING LAB MANUAL
17) right click on the result list and select visualize tree option .
Sample output:
EXPERIMENT-12
Page 30
DATAMINING LAB MANUAL
Aim: To compare OneR classifier which uses single attribute and rule with J48 and PART classifiers,
by training data set using Weka mining tool.
Procedure:
5) Go to OPEN file and browse the file that is already stored in the system bank.csv.
7) Go to Classify tab.
9) Select J48 .
14) right click on the result list and select visualize tree option .
(or)
5) Go to OPEN file and browse the file that is already stored in the system bank.csv.
Page 31
DATAMINING LAB MANUAL
7) Go to Classify tab.
9) Select OneR .
5) Go to OPEN file and browse the file that is already stored in the system bank.csv.
7) Go to Classify tab.
9) Select PART .
Page 32
DATAMINING LAB MANUAL
Sample output:
J48
One R
Page 33
DATAMINING LAB MANUAL
PART
Page 34