Professional Documents
Culture Documents
Unit 4
Unit 4
Classification and prediction are two forms of data analysis that can be
used to extract models describing important data classes or to predict
future data trends.
Classification predicts categorical (discrete, unordered) labels,
prediction models continuous valued functions.
For example, we can build a classification model to categorize bank loan
applications as either safe or risky, or a prediction model to predict the
expenditures of potential customers on computer equipment given their
income and occupation.
A predictor is constructed that predicts a continuous-valued function, or
ordered value, as opposed to a categorical label.
Regression analysis is a statistical methodology that is most often used
for numeric prediction.
Many classification and prediction methods have been proposed by
researchers in machine learning, pattern recognition, and statistics.
Most algorithms are memory resident, typically assuming a small data
size. Recent data mining research has built on such work, developing
scalable classification and prediction techniques capable of handling
large disk-resident data.
Accuracy:
The accuracy of a classifier refers to the ability of a given classifier to correctly
predict the class label of new or previously unseen data (i.e., tuples without class
label information).
The accuracy of a predictor refers to how well a given predictor can guess the
value of the predicted attribute for new or previously unseen data.
Speed:
This refers to the computational costs involved in generating and using
the given classifier or predictor.
Robustness:
This is the ability of the classifier or predictor to make correct
predictions given noisy data or data with missing values.
Scalability:
This refers to the ability to construct the classifier or predictor efficiently given
large amounts of data.
Interpretability:
This refers to the level of understanding and insight that is provided by the
classifier or predictor. Interpretability is subjective and therefore more difficult
to assess.
Classification by Decision Tree Induction:
Decision tree induction is the learning of decision trees from class-labeled
training tuples.
A decision tree is a flowchart-like tree structure, where
Each internal node denotes a test on an attribute.
Each branch represents an outcome of the test.
Each leaf node holds a class label.
The topmost node in a tree is the root node.
The construction of decision tree classifiers does not require any domain
knowledge or parameter setting, and therefore I appropriate for
exploratory knowledge discovery.
Decision trees can handle high dimensional data.
Their representation of acquired knowledge in tree form is intuitive and
generally easy to assimilate by humans.
The learning and classification steps of decision tree induction are simple
and fast.
In general, decision tree classifiers have good accuracy.
Decision tree induction algorithm shave been used for classification in
many application areas, such as medicine, manufacturing and production,
financial analysis, astronomy, and molecular biology.
Algorithm For Decision Tree Induction:
The algorithm is called with three parameters:
Data partition
Attribute list
Attribute selection method
The parameter attribute list is a list of attributes describing the tuples.
Attribute selection method specifies a heuristic procedure for selecting the
attribute that ―best‖ discriminates the given tuples according to class.
The tree starts as a single node, N, representing the training tuples in D.
If the tuples in D are all of the same class, then node N becomes a leaf and is
labeled with that class .
All of the terminating conditions are explained at the end of the algorithm.
Otherwise, the algorithm calls Attribute selection method to determine the
splitting criterion.
The splitting criterion tells us which attribute to test at node N by
determining the ―best‖ way to separate or partition the tuples in D into
individual classes.
There are three possible scenarios. Let A be the splitting attribute. A has v
distinct values, {a1, a2, … ,av}, based on the training data.
1. A is discrete-valued:
In this case, the outcomes of the test at node N correspond directly
to the known values of A.
A branch is created for each known value, aj, of A and labeled with that
value.
A need not be considered in any future partitioning of the tuples.
2. A is continuous-valued:
In this case, the test at node N has two possible outcomes, corresponding to
the conditions A <=split point and A >split point, respectively
Where split point is the split-point returned by Attribute selection
method as part of the splitting criterion.
3. A is discrete-valued and a binary tree must be produced:
The test at node N is of the form―A€SA?‖.
SA is the splitting subset for A, returned by Attribute selection method as
part of the splitting criterion. It is a subset of the known values of A.
(a) If A is Discrete valued (b)If A is continuous valued (c) IfA is discrete-valued
and a binary tree must be produced:
Bayesian Classification:
Bayesian classifiers are statistical classifiers. They can predict class membership
probabilities, such as the probability that a given tuple belongs to a particular class.
Bayesian classification is based on Bayes’ theorem.
Bayes’ Theorem:
Let X be a data tuple. In Bayesian terms, X is considered ―evidence,
and it is described by measurements made on a set of n attributes.
Let H be some hypothesis, such as that the data tuple X belongs to a
specified class C. For classification problems, we want to determine
P(H|X), the probability that the hypothesis H holds given the ―evidence‖
or observed data tuple X.
P(H|X) is the posterior probability, or a posteriori probability, of H
conditioned on X.
Bayes’ theorem is useful in that it provides a way of calculating the
posterior probability, P(H|X), from P(H), P(X|H), and P(X).
Naïve Bayesian Classification:
The naïve Bayesian classifier, or simple Bayesian classifier, works as follows:
1. Let D be a training set of tuples and their associated class labels. As
usual, each tuple is represented by an n-dimensional attribute vector, X =
(x1, x2, …,xn), depicting n measurements made on the tuple from n
attributes, respectively, A1, A2, …, An.
2. Suppose that there are m classes, C1, C2, …, Cm. Given a tuple, X, the
classifier will predict that X belongs to the class having the highest
posterior probability, conditioned on X.
That is, the naïve Bayesian classifier predicts that tuple X belongs to the
class Ci if and only if
havingthe value xkfor Ak, divided by |Ci,D| the number of tuples of class
Ciin D.
Cluster:
Cluster is a group of objects that belong to the same class. In other words,
similar objects are grouped in one cluster and dissimilar objects are grouped in
another cluster.
What is clustering?
Clustering is the process of making a group of abstract objects into classes of
similar objects.
Points to remember
A cluster of data objects can be treated as one group. While doing cluster
analysis, we first partition the set of data into groups based on data similarity and
then assign the labels to the groups.
The main advantage of clustering over classification is that, it is adaptable to
changes and helps single out useful feature that distinguish different groups.
Applications
Data summarization
Customer segmentation
Social network analysis
Relationship to other data mining problems
Requirements of Clustering in Data Mining
The following points throw light on why clustering is required in data mining −
Scalability − We need highly scalable clustering algorithms to deal with
large databases.
Ability to deal with different kinds of attributes − Algorithms should be
capable to be applied on any kind of data such as interval-based (numerical)
data, categorical, and binary data.
Discovery of clusters with attribute shape − The clustering algorithm
should be capable of detecting clusters of arbitrary shape. They should not
be bounded to only distance measures that tend to find spherical cluster of
small sizes.
High dimensionality − The clustering algorithm should not only be able to
handle low-dimensional data but also the high dimensional space.
Ability to deal with noisy data − Databases contain noisy, missing or
erroneous data. Some algorithms are sensitive to such data and may lead to
poor quality clusters.
Interpretability − The clustering results should be interpretable,
comprehensible, and usable.
Clustering Methods
Clustering methods can be classified into the following categories −
Partitioning Method
Hierarchical Method
Density-based Method
Grid-Based Method
Model-Based Method
Constraint-based Method
Partitioning Method
Suppose we are given a database of ‘n’ objects and the partitioning method
constructs ‘k’ partition of data. Each partition will represent a cluster and k ≤ n. It
means that it will classify the data into k groups, which satisfy the following
requirements −
Each group contains at least one object.
Each object must belong to exactly one group.
Points to remember −
For a given number of partitions (say k), the partitioning method will create
an initial partitioning.
Then it uses the iterative relocation technique to improve the partitioning by
moving objects from one group to other.
Portioned clustering can be done in two ways.
1) The k-means algorithm, where each cluster is represented by the mean
value of the objects in the cluster.
2) the k-medoids algorithm, where each cluster is represented by one of the
objects located near the center of the cluster.
K-Means Algorithm
Given k, the k-means algorithm is implemented in 4 steps:
Partition objects into k nonempty subsets
Compute seed points as the centroids of the clusters of the current partition.
The centroid is the center (mean point) of the cluster.
Assign each object to the cluster with the nearest seed point.
Go back to Step 2, stop when no more new assignment.
o
Here, E is the sum of the square error for all objects in the data set.
x is the point in space representing a given object, and mi is the mean of
cluster Ci (both x and mi are multidimensional). In other words, for each
object in each cluster, the distance from the object to its cluster center is
squared, and the distances are summed.
This criterion tries to make the resulting k clusters as compact and as
separate as possible.
Suppose that there is a set of objects located in space as depicted in the
rectangle.
Let k =3; i.e. the user would like to cluster the object into three clusters.
According to the algorithm, we arbitrarily choose three objects as the three
initial cluster centers, were cluster centers are marked by a “+”.
Each object is distributed to a cluster based on the cluster center to which it
is the nearest.
Such distribution forms circled by dotted curves.
Advantages Of K-Means
Relatively efficient: O(tkn), where n is # objects, k is # clusters, and t is #
iterations. Normally, k, t << n.
Each object is distributed to a cluster based on the cluster center to which it
is the nearest.
Disadvantages Of K-Means
▪ Applicable only when mean is defined, then what about categorical data?
K-Medoids Clustering
A medoid can be defined as that object of a cluster, whose average
dissimilarity to all the objects in the cluster is minimal i.e. it is a most
centrally located point in the given dataset.
K-Medoids: Instead of taking the mean value of the object in a cluster as a
reference point, medoids can be used, which is the most centrally located
object in a cluster.
The basic strategy of k-medoids clustering algorithms is to find k clusters in
n objects by first arbitrarily finding a representative object (the medoid) for
each cluster.
Each remaining object is clustered with the medoid to which it is most
similar.
The strategy then iteratively replaces one of the medoids by one of the non-
medoids as long as the quality of the resulting clustering is improved.
This quality is estimated by using a cost function that measures the average
dissimilarity between an object and the medoid of its cluster.
To determine whether a non-medoid object is "Oi" random is a good
replacement for a current medoid "Oj", the following four cases are
examined for each of the non-medoid objects "P".
Case 1: "P" currently belongs to medoid "Oj", If "Oj" is replaced by
"Orandom", as a medoid and "P" is closest to one of "Oi", it do not belong "j",
then "P" is assigned to "Oi".
Case 2: "P" currently belongs to medoid "Oj". If "Oj" is replaced by
"Orandom" as medoid and "P" is closest to "Orandom", then "P" is reassigned
to "Orandom".
Case 3: "P" currently belongs to medoid "Oi", it does not belong "j". If "Oj" is
replaced by "Orandom" as a medoid and "P" is still closest to "Oi", then the
assignment does not change.
Case 4: "P" currently belongs to medoid "Oi", it does not belong to "j". If "Oj"
is replaced by "Orandom" as a medoid and "P" is closest to "Orandom", then
"P" is reassigned to "Orandom".
Hierarchical Clustering Algorithms
Hierarchical clustering is one of the popular and easy to understand
clustering technique.
The clustering has been created by a manual volunteer effort, but it
nevertheless provides a good understanding of the multi granularity insights that
may be obtained with such an approach. A small portion of the hierarchical
organization is illustrated here.
This clustering technique is divided into two types:
Bottom-up (agglomerative) methods:
Top-down (divisive) methods:
Step- 3: We again calculate the proximity of new clusters and merge the similar
clusters to form new clusters A, BC, DEF.
Step- 4: Calculate the proximity of the new clusters. The clusters DEF and BC
are similar and merged together to form a new cluster. We’re now left with two
clusters A, BCDEF.
Step- 5: Finally, all the clusters are merged together and form a single cluster.