You are expected to explore one or two chosen data set(s) of your choice from open data mining/machine learning (re)sources, to develop case studies and apply data mining techniques on the data set(s) for supervised and/or unsupervised learning, as motivated and decided by which is suitable (depending on the data set characteristics). Tasks A, B, and G are compulsory, and you must choose 2 tasks from C, D, E, and F:
Task A. [20 marks] Data Choice.
Name the chosen data set(s) (from module resources, UCI ML Repository or other open data sources or own collection) and describe the data (e.g. attribute types and values, source of data)
[5 marks]
Adult data set for salary prediction of 50K less or more
http://archive.ics.uci.edu/ml/datasets/adult
Describe the data mining problem (and background) you will address e.g. as a classification, prediction, association, clustering, or text mining related exercise
[5 marks] Classification and predicting, association rule task mining
Introduce the specific data mining question(s) related to the problem, with specific reference to the dataset(s) and the expected or proposed outcome of the data mining task upon completion
[10 marks]
Predicting the salaries and the best rules needed in knowing the income of the adults by reading the data.
Task B. [20 marks] Data Analysis
Analyse the data. Describe the context and content of the data in light of the chosen data mining task and proposed outcomes, discussing characteristics of the data that will present opportunities/challenges for the task.
[10 marks]
Add functionality/ies for descriptive statistics in the view of this problem: details of contextual programming and usage of graphical representation and analysis of data are expected. For example, sort the data by class, line or bar plot each of the features individually if applicable; for each feature compute characteristics like its minimum, maximum, mean, mode and standard deviation, and study the correlation between features for each class or the distance matrix. If attributes are not normalized then this step will be also considered.
[10 marks]
Task B:Data Analysis
Visualization
Weka exploring pre-process shows the attributes
· Sum of weights
· Attributes
· Instances
Weka pre-process can also define the selected attribute and shows the Statistic of each column, for example choosing the Age which is numeric, it can calculate the Minimum, Maximum, Mean and StdDev values.
This helps me more to understand the data
Whereas for the Nominal attribute. Choosing the race attribute, it is defined as a Nominal, it also able to show the percentage of missing data as well as the unique percentage following the distinct that is carried for the attribute.
Pre-process Visualization
Visualization tab
Interpreting the Results more accurately in between Num and Nom
The pre-process also gives the possibilities of visualization as Weka also give wider options in viewing the file with interpreting the results more accurately, it is calculated in predicting <=50K and >50K.
Task C. [20 marks] Classification Task
Pick (and motivate your choice) an appropriate classifier (e.g. multilayer perceptron, decision tree, linear regression, Naïve Bayes etc.). Choose and motivate some default parameters for the classifier: the choice of classifier and parameters, training/testing strategy (e.g. percentage split, cross-validation etc.) could be chosen by the user of your application. Add functionality for training the classifier using your training/testing strategy
[5 marks]
Develop and describe your application by making use of existing data mining algorithms (available for example as Weka classes or R scripts) for the classification/prediction problem based on the chosen data set. Justify choices for the chosen approach such as the software used, nodes/scripts etc. and their appropriateness for the chosen task.
[10 marks]
Add one functionality for visualisation of the performance of the model and briefly describe the obtained results (e.g. using performance metrics and/or comparison with literature)
[5 marks]
Classification
Predicting
Weka Data analysis also gives the opportunity of manipulating the dataset to your choice in predicting what is needed, for this data set the prediction here is set to predict the salary income for different statistics.
Recording to this data set the classification function is needed to be interpreted in this case, and since the salary is nominal it is needed to be changed to numeric type, this is simply done by filtering the data to unsupervised Nominal to binary with choosing the salary attribute and not classing any attribute as shown below in the figure.
· The next step here is to classify the data set choosing the linear regression function to predict by using the cross validation and showing the instant, actual, predicted and error.
· Adding classification in the pre process filter, a new column will be added for the predicted values of the linear regression model.
· The salary column will be changed again to nominal again with disposing the other columns for comparing the new classification column to the predicted salary by using the OneR in the rules classification tab.
· Changed the parameters of the OneR of the MinBucketSize to 100 to improve the results.
· Results are improved from 82.5005 to 84.202
· To check how the results are accurate the Naïve Bayes classifier will also predict the results for both the Linear Regression and the OneR, they both showed that the results of the predictions.
· The Naïve Bayes also have a function if a + sign showed in the error row this means that the prediction of Weka differs from the actual results that is given.
· And to make sure that the Naïve Bayes results of the + sign also is accurate a test in the decision tree will be a last step to have the prediction of Weka to be trusted.
· A decision tree is also applied with showing the rest of the columns to view the results.
· A Decision tree is viewed, but unfortunately since the data is huge it will be hard for it to visualized appropriately.
· The next step here is to classify the data set choosing the linear regression function to predict by using the cross validation and showing the instant, actual, predicted and error.
· Adding classification in the pre process filter, a new column will be added for the predicted values of the linear regression model.
· The salary column will be changed again to nominal again with disposing the other columns for comparing the new classification column to the predicted salary by using the OneR in the rules classification tab.
· Changed the parameters of the OneR of the MinBucketSize to 100 to improve the results.
· Results are improved from 82.5005 to 84.202
· To check how the results are accurate the Naïve Bayes classifier will also predict the results for both the Linear Regression and the OneR, they both showed that the results of the predictions.
· The Naïve Bayes also have a function if a + sign showed in the error row this means that the prediction of Weka differs from the actual results that is given.
· And to make sure that the Naïve Bayes results of the + sign also is accurate a test in the decision tree will be a last step to have the prediction of Weka to be trusted.
· A decision tree is also applied with showing the rest of the columns to view the results.
· A Decision tree is viewed, but unfortunately since the data is huge it will be hard for it to visualized appropriately.
· Classifications Time taken for doing the tests and comparing the results.
Task E. [20 marks] Association Rule Mining Task
Discuss the applicability of association rule mining (e.g. within the context of data types, size, and type of problem) and the pre-processing steps required to use the chosen dataset. Select and algorithm and justify the choice.
[5 marks]
Develop and describe your application by making use of existing algorithms (e.g. Weka classes, R scripts, KNIME nodes) for association rule mining, including choice of parameters. Present results in an appropriate format.
[10 marks]
Interpret the results and provide a critical analysis of key findings including interpretation of significant rules.
[5 marks]
Association Rules
· Association rule for this data set we have needs to have all the numbers changed to nominal, to start with the Association the Pre-process part has to be the first step, since the Apriori will not be active unless the values are changed.
· Choosing a filter under supervised attributes in the Pre-process interface, a converter tab named Numeric to Nominal will do the job.
· Ticking all the columns after applying the filter will allow the process of changing all the numeric values to nominal as shown below in the figure. Before and After applying.
· Before applying the Filter.
· After applying the filter.
· The summary of the dataset with the scheme showing the generic object editor to implement an aproiri algorithm type.
· The results viewed in this section wasn’t focusing upon the salary column which is the main prediction model as it is not showing the right rules we need.
· In this case the parameters of the function the car changed to true.
· Now the results of the rules will change and start focusing on finding the appropriate rules to contrast.
· After applying the car settings to True, we can see that the results had changed and that the association rule task in in the right track.
· The focus is also higher on the confidence level.
· Changing the parameters of lower min bound to 0.6 and testing it showed the exact results when testing the data at lower min bound of 0.1 meaning that shrinking the wideness of the data that the right rules hide in the last section of bound.
· Simply we could also add the number NumRules which will give a wider option for more rules to test.
· It generated larger itemsets and the instance values also increased.
· The confidence had increased and the data generated more results.
· The rules also will change depending on the numbers tested, if you demanded a high number of rules it will calculate less number of records. And if low demand number it will calculate higher data as will be shown in the results interpration.
Result interpretation
· The goal here is analysing and understand the data set results. With applying different parameters for the NumRules of the default which is 10 and changed top 100,1000 and 1 for better results and better interpretation.
· Number of records comes of confidence
· Sensitive data careful interpreted, and carefully used since the data will might not show the right data due to human error possibly.
· This Data needs to be carefully interpreted as any extra factor that might added to this data will change the interpretation.
· Confidence is used to show how these rules are find to be true by the indication of number it has the highest is 1 the lowest is 0.
· The results show 10 Number of rules that were asked upon.
· Mainly shows that the interpretation the first rule a level of confidence of 0.97 which is a high number to trust in.
· We can interpret the first rule by it telling us that if a person that is not married and has no tax and the capital loss is 0 his salary will be less than 50K as the records shows that out of 9617 records. 9914 records show that they have a salary less than 50K.
· The tenth interpretation shows a less confidence percentage of 0.92 if your gender is female and have a 0 capital gain and 0 loss the percentage of having a salary less than 50K is 92% as it indicates by calculating the records out of 9779 records of females with 0 capital gain and 0 capital loss minus the 8976 records.
· With testing and adding the 100 number of rules it will still shows a low salary testing, meaning that the data we acquire is mostly with a low salary condition.
· Changing the parameters to 100 the data shows a more accurate rule and less specifying relation where it started to gather less records comparing to having only 10 NumRules as the records for the first rule calculated 3970 records and 3955 of them were with a salary less than 50K.
· The first 7 rules show a level confidence of 1 stating that these rules are the most accurate. Whereas 0.97 the level of confidence was when weka started reading the data
· Unfortunately, Weka didn’t allow for more than 222 rules to be shown when the NumRules where changed to 1000.
· Decided to change the NumRules to 1, the interpretation showed 10228 records with matching of 9888 with a level of confidence 0.97 if not married and had a 0 capital gain. Showing a large portion data chosen to gather only 1 rule.
· The lesson learned here is that weka specify the rules depending on the parameters that is being directed to each parameter can create a difference finding rules.
Task G. [20 marks] Critical Review
Describe difficulties using the tools/techniques as above. Provide reflections focused on technical, interpretational and functional issues, and the steps/approach you took to overcome these challenges.
[5 marks]
· Weka was used because it was easy to visualize and understand as an engineering student
· A Decision tree in the classification part is viewed, but unfortunately since the data is huge it will be hard for it to visualized appropriately.
·
Document your observations on the case studies and results. Present conclusions deduced/induced from each result. Describe and explain which techniques were most helpful to evaluate, explore and analyse the dataset. Describe how techniques were compared. Document techniques/activities that you could/should perform in the future to continue this work.
[10 marks]
Discuss the results of the case studies you developed for each technique and any interesting observations by comparing them with published work (use journal papers, conference proceedings, books and online resources available).
[5 marks]