Data Mining Assignment
Know Your Data
1. The ArnetMiner citation dataset (provided by arnetminer.org) by year 2012 can be downloaded in
the attached file.
(1) Count the number of authors, venues (conferences/journals), and publications in the datasets.
(2) What are the min, max, Q1, Q3, and median number of publications per author? Can you plot
the histogram for number of publications per author?
(3) What are the min, max, Q1, Q3, and median number of citations per author? Can you plot the
histogram for number of citations received per author?
(4) Please plot the scatter plot between the number of publications vs. the number of citations for
authors who have more than 5 publications.
Classification for Matrix Data
2. Decision Tree
Construct a decision tree for the following training data, where “Edible” is the class we are going to predict. Information gain is used to select the attributes. Please write down the major steps in the construction process (you need to show the information gain for each candidate attribute when a new node is created in the tree).
3. Naïve Bayes Consider a Naïve Bayes model for spam classification with the vocabulary V = {secret, offer, low, price, valued, customer, today, dollar, million, sports, is, for, play, healthy, pizza}, where each word in the vocabulary is considered as a feature, and their values could be either 1 or 0, denoting whether they exist in one message. We have the messages and labels in the following table:
Messages Class label
Million dollar offer Spam
Secret offer today Spam
Secret is secret Spam
Low price for valued customer non-spam
Play secret sports today non-spam
Sports is healthy non-spam
Low price pizza non-spam
Give the MLEs for the following parameters:𝜃𝑠𝑝𝑎𝑚 = 𝑃(𝐶𝑠𝑝𝑎𝑚 ), 𝜃𝑠𝑒𝑐𝑟𝑒𝑡|𝑠𝑝𝑎𝑚 = 𝑃(𝑠𝑒𝑐𝑟𝑒𝑡 = 1|𝐶𝑠𝑝𝑎𝑚 ),
𝜃𝑠𝑒𝑐𝑟𝑒𝑡|𝑛𝑜𝑛−𝑠𝑝𝑎𝑚 = 𝑃(𝑠𝑒𝑐𝑟𝑒𝑡 = 1|𝐶𝑛𝑜𝑛−𝑠𝑝𝑎𝑚 ), 𝜃𝑠𝑝𝑜𝑟𝑡𝑠|𝑛𝑜𝑛−𝑠𝑝𝑎𝑚 = 𝑃(𝑠𝑝𝑜𝑟𝑡𝑠 = 1|𝐶𝑛𝑜𝑛−𝑠𝑝𝑎𝑚 ), and 𝜃𝑑𝑜𝑙𝑙𝑎𝑟|𝑠𝑝𝑎𝑚 =
𝑃(𝑑𝑜𝑙𝑙𝑎𝑟 = 1|𝐶𝑠𝑝𝑎𝑚 ).
4. Support Vector Machine
# x1 x2 class
1 2.46 2.59 1
2 3.05 2.87 1
3 1.12 1.64 1
4 0.01 1.44 1
5 2.20 3.04 1
6 0.41 2.04 1
7 0.53 0.77 1
8 1.89 2.64 1
9 -0.39 0.96 1
10 -0.96 0.08 1
11 2.65 -1.33 -1
12 1.57 -1.70 -1
13 3.05 0.01 -1
14 2.66 -1.15 -1
15 4.51 -0.52 -1
16 3.06 -0.82 -1
17 3.16 -0.56 -1
18 2.05 -0.62 -1
19 0.71 -2.47 -1
20 1.63 -0.91 -1
Given 20 data points and their class labels in the above, suppose by solving the dual form of the quadratic programming of svm, we can derive the α′s for each data point as follows: α7 = 0.4952 α18 = 0.0459 α20 = 0.4493 Others = 0 (1) Please point out the support vectors in the training points. (2) Calculate the normal vector of the hyperplane: w
(3) Calculate the bias b, according to b = ∑ (yk − w′xkk:αk≠0 )/Nk , where xk = (xk1, xk2)′ indicate the
support vectors and Nk is the total number of support vectors. (4) Write down the learned decision boundary function f(x) = w′x + b (the hyperplane) by substituting w and b with learned values in the formula. (5) Suppose there is a new data point x = (−1,2), please use the decision boundary to predict its class label.
Bonus Question
5. Mutual Information and Information Gain
In information theory, mutual information between two discrete random variables is defined as:
𝐼(𝑋; 𝑌) = ∑ ∑ 𝑝(𝑥, 𝑦)log ( 𝑝(𝑥, 𝑦)
𝑝(𝑥)𝑝(𝑦) )
𝑦𝑥
Which is designed for evaluating the mutual dependence of two random variables. What is the
connection between mutual information and information gain we have learned in decision tree? Can
you prove it? (Hint: consider Y as the class label, and X as the attribute to predict Y.)