BSc CSIT (TU) Science Data Warehousing and Data Mining (BSc CSIT, CSC410) Question Paper 2082 Nepal
This is the official BSc CSIT (TU) (Science stream) Data Warehousing and Data Mining (BSc CSIT, CSC410) question paper for 2082, as set in the annual (regular) examination. It carries 60 full marks and a time allowance of 180 minutes, across 12 questions. On Kekkei you can attempt this Data Warehousing and Data Mining (BSc CSIT, CSC410) past paper online with a timer, get instant AI feedback and step-by-step solutions, and track the topics where you lose marks — completely free. Whether you are revising for your BSc CSIT (TU) Data Warehousing and Data Mining (BSc CSIT, CSC410) exam or solving previous years' question papers, this 2082 paper is a great way to practise under real exam conditions.
| Level | BSc CSIT (TU) |
|---|---|
| Stream | Science |
| Subject | Data Warehousing and Data Mining (BSc CSIT, CSC410) |
| Year | 2082 BS |
| Exam session | Regular (annual) |
| Full marks | 60 |
| Time allowed | 180 minutes |
| Questions | 12, all with step-by-step solutions |
Section A: Long Answer Questions
Attempt any TWO questions.
Define strong association rule. What are the limitations of Apriori algorithm? Create a FP tree from the following data set.
TID List of Items
T1 {A, B, C}
T2 {B, C, D}
T3 {C, D}
T4 {B, D}
T5 {A, C}
T6 {A, C, D}
Strong Association Rule
An association rule has the form where are itemsets and . A rule is called strong if it satisfies both a user-specified minimum support and minimum confidence threshold:
- Support: — fraction of transactions containing both and .
- Confidence: .
Thus a strong rule is one that occurs frequently enough (support min_sup) and is reliable enough (confidence min_conf) to be considered interesting.
Limitations of the Apriori Algorithm
- Multiple database scans – Apriori rescans the whole database at each level to count candidate supports, causing heavy I/O for long patterns.
- Huge number of candidate itemsets – candidate generation explodes combinatorially (e.g., frequent 1-itemsets can generate ~ candidate 2-itemsets).
- High computation and memory cost – counting and holding a massive candidate set is expensive.
- Poor performance at low support – the number of frequent itemsets grows rapidly, degrading performance on dense/large data.
These limitations led to FP-Growth, which mines patterns from a compact FP-tree without candidate generation using only two scans.
FP-Tree Construction
Dataset:
| TID | Items |
|---|---|
| T1 | A, B, C |
| T2 | B, C, D |
| T3 | C, D |
| T4 | B, D |
| T5 | A, C |
| T6 | A, C, D |
Step 1 – Count 1-itemset support (min_sup = 1, so all items are kept):
| Item | Count |
|---|---|
| C | 5 |
| D | 4 |
| A | 3 |
| B | 3 |
Step 2 – Order frequent items by descending support → C > D > A > B (ties A,B broken alphabetically).
Step 3 – Reorder each transaction by this order:
| TID | Ordered items |
|---|---|
| T1 | C, A, B |
| T2 | C, D, B |
| T3 | C, D |
| T4 | D, B |
| T5 | C, A |
| T6 | C, D, A |
Step 4 – Insert transactions into the FP-tree (counts after each path):
null
/ \
C:5 D:1
/ | \ \
A:1 D:3 (T5 adds A) B:1 <- from T4 (D,B)
| | \
B:1 B:1 A:1
| |
(T2) (T6 A:1)
Drawn more precisely as a header-linked tree:
null
├── C:5
│ ├── A:2
│ │ └── B:1 (path C-A-B : T1)
│ │ (A:2 also leaf from T5: C-A)
│ └── D:3
│ ├── B:1 (path C-D-B : T2)
│ └── A:1 (path C-D-A : T6)
│ (D:3 also leaf from T3: C-D)
└── D:1
└── B:1 (path D-B : T4)
Header (item → node-links) table:
| Item | Support | Node links |
|---|---|---|
| C | 5 | C:5 |
| D | 4 | D:3 (under C), D:1 (under root) |
| A | 3 | A:2 (under C), A:1 (under C-D) |
| B | 3 | B:1 (C-A-B), B:1 (C-D-B), B:1 (D-B) |
The FP-tree compresses all six transactions; frequent patterns are later mined by building conditional FP-trees from each item's prefix paths, with no candidate generation.
What is the role of Laplace smoothing? Create a decision tree from the following data set using ID3 as attribute selection approach.
Object A1 A2 Class
1 T T C1
2 T T C1
3 T F C2
4 F F C1
5 F T C2
6 F T C2
Role of Laplace Smoothing
Laplace (add-one) smoothing is used in probabilistic classifiers such as Naïve Bayes to avoid the zero-probability problem. If an attribute value never co-occurs with a class in the training data, its conditional probability becomes 0, which forces the entire product to 0 and wrongly discards otherwise-likely classes.
Laplace smoothing adds a small count (usually 1) to every frequency:
where is the number of possible values of the attribute. This guarantees non-zero probabilities, makes the estimates more robust for small or sparse datasets, and keeps the probabilities summing to 1.
Decision Tree using ID3
ID3 selects, at each node, the attribute with the highest information gain:
Dataset:
| Object | A1 | A2 | Class |
|---|---|---|---|
| 1 | T | T | C1 |
| 2 | T | T | C1 |
| 3 | T | F | C2 |
| 4 | F | F | C1 |
| 5 | F | T | C2 |
| 6 | F | T | C2 |
Class counts: C1 = 3, C2 = 3 (total 6).
Entropy of S:
Gain(A1)
- A1 = T (objects 1,2,3): classes {C1, C1, C2} →
- A1 = F (objects 4,5,6): classes {C1, C2, C2} →
Gain(A2)
- A2 = T (objects 1,2,5,6): classes {C1, C1, C2, C2} →
- A2 = F (objects 3,4): classes {C2, C1} →
Root selection
Since , the root is A1.
Splitting on A1
- A1 = T subset {1,2,3} = {C1, C1, C2}, entropy 0.918 → split further on the only remaining attribute A2:
- A2 = T → objects 1,2 = {C1, C1} → pure leaf C1
- A2 = F → object 3 = {C2} → pure leaf C2
- A1 = F subset {4,5,6} = {C1, C2, C2} → split on A2:
- A2 = T → objects 5,6 = {C2, C2} → pure leaf C2
- A2 = F → object 4 = {C1} → pure leaf C1
Resulting Tree
A1
/ \
T F
/ \
A2 A2
/ \ / \
T F T F
| | | |
C1 C2 C2 C1
The tree classifies all six training objects correctly. To predict a new instance, traverse A1 then A2 to reach a leaf.
Consider the data set (6,3), (7,2), (4,8), (2,2), (0,2), (9,0). Taking k=3, show the result after first iteration using k-means algorithm. For choosing initial centroid, use k-means++ by taking (6,3) as initial cluster center.
K-Means with K-Means++ Initialization
Data points: , with k = 3.
Step 1 – Choose initial centroids using k-means++
k-means++ chooses the first centre, then picks each subsequent centre far from existing centres (probability proportional to squared distance ). Here the first centre is given:
Centre 1: .
Compute squared distance of every other point to the nearest existing centre:
| Point | to |
|---|---|
| (7,2) | |
| (4,8) | |
| (2,2) | |
| (0,2) | |
| (9,0) |
Largest at (0,2) → Centre 2: .
Now recompute = distance to the nearest of :
| Point | to | to | min |
|---|---|---|---|
| (7,2) | 2 | 2 | |
| (4,8) | 29 | 29 | |
| (2,2) | 17 | 4 | |
| (9,0) | 18 | 18 |
Largest min- at (4,8) → Centre 3: .
Initial centroids: .
Step 2 – Assign each point to the nearest centroid (squared Euclidean distance)
| Point | to | to | to | Cluster |
|---|---|---|---|---|
| (6,3) | 0 | 37 | 29 | C1 |
| (7,2) | 2 | 49 | 45 | C1 |
| (4,8) | 29 | 52 | 0 | C3 |
| (2,2) | 17 | 4 | 40 | C2 |
| (0,2) | 37 | 0 | 52 | C2 |
| (9,0) | 18 | 85 | 89 | C1 |
Cluster assignments:
- C1 (c₁): (6,3), (7,2), (9,0)
- C2 (c₂): (2,2), (0,2)
- C3 (c₃): (4,8)
Step 3 – Recompute centroids (mean of each cluster) → result after first iteration
- New
- New
- New (single point)
Result after the first iteration:
| Cluster | Members | New centroid |
|---|---|---|
| C1 | (6,3), (7,2), (9,0) | (7.33, 1.67) |
| C2 | (2,2), (0,2) | (1.0, 2.0) |
| C3 | (4,8) | (4.0, 8.0) |
Section B: Short Answer Questions
Attempt any EIGHT questions.
Explain about data mining primitives.
Data Mining Primitives
Data mining primitives define a data-mining task and let the user communicate exactly what is to be mined. A data-mining query is built from the following five primitives:
- Task-relevant data – the portion of the database/data warehouse to be mined: the relevant tables, attributes (dimensions), and selection conditions (the data partition).
- Kind of knowledge to be mined – the data-mining function to apply, e.g., characterization, discrimination, association, classification, prediction, clustering, or outlier/evolution analysis.
- Background knowledge – domain knowledge that guides discovery and evaluates patterns, most importantly concept hierarchies (e.g., city → province → country) that allow mining at multiple abstraction levels.
- Interestingness measures / thresholds – measures used to filter out uninteresting patterns, such as support, confidence, certainty, novelty, and simplicity, each with a threshold.
- Knowledge presentation / visualization – the form in which discovered patterns are displayed: rules, tables, charts, decision trees, cubes, or graphs, including roll-up/drill-down for the user.
Together these primitives form a data-mining query language (DMQL), giving the user interactive control over the mining process.
Define support vector. Write the algorithm for back propagation for classification.
Support Vector
In a Support Vector Machine (SVM), the support vectors are the training data points that lie closest to the decision boundary (the separating hyperplane) — i.e., the points lying on the margin. They are the critical examples that define the position and orientation of the maximum-margin hyperplane; if any other point were removed the boundary would not change, but removing a support vector would. The optimal hyperplane maximizes the margin (distance between the two parallel margin planes passing through the support vectors).
Backpropagation Algorithm for Classification
Backpropagation trains a multilayer feed-forward neural network by iteratively adjusting weights to minimize the error between predicted and target outputs using gradient descent.
Input : Training set D, learning rate η, network topology
Output: A trained neural network
1. Initialize all weights w_ij and biases θ_j to small random values.
2. Repeat (for each epoch) until termination condition:
For each training tuple X in D:
// ---- Forward propagation ----
3. For each input unit: O_j = input value x_j
4. For each hidden/output unit j:
net_j = Σ_i w_ij O_i + θ_j (weighted sum)
O_j = 1 / (1 + e^(-net_j)) (sigmoid activation)
// ---- Backpropagate the error ----
5. For each output unit j:
Err_j = O_j (1 - O_j)(T_j - O_j)
6. For each hidden unit j (from last hidden layer back):
Err_j = O_j (1 - O_j) Σ_k Err_k w_jk
// ---- Update weights and biases ----
7. For each weight w_ij:
w_ij = w_ij + η · Err_j · O_i
8. For each bias θ_j:
θ_j = θ_j + η · Err_j
9. Terminate when weights converge / error below threshold /
max epochs reached.
The trained network then classifies a new instance by a single forward pass, with the output unit having the highest activation giving the predicted class.
What is data mart? Why do we need multidimensional data model?
Data Mart
A data mart is a subset of a data warehouse that is focused on a single subject area, department, or business function (e.g., sales, finance, or marketing). It contains a smaller, more specialized slice of data tailored to the needs of a particular group of users, which makes it cheaper, faster to build, and easier to query than an enterprise-wide warehouse.
Two design approaches:
- Dependent data mart – sourced from a central enterprise data warehouse.
- Independent data mart – built directly from operational/external sources without a central warehouse.
Why We Need a Multidimensional Data Model
The multidimensional data model organizes data as a data cube with dimensions (e.g., time, item, location) and measures (e.g., sales amount), and is needed because:
- Natural fit for analysis – it models data the way analysts think ("sales by product by region by quarter").
- Fast OLAP operations – supports roll-up, drill-down, slice, dice, and pivot efficiently for interactive analysis.
- Pre-aggregation – summary values can be precomputed along dimensions, giving very fast query response on huge data.
- Multiple levels of abstraction – concept hierarchies allow viewing data at different granularities (day → month → year).
- Better decision support – it enables multi-perspective summarization that flat relational/OLTP tables handle poorly.
Describe the different types of data object and attribute types.
Data Objects and Attribute Types
Data Object
A data object represents an entity in a dataset — e.g., a customer, a product, or a patient. It is described by a set of attributes (features/variables). In a table, each row is a data object and each column is an attribute.
Attribute Types
An attribute is a data field representing a characteristic of a data object. Attributes are classified by the kind of values they take:
| Type | Description | Example | Operations |
|---|---|---|---|
| Nominal | Categories/names, no order | colour {red, blue}, marital status | =, ≠ |
| Binary | Nominal with only 2 states (0/1). Symmetric (both equally important, e.g., gender) or Asymmetric (one state more important, e.g., test positive/negative) | true/false | =, ≠ |
| Ordinal | Values have a meaningful order, but the magnitude between them is unknown | grade {A,B,C}, size {small, medium, large} | =, ≠, <, > |
| Numeric – Interval | Ordered, measured on an equal-unit scale, no true zero | temperature in °C, calendar dates | +, − |
| Numeric – Ratio | Ordered with an equal scale and a true zero point (ratios meaningful) | weight, length, age, salary | +, −, ×, ÷ |
Attributes are also grouped as qualitative (categorical) — nominal, binary, ordinal — and quantitative (numeric) — interval, ratio. Numeric attributes can further be discrete (countable, e.g., number of children) or continuous (real-valued, e.g., height).
What is data cube? List the different variations of cube materializations.
Data Cube
A data cube is a multidimensional data structure that models data in terms of dimensions and measures, allowing it to be viewed and analyzed from multiple perspectives. Each dimension (e.g., time, item, location) corresponds to an attribute or set of attributes (a concept hierarchy), and each cell of the cube stores an aggregated measure (e.g., total sales). Although called a "cube," it can have any number of dimensions (-D cube). It is the core structure of OLAP and supports operations such as roll-up, drill-down, slice, and dice.
The complete set of all possible aggregations (subsets of dimensions) is called the cuboid lattice; the base cuboid holds the lowest level of detail and the apex cuboid holds the grand total.
Variations of Cube Materialization
Materialization decides which cuboids/aggregates to precompute and store. The main variations are:
- No materialization (Full computation on the fly) – compute aggregates only when queried; saves storage but very slow queries.
- Full materialization – precompute and store all cuboids of the lattice; fastest queries but huge storage and update cost.
- Partial materialization – precompute and store only a selected subset of cuboids (e.g., the most frequently used or beneficial ones), balancing storage and query speed.
- Iceberg cube – materialize only those cells whose aggregate value meets a minimum threshold (e.g., count ≥ minimum support), pruning trivial/sparse cells.
- (Closed/Shell cube) – materialize only closed cells or a small shell fragment of cuboids, further reducing redundant storage.
What is the concept behind beam search? Discuss about theory of balance and status.
Concept Behind Beam Search
Beam search is a heuristic search strategy that explores a graph/tree by expanding the most promising nodes at each level, but — unlike best-first search — it keeps only a limited number of best candidates (the beam width, ) at each step and discards the rest. This bounds memory and time at the cost of completeness/optimality.
In data mining (e.g., rule induction and feature/subgroup discovery), beam search is used to grow rules: at each step it keeps the top- partial rules (ranked by a quality measure such as accuracy or information gain), specializes them, and again retains only the best . It thus explores more alternatives than greedy hill-climbing (which keeps only 1) while avoiding the cost of an exhaustive search.
- Beam width → behaves like greedy/hill-climbing search.
- Larger → broader search, better solutions, more cost.
Theory of Balance and Status (Social Network Analysis)
Balance theory and status theory explain the structure of signed social networks, where edges between actors are positive (+, friendship/trust) or negative (−, hostility/distrust).
Balance Theory
Based on the principle "the friend of my friend is my friend, the enemy of my enemy is my friend." It treats relations as undirected and looks at triangles:
- A triangle is balanced if it has an odd number of positive edges (i.e., all three +, or exactly one +).
- It is unbalanced/tense if it has an even number of + (two + and one −, or all −). Networks tend to evolve toward balanced configurations, often splitting into two mutually antagonistic groups.
Status Theory
Treats edges as directed and interprets a positive edge as "A regards B as having higher status" and a negative edge as "lower status." Relations are consistent if they produce a coherent status ordering (e.g., if A < B and B < C then A < C). Status theory often explains directed sign patterns better than balance theory.
Both theories are used to predict the sign of unknown edges and to understand trust/distrust dynamics in online social networks.
Explain about web content, web usage and web structure mining.
Web Mining
Web mining applies data-mining techniques to discover useful patterns from web data. It has three categories:
1. Web Content Mining
Extracts useful information/knowledge from the actual content of web pages — text, images, audio, video, and structured records. Techniques include text mining, NLP, classification, and clustering of documents. Examples: search-engine indexing, sentiment/opinion mining, extracting product details from pages, topic classification.
2. Web Structure Mining
Analyzes the link (hyperlink) structure of the web — the graph of pages connected by links — to discover relationships and importance of pages. Examples: PageRank and HITS (hubs and authorities) algorithms, identifying communities, and ranking pages by their in-/out-link structure.
3. Web Usage Mining
Mines user interaction/behaviour data captured in web server logs, click-streams, cookies, and sessions to understand how users navigate a site. Examples: discovering navigation/access patterns, personalization and recommendation, improving site design, target advertising.
| Type | Mines | Typical technique |
|---|---|---|
| Content | Page content (text/media) | Text mining, classification |
| Structure | Hyperlink graph | PageRank, HITS |
| Usage | Server logs / click-streams | Sequence/association mining |
Given the following distance matrix, find the core points and outliers using DBSCAN. Take Eps = 2.5 and MinPts = 3.
Data Points A B C D E F G H
A 0 1.41 2.83 4.24 5.66 5.83 6.40 5.83
B
0 1.41 2.82 4.24 4.47 5.00 4.47
C
0 1.41 2.82 3.16 3.60 3.16
D
0 1.41 2.00 2.24 2.00
E
0 1.41 1.00 1.41
F
0 1.00 2.82
G
0 2.24
H
0
DBSCAN – Finding Core Points and Outliers
Parameters: Eps = 2.5, MinPts = 3. A point is a core point if its Eps-neighbourhood (distance ≤ 2.5) contains at least MinPts = 3 points, including itself.
Step 1 – Build the symmetric distance matrix
| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
| A | 0 | 1.41 | 2.83 | 4.24 | 5.66 | 5.83 | 6.40 | 5.83 |
| B | 1.41 | 0 | 1.41 | 2.82 | 4.24 | 4.47 | 5.00 | 4.47 |
| C | 2.83 | 1.41 | 0 | 1.41 | 2.82 | 3.16 | 3.60 | 3.16 |
| D | 4.24 | 2.82 | 1.41 | 0 | 1.41 | 2.00 | 2.24 | 2.00 |
| E | 5.66 | 4.24 | 2.82 | 1.41 | 0 | 1.41 | 1.00 | 1.41 |
| F | 5.83 | 4.47 | 3.16 | 2.00 | 1.41 | 0 | 1.00 | 2.82 |
| G | 6.40 | 5.00 | 3.60 | 2.24 | 1.00 | 1.00 | 0 | 2.24 |
| H | 5.83 | 4.47 | 3.16 | 2.00 | 1.41 | 2.82 | 2.24 | 0 |
Step 2 – Eps-neighbourhood of each point (distance ≤ 2.5, including itself)
| Point | Neighbours (≤ 2.5) | Count | Core? (≥3) |
|---|---|---|---|
| A | A, B | 2 | No |
| B | B, A, C | 3 | Core |
| C | C, B, D | 3 | Core |
| D | D, C, E, F, G, H | 6 | Core |
| E | E, D, F, G, H | 5 | Core |
| F | F, D, E, G | 4 | Core |
| G | G, D, E, F, H | 5 | Core |
| H | H, D, E, G | 4 | Core |
(For A: only B is within 2.5 → 2 points. For D: C=1.41, E=1.41, F=2.00, G=2.24, H=2.00 → all ≤2.5.)
Step 3 – Classify points
- Core points: B, C, D, E, F, G, H (each has ≥ 3 points within Eps).
- A: has only 2 points in its neighbourhood, so it is not a core point. Is it a border point? A is within Eps of a core point only if some core point lists A — only B (a core) has A within 2.5 (d(A,B)=1.41 ≤ 2.5). So A is a border point, not an outlier.
Result
- Core points: B, C, D, E, F, G, H
- Border point: A
- Outliers (noise): None — every point is either a core point or density-reachable from one.
List the components of data warehouse. Discuss about the trust propagation on social network.
Components of a Data Warehouse
A data warehouse architecture has the following key components:
- Data Sources – operational/OLTP databases, flat files, and external sources that feed the warehouse.
- ETL (Extract–Transform–Load) / Back-end Tools – extract data from sources, clean, transform, integrate, and load it into the warehouse.
- Data Warehouse (Central Repository) – the integrated, subject-oriented, time-variant, non-volatile store, often organized in a star/snowflake schema.
- Metadata Repository – data about the data: source definitions, transformation rules, schema, and operational information.
- Data Marts – subject-specific subsets of the warehouse for departments.
- OLAP Server – (MOLAP/ROLAP/HOLAP) supporting multidimensional analytical queries.
- Front-end / Analysis Tools – query, reporting, OLAP, data-mining, and visualization tools used by analysts.
Trust Propagation in Social Networks
Trust propagation infers the trust between two users who are not directly connected by propagating trust values along the paths that link them through intermediate users — exploiting the idea that trust is partly transitive ("if A trusts B and B trusts C, then A can partially trust C").
Key ideas:
- Trust is directed and weighted – each edge carries a trust score (e.g., 0–1).
- Atomic propagation along a path – trust along a chain is typically combined by multiplication/concatenation (it usually decays with path length, since indirect trust is weaker).
- Aggregation over multiple paths – when several paths connect and , their inferred trust values are aggregated (e.g., averaged or weighted), giving a more reliable estimate.
- Distrust propagation – negative (distrust) edges can also be propagated, but distrust is generally not transitive in the same way and must be handled carefully.
Algorithms such as TidalTrust and Advogato/EigenTrust use these principles to compute trust scores, which power trust-aware recommendation systems, reputation systems, and spam/fraud resistance in online social networks.
Frequently asked questions
- Where can I find the BSc CSIT (TU) Data Warehousing and Data Mining (BSc CSIT, CSC410) question paper 2082?
- The full BSc CSIT (TU) Data Warehousing and Data Mining (BSc CSIT, CSC410) 2082 (Regular (annual)) question paper is available free on Kekkei. You can read every question online and attempt the paper under timed exam conditions.
- Does the Data Warehousing and Data Mining (BSc CSIT, CSC410) 2082 paper come with solutions?
- Yes. Every question on this Data Warehousing and Data Mining (BSc CSIT, CSC410) past paper includes a step-by-step solution, plus instant AI feedback when you attempt it on Kekkei.
- How many marks is the BSc CSIT (TU) Data Warehousing and Data Mining (BSc CSIT, CSC410) 2082 paper?
- The BSc CSIT (TU) Data Warehousing and Data Mining (BSc CSIT, CSC410) 2082 paper carries 60 full marks and is meant to be completed in 180 minutes, across 12 questions.
- Is practising this Data Warehousing and Data Mining (BSc CSIT, CSC410) past paper free?
- Yes — reading and attempting this Data Warehousing and Data Mining (BSc CSIT, CSC410) past paper on Kekkei is completely free.