0% found this document useful (0 votes)
36 views43 pages

Adv Java and Data Mining Manual

Uploaded by

ellykinny3053
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views43 pages

Adv Java and Data Mining Manual

Uploaded by

ellykinny3053
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 43

Laboratory Manual

School of Computer Sciences and Engineering


Department of Computer Sciences and Application

BCA
Second Year Semester - V

Lab Course based on Advanced Java &


Data Mining
Course Code: XCA511
Academic Year: 2024-25
XCA512– Lab course based on Advanced Java

Guidelines
Laboratory rules

1. Attendance is required for all lab classes. Students who do not attend lab will not receive
credit.
2. Ensure that you are aware of the test and its procedure before each lab class. You will NOT
be allowed to attend the class if you are not prepared!

3. Personal safety is top priority. Do not use equipment that is not assigned to you.

4. All accidents must be reported to your instructor or laboratory supervisor.

5. The surroundings near the equipment must be cleaned before leaving each lab class.

6. Ensure that outputs are checked and marked by your TA for each lab period.\

7. Bags & eatables are not allowed in the lab.

******

2
XCA512– Lab course based on Advanced Java

STUDENT’S DETAILS

Name of Student

Academic

Programme

Class/ Roll

PRN No.

3
XCA512– Lab course based on Advanced Java

Certificate
This is to certify that Mr/Miss __________________________________________

PRN No. ______________________of class __________________has satisfactorily

completed the Lab Course_____________________________________________in

the school during the academic year .

Course Teacher Head of Department Academic Dean

4
XCA512– Lab course based on Advanced Java

Table of contents

Instruction: Draw Flow-Chart and write algorithms wherever is needed in the Manual.

Sr. Page
Title of Experiment Date Remark
No. No

Group A

1 7 22-07-2024
Program to insert and retrieve data from database through
jdbc drivers
2 9 29-07-2024
Write a program to display information about Database . (Use
DatabaseMetaData).

Write a program to display information about all columns in


the student table. (Use ResultSetMetaData).
3 Write Java Program using XML Document Object Model (DOM) 12 05-08-2024

4 Write a servlet program to print servlet Server Information. 14 12-08-2024

5 Write a servlet which counts how many times a user has 15 20-08-2024

visited a web page.

6 Create a JSP page which accepts username in the textbox and 16 02-09-2024

greet the user according to the time on server side.

7 17 09-09-2024
Write a program to make use of the JSP implicit objects.

8 23-09-2024
Define a thread called “PrintTextThread” for printing text on
command prompt 18

5
XCA512– Lab course based on Advanced Java
Group B

20 23-07-2024
9 Write a steps to install Weka Tool for Data Mining Practical.

23 30-07-2024
Demonstrate to apply different kinds of preprocessing
10
techniques on labor.arff dataset.
Write a program to demonstrate the Association rule process 26 06-08-2024
11
on dataset contactlenses.arff using apriori algorithm.
Demonstration of classification rule process on dataset 29 13-08-2024
12 airline.arff using j48 Algorithm.

Demonstration of classification rule process on dataset 32 27-08-2024


13
labor.arff using random forest Algorithm.
Demonstration of classification rule process on dataset 35 03-09-2024
14
labor.arff using naïve bayes algorithm
Demonstration of clustering rule process on dataset iris.arff 38 10-09-2024
15
using simple k-means
Demonstration of clustering rule process on dataset 41 24-09-2024
16 supermarket.arff using simple k- means

6
XCA512– Lab course based on Advanced Java

Experiment No. 1

Program to insert and retrieve data from database through jdbc drivers
Program
SQL Script for inserting Data:
Create database jdbc;
Create TABLE `form` (
`PRN` varchar(12)NOTNULL,
`Name` varchar(20)NOTNULL,
`Phone` varchar(10)NOTNULL,
`Email` VARCHAR(256)NOTNULL, UNIQUE `PRN` (`PRN`));
insertinto form(PRN, Name , Phone,
Email)values('200105311004','Arvind','7045440507','[email protected]');
insertinto form(PRN, Name , Phone,
Email)values('200105311010','Harikrishna','8767859566','[email protected]
m'); insertinto form(PRN, Name , Phone,
Email)values('200105311012','Mohan','8625877312','[email protected]'); insertinto
form(PRN, Name , Phone,
Email)values('200105311013','Piyush','9145728659','[email protected]'); insertinto
form(PRN, Name , Phone,
Email)values('200105261002','Abhay','9921200036','[email protected]'); insertinto
form(PRN, Name , Phone,
Email)values('200105041004','Prathamesh','7769968763','[email protected]');
select*from form;

7
XCA512– Lab course based on Advanced Java

Java Program for connecting database:


import java.sql.*;

public class App {


publicstaticvoid main(String[] args)throws Exception {

String url ="jdbc:mysql://127.0.0.1:3306/jdbc";// table details String username ="root";//


MySQL credentials
String password ="Akumawat8437@";
String query="select * from form";// query to be run

Class.forName("com.mysql.cj.jdbc.Driver");// Driver name Connection con =


DriverManager.getConnection(
url, username, password); System.out.println("Connection Established successfully");
Statement st = con.createStatement();
ResultSet rs
= st.executeQuery(query);// Execute query

rs.next(); String name


= rs.getString("Name");// Retrieve name from db

System.out.println(name);// Print result on console st.close();// close statement


con.close();// close connection System.out.println("Connection Closed. ");
}
}

Output :

8
XCA512– Lab course based on Advanced Java

Experiment No :2

a)Write a program to display information about Database . (Use DatabaseMetaData).


import java.sql.*;
class prg2
{
public static void main(String args[])
{
Connection con=null;
DatabaseMetaData dmd=null;
ResultSet rs=null;
try
{
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/wb2","","kkw");
dmd=con.getMetaData();
rs=dmd.getTables(null,null,null,new String[] {"TABLE"});
System.out.println("The name of database product:"+dmd.getDatabaseProductName());
System.out.println("The version of database product:"+dmd.getDatabaseProductVersion());
System.out.println("The name of jdbc driver:"+dmd.getDriverName());
System.out.println("The version of jdbc driver :"+dmd.getDriverVersion());
System.out.println("The name of user:"+dmd.getUserName());
System.out.println("The list of the catelogs:"+dmd.getCatalogs());
System.out.println("The tables names are:");

while(rs.next())
System.out.println(rs.getString("TABLE_NAME"));
rs.close();
con.close();
}
catch(Exception e)
{
System.out.println("Error:"+e);
}
}
}

9
XCA512– Lab course based on Advanced Java

b)
Write a program to display information about all columns in the student table. (Use
ResultSetMetaData).

import java.util.*;
import java.sql.*;

import java.io.*;
class Result1{
public static void main(String args[]) throws IOException
{
try
{
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://192.168.0.202/ty017","ty017","");
ResultSetMetaData rsmd;
Statement stmt=con.createStatement();
ResultSet rs=null;
rs=stmt.executeQuery("select * from student");
rsmd=rs.getMetaData();
int noOfColumns=rsmd.getColumnCount();
System.out.println("Number of columns="+noOfColumns);
for(int i=1;i<=noOfColumns;i++)
{
System.out.println("Column No:"+i);
System.out.println("Column Name:"+rsmd.getColumnName(i));
System.out.println("Column Type:"+rsmd.getColumnTypeName(i));
System.out.println("Column display size:"+rsmd.getColumnDisplaySize(i));
}
con.close();
}
catch(Exception e)
{
System.out.println("Exception found"+e);
}
}
}

10
XCA512– Lab course based on Advanced Java
Output:
Number of columns=3
Column No:1
Column Name:roll_no
Column Type:INT
Column display size:11
Column No:2
Column Name:stud_name
Column Type:VARCHAR
Column display size:20
Column No:3
Column Name:per
Column Type:DOUBLE
Column display size:22

11
XCA512– Lab course based on Advanced Java

Experiment No. 3
Write Java Program using XML Document Object Model (DOM)

import javax.xml.parsers.*;
import org.w3c.dom.*;
import java.io.*;
public class JavaXmlDomReadEx {

public void readFile(){


try{
//create File Object for reading file
File xmlFile = new File("D:/users.xml");
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = factory.newDocumentBuilder();
Document doc = dBuilder.parse(xmlFile);
doc.getDocumentElement().normalize();
System.out.println("Root element: " + doc.getDocumentElement().getNodeName());
NodeList nList = doc.getElementsByTagName("user");
for (int i = 0; i < nList.getLength(); i++) {
Node nNode = nList.item(i);
System.out.println("\nCurrent Element: " + nNode.getNodeName());
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element elem = (Element) nNode;
String uid = elem.getAttribute("id");
Node node1 = elem.getElementsByTagName("firstname").item(0);
String fname = node1.getTextContent();
Node node2 = elem.getElementsByTagName("lastname").item(0);
String lname = node2.getTextContent();
Node node3 = elem.getElementsByTagName("occupation").item(0);
String occup = node3.getTextContent();
System.out.printf("User id: %s%n", uid);
System.out.printf("First name: %s%n", fname);
System.out.printf("Last name: %s%n", lname);
System.out.printf("Occupation: %s%n", occup);
}
}
}
catch(Exception e){
System.out.println(e.toString());
}
}
public static void main(String argv[]) {
JavaXmlDomReadEx dxd = new JavaXmlDomReadEx();
dxd.readFile();
}
}

12
XCA512– Lab course based on Advanced Java

Output:

13
XCA512– Lab course based on Advanced Java

Experiment No. 4
Write a servlet program to print servlet Server Information.

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class prg2 extends HttpServlet


{
public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException ,
IOException
{
PrintWriter out=res.getWriter();
out.println("<HTML><BODY>Servlet Server Information ");
out.println(" <br>Server Name: "+req.getServerName());
out.println(" <br>Server Port: "+req.getServerPort());
out.println(" <br>Server Path: "+req.getServletPath());
out.println(" <br>Client browser: "+req.getHeader("User-Agent"));
out.println(" <br>Client Referer: "+req.getHeader("Referer"));
out.println(" <br>Client IP: "+req.getRemoteAddr());
out.println(" <br>Server operating system version: "+System.getProperty("os.version"));
out.println("</BODY></HTML>");
out.close();
}
}
Output:

Address http://localhost:8080/sv/prg2

Servlet Server Information

Server Name: localhost


Server Port: 8080
Server Path: /prg2
Client browser: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Client Referer: null
Client IP: 127.0.0.1
Server operating system version: 5.1 */

14
XCA512– Lab course based on Advanced Java

Experiment No. 5
Write a servlet which counts how many times a user has visited a web page.

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HitCount extends HttpServlet


{
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException,IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
Cookie c[]=request.getCookies();
if(c==null)
{
Cookie cookie = new Cookie("count","1");
response.addCookie(cookie);
out.println("<h3>Welcome Servlet<h3>"+ "Hit Count:<b>1</b>");
}
else{
int val=Integer.parseInt(c[0].getValue())+1;
c[0].setValue(Integer.toString(val));
response.addCookie(c[0]);
out.println("Hit Count:<b>"+val+"</b>");

}
}
}

15
XCA512– Lab course based on Advanced Java

Experiment No. 6
Create a JSP page which accepts username in the textbox and greet the user
according to the time on server side.
/* prg2.html*/

<%@page contentType="text/html" pageEncoding="UTF-8"%>


<!DOCTYPE html>
<html>
<body>
<form action="prg2.jsp" method="post">
Enter Your Name : <input type="text" name="name"><br>

<input type="submit" value="Submit">


</form>
</body>
</html>

/*prg2.jsp*/

<%@page import="java.util.Calendar"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%String name = request.getParameter("name");
Calendar rightnow = Calendar.getInstance();
int time = rightnow.get(Calendar.HOUR_OF_DAY);

if(time > 0 && time <= 12)


{
out.println("Good Morning"+name);
}
else if(time < 12 && time >=16)
{
out.println("Good Afternoon"+name);
}
else
{
out.println("Good Night"+name);
}
%>

Output:
Good Morning ABC

16
XCA512– Lab course based on Advanced Java

Experiment No. 7
Write a program to make use of the JSP implicit objects.

<%@page import="java.util.Calendar"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%

Calendar c = Calendar.getInstance();

int dd = c.get(Calendar.DATE);
int h = c.get(Calendar.HOUR_OF_DAY);
int m = c.get(Calendar.MINUTE);
int s = c.get(Calendar.SECOND);

out.println("\nDate : "+dd+"\nTime : "+h+" : "+m+" : "+s);

String path = request.getContextPath();

out.println("\nPath : "+path);

Cookie cookie = new Cookie("p", path);


response.addCookie(cookie);
out.println("\nCookie Added");

out.println("\nConfig");
out.println("\n"+config.getServletName());
out.println("\nApplication : ");
out.println("\n"+application.getServerInfo());
%>

17
XCA512– Lab course based on Advanced Java

Experiment No. 8
Define a thread called “PrintTextThread” for printing text on command prompt.

import java.io.*;
import java.lang.String.*;

class Ass_seta3 extends Thread


{
String msg="";
int n;
Ass_seta3(String msg,int n)
{
this.msg=msg;
this.n=n;
}
public void run()
{
try
{ for(int i=1;i<=n;i++)
{
System.out.println(msg+" "+i+" times");
}
System.out.println("\n ");
}
catch(Exception e){}
}
}
class demo
{
public static void main(String a[])
{
Ass_seta3 t1=new Ass_seta3("I am in FY",5);
t1.start();
Ass_seta3 t2=new Ass_seta3("I am in SY",5);
t2.start();
Ass_seta3 t3=new Ass_seta3("I am in TY",5);
t3.start();
}
}

18
XCA512– Lab course based on Advanced Java

Output:
I am in FY
I am in FY
I am in FY
I am in FY
I am in FY
I am in SY
I am in SY
I am in SY
I am in SY
I am in SY
I am in TY
I am in TY
I am in TY
I am in TY
I am in TY
I am in TY
I am in TY
I am in TY
I am in TY

19
XCA512– Lab course based on Advanced Java

Experiment No. 9
Write a steps to install Weka Tool for Data Mining Practical.

Aim: This experiment illustrates how to install Weka software for preprocessing of arff format
data, classification of data using machine learning algorithms.

Step1: Loading the data. We can load the dataset into weka by clicking on open button in
preprocessing interface and selecting the appropriate file.

Step2: Once the data is loaded, weka will recognize the attributes and during the scan of the
data weka will compute some basic strategies on each attribute. The left panel in the above
figure shows the list of recognized attributes while the top panel indicates the names of the base
relation or table and the current working relation (which are same initially).

Step3:Clicking on an attribute in the left panel will show the basic statistics on the attributes
for the categorical attributes the frequency of each attribute value is shown, while for
continuous attributes we can obtain min, max, mean, standard deviation and deviation etc.,

Step4:The visualization in the right button panel in the form of cross-tabulation across two attributes.

Note: we can select another attribute using the dropdown list.

Step5:Selecting or filtering attributes

Removing an attribute-When we need to remove an attribute,we can do this by using the


attribute filters in weka.In the filter model panel,click on choose button,This will show a popup
window with a list of available filters.

Scroll down the list and select the “weka.filters.unsupervised.attribute.remove” filters.

Step 6:a)Next click the textbox immediately to the right of the choose button.In the resulting
dialog box enter the index of the attribute to be filtered out.

b) Make sure that invert selection option is set to false.The click OK now in the filter box.you
will see “Remove-R-7”.

c) Click the apply button to apply filter to this data.This will remove the attribute and create
new working relation.

d) Save the new working relation as an arff file by clicking save button on the
top(button)panel.(student.arff)

20
XCA512– Lab course based on Advanced Java

Discretization

1) Sometimes association rule mining can only be performed on categorical data.This requires
performing discretization on numeric or continuous attributes.In the following example let us
discretize age attribute.

Let us divide the values of age attribute into three bins(intervals).

First load the dataset into weka(student.arff)

Select the age attribute.

Activate filter-dialog box and select “WEKA.filters.unsupervised.attribute.discretize”from


the list.

To change the defaults for the filters,click on the box immediately to the right of the choose
button.

We enter the index for the attribute to be discretized.In this case the attribute is age.So we
must enter ‘1’ corresponding to the age attribute.

Enter ‘3’ as the number of bins.Leave the remaining field values as they are.

Click OK button.

Click apply in the filter panel.This will result in a new working relation with the selected
attribute partition into 3 bins.

Save the new working relation in a file called student-data-discretized.arff

Dataset student .arff


@relation student
@attribute age {<30,30-40,>40}
@attribute income {low, medium, high}
@attribute student {yes, no}
@attribute credit-rating {fair, excellent}
@attribute buyspc {yes, no}
@data
%
<30, high, no, fair, no
<30, high, no, excellent, no
30-40, high, no, fair, yes
>40, medium, no, fair, yes
>40, low, yes, fair, yes

21
XCA512– Lab course based on Advanced Java

>40, low, yes, excellent, no

30-40, low, yes, excellent, yes


<30, medium, no, fair, no
<30, low, yes, fair, no
>40, medium, yes, fair, yes
<30, medium, yes, excellent, yes
30-40, medium, no, excellent, yes
30-40, high, yes, fair, yes
>40, medium, no, excellent, no
%

The following screenshot shows the effect of discretization.

22
XCA512– Lab course based on Advanced Java

Experiment No. 10

Demonstrate to apply different kinds of preprocessing techniques on labor.arff


dataset

Aim: This experiment illustrates some of the basic data preprocessing operations that can be
performed using WEKA-Explorer. The sample dataset used for this example is the labor data
available in arff format.

Step1:Loading the data. We can load the dataset into weka by clicking on open button in
preprocessing interface and selecting the appropriate file.

Step2:Once the data is loaded, weka will recognize the attributes and during the scan of the
data weka will compute some basic strategies on each attribute. The left panel in the above
figure shows the list of recognized attributes while the top panel indicates the names of the base
relation or table and the current working relation (which are same initially).

Step3:Clicking on an attribute in the left panel will show the basic statistics on the attributes
for the categorical attributes the frequency of each attribute value is shown, while for
continuous attributes we can obtain min, max, mean, standard deviation and deviation etc.,

Step4:The visualization in the right button panel in the form of cross-tabulation across two attributes.

Note:we can select another attribute using the dropdown list.

Step5:Selecting or filtering attributes

Removing an attribute-When we need to remove an attribute,we can do this by using the


attribute filters in weka.In the filter model panel,click on choose button,This will show a popup
window with a list of available filters.

Scroll down the list and select the “weka.filters.unsupervised.attribute.remove” filters.

Step 6:a)Next click the textbox immediately to the right of the choose button.In the resulting
dialog box enter the index of the attribute to be filtered out.

b) Make sure that invert selection option is set to false.The click OK now in the filter box.you
will see “Remove-R-7”.

c) Click the apply button to apply filter to this data.This will remove the attribute and create
new working relation.

d) Save the new working relation as an arff file by clicking save button on the
top(button)panel.(labor.arff)

23
XCA512– Lab course based on Advanced Java

Discretization

1) Sometimes association rule mining can only be performed on categorical data.This requires
performing discretization on numeric or continuous attributes.In the following example let us
discretize duration attribute.

Let us divide the values of duration attribute into three bins(intervals).

First load the dataset into weka(labor.arff)

Select the duration attribute.

Activate filter-dialog box and select “WEKA.filters.unsupervised.attribute.discretize”from


the list.

To change the defaults for the filters,click on the box immediately to the right of the choose
button.

We enter the index for the attribute to be discretized.In this case the attribute is duration So
we must enter ‘1’ corresponding to the duration attribute.

Enter ‘1’ as the number of bins.Leave the remaining field values as they are.

Click OK button.

Click apply in the filter panel.This will result in a new working relation with the selected
attribute partition into 1 bin.

Save the new working relation in a file called labor-data-discretized.arff

Dataset labor.arff

24
XCA512– Lab course based on Advanced Java

The following screenshot shows the effect of discretization

25
XCA512– Lab course based on Advanced Java

Experiment No. 11

Demonstrate the Association rule process on dataset contactlenses.arff using


apriori algorithm.
Aim: This experiment illustrates some of the basic elements of asscociation rule mining using
WEKA. The sample dataset used for this example is contactlenses.arff

Step1: Open the data file in Weka Explorer. It is presumed that the required data fields have
been discretized. In this example it is age attribute.

Step2: Clicking on the associate tab will bring up the interface for association rule algorithm.

Step3: We will use apriori algorithm. This is the default algorithm.

Step4: Inorder to change the parameters for the run (example support, confidence etc) we click
on the text box immediately to the right of the choose button.

Dataset contactlenses.arff

26
XCA512– Lab course based on Advanced Java
The following screenshot shows the association rules that were generated when apriori
algorithm is applied on the given dataset.

27
XCA512– Lab course based on Advanced Java

28
XCA512– Lab course based on Advanced Java

Experiment No. 12

Demonstration of classification rule process on dataset student.arff using j48


algorithm
Aim: This experiment illustrates the use of j-48 classifier in weka. The sample data set used in
this experiment is “student” data available at arff format. This document assumes that
appropriate data pre processing has been performed.

Steps involved in this experiment:

Step-1: We begin the experiment by loading the data (student.arff)into weka.

Step2: Next we select the “classify” tab and click “choose” button t o select the “j48”classifier.

Step3: Now we specify the various parameters. These can be specified by clicking in the text
box to the right of the chose button. In this example, we accept the default values. The default
version does perform some pruning but does not perform error pruning.

Step4: Under the “text” options in the main panel. We select the 10-fold cross validation as our
evaluation approach. Since we don’t have separate evaluation data set, this is necessary to get
a reasonable idea of accuracy of generated model.

Step-5: We now click ”start” to generate the model .the Ascii version of the tree as well as
evaluation statistic will appear in the right panel when the model construction is complete.

Step-6: Note that the classification accuracy of model is about 69%.this indicates that we may
find more work. (Either in preprocessing or in selecting current parameters for the
classification)

Step-7: Now weka also lets us a view a graphical version of the classification tree. This can be
done by right clicking the last result set and selecting “visualize tree” from the pop-up menu.

Step-8: We will use our model to classify the new instances.

Step-9: In the main panel under “text” options click the “supplied test set” radio button and
then click the “set” button. This wills pop-up a window which will allow you to open the file
containing test instances.

29
Dataset student .arff XCA512– Lab course based on Advanced Java
@relation student
@attribute age {<30,30-40,>40}
@attribute income {low, medium, high}
@attribute student {yes, no}
@attribute credit-rating {fair, excellent}
@attribute buyspc {yes, no}
@data
%
<30, high, no, fair, no
<30, high, no, excellent, no
30-40, high, no, fair, yes
>40, medium, no, fair, yes
>40, low, yes, fair, yes
>40, low, yes, excellent, no
30-40, low, yes, excellent, yes
<30, medium, no, fair, no
<30, low, yes, fair, no
>40, medium, yes, fair, yes
<30, medium, yes, excellent, yes
30-40, medium, no, excellent, yes
30-40, high, yes, fair, yes
>40, medium, no, excellent, no
%
The following screenshot shows the classification rules that were generated when j48 algorithm
is applied on the given dataset.

30
XCA512– Lab course based on Advanced Java

31
XCA512– Lab course based on Advanced Java

Experiment No. 13

Demonstration of classification rule process on dataset employee.arff using


j48 algorithm
Aim: This experiment illustrates the use of j-48 classifier in weka.the sample data set used in
this experiment is “employee”data available at arff format. This document assumes that
appropriate data pre processing has been performed.

Steps involved in this experiment:

Step 1: We begin the experiment by loading the data (employee.arff) into weka.

Step2: Next we select the “classify” tab and click “choose” button to select the “j48”classifier.

Step3: Now we specify the various parameters. These can be specified by clicking in the text
box to the right of the chose button. In this example, we accept the default values the default
version does perform some pruning but does not perform error pruning.

Step4: Under the “text “options in the main panel. We select the 10-fold cross validation as our
evaluation approach. Since we don’t have separate evaluation data set, this is necessary to get
a reasonable idea of accuracy of generated model.

Step-5: We now click ”start” to generate the model .the ASCII version of the tree as well as
evaluation statistic will appear in the right panel when the model construction is complete.

Step-6: Note that the classification accuracy of model is about 69%.this indicates that we may
find more work. (Either in preprocessing or in selecting current parameters for the
classification)

Step-7: Now weka also lets us a view a graphical version of the classification tree. This can be
done by right clicking the last result set and selecting “visualize tree” from the pop-up menu.

Step-8: We will use our model to classify the new instances.

Step-9: In the main panel under “text “options click the “supplied test set” radio button and
then click the “set” button. This wills pop-up a window which will allow you to open the file
containing test instances.

32
XCA512– Lab course based on Advanced Java

Data set employee.arff:


@relation employee
@attribute age {25, 27, 28, 29, 30, 35, 48} @attribute
salary{10k,15k,17k,20k,25k,30k,35k,32k} @attribute
performance {good, avg, poor}
@data
%
25, 10k, poor
27, 15k, poor
27, 17k, poor
28, 17k, poor
29, 20k, avg
30, 25k, avg
29, 25k, avg
30, 20k, avg
35, 32k, good
48, 34k, good
48, 32k,good
%

The following screenshot shows the classification rules that were generated whenj48 algorithm
is applied on the given dataset.

33
XCA512– Lab course based on Advanced Java

34
XCA512– Lab course based on Advanced Java

Experiment No. 14

Demonstration of classification rule process on dataset employee.arff using naïve


bayes algorithm
Aim: This experiment illustrates the use of naïve bayes classifier in weka. The sample data set
used in this experiment is “employee”data available at arff format. This document assumes
that appropriate data pre processing has been performed.

Steps involved in this experiment:

1. We begin the experiment by loading the data (employee.arff) into weka.

Step2: next we select the “classify” tab and click “choose” button to select the “id3”classifier.

Step3: now we specify the various parameters. These can be specified by clicking in the text
box to the right of the chose button. In this example, we accept the default values his default
version does perform some pruning but does not perform error pruning.

Step4: under the “text “options in the main panel. We select the 10-fold cross validation as our
evaluation approach. Since we don’t have separate evaluation data set, this is necessary to get
a reasonable idea of accuracy of generated model.

Step-5: we now click”start”to generate the model .the ASCII version of the tree as well as
evaluation statistic will appear in the right panel when the model construction is complete.

Step-6: note that the classification accuracy of model is about 69%.this indicates that we may
find more work. (Either in preprocessing or in selecting current parameters for the
classification)

Step-7: now weka also lets us a view a graphical version of the classification tree. This can be
done by right clicking the last result set and selecting “visualize tree” from the pop-up menu.

Step-8: we will use our model to classify the new instances.

Step-9: In the main panel under “text “options click the “supplied test set” radio button and
then click the “set” button. This will show pop-up window which will allow you to open the
file containing test instances.

35
XCA512– Lab course based on Advanced Java

Data set employee.arff:


@relation employee
@attribute age {25, 27, 28, 29, 30, 35, 48} @attribute
salary{10k,15k,17k,20k,25k,30k,35k,32k} @attribute
performance {good, avg, poor}
@data
%
25, 10k, poor
27, 15k, poor
27, 17k, poor
28, 17k, poor
29, 20k, avg
30, 25k, avg
29, 25k, avg
30, 20k, avg
35, 32k, good
48, 34k, good
48, 32k, good
%

The following screenshot shows the classification rules that were generated when naive bayes
algorithm is applied on the given dataset.

36
XCA512– Lab course based on Advanced Java

37
XCA512– Lab course based on Advanced Java

Experiment No. 15

Demonstration of clustering rule process on dataset iris.arff using simple k-means


Aim: This experiment illustrates the use of simple k-mean clustering with Weka explorer. The
sample data set used for this example is based on the iris data available in ARFF format. This
document assumes that appropriate preprocessing has been performed. This iris dataset
includes 150 instances.

Steps involved in this Experiment

Step 1: Run the Weka explorer and load the data file iris.arff in preprocessing interface.

Step 2: Inorder to perform clustering select the ‘cluster’ tab in the explorer and click on the
choose button. This step results in a dropdown list of available clustering algorithms.

Step 3 : In this case we select ‘simple k-means’.

Step 4: Next click in text button to the right of the choose button to get popup window shown
in the screenshots. In this window we enter six on the number of clusters and we leave the value
of the seed on as it is. The seed value is used in generating a random number which is used for
making the internal assignments of instances of clusters.

Step 5 : Once of the option have been specified. We run the clustering algorithm there we must
make sure that they are in the ‘cluster mode’ panel. The use of training set option is selected
and then we click ‘start’ button. This process and resulting window are shown in the following
screenshots.

Step 6 : The result window shows the centroid of each cluster as well as statistics on the number
and the percent of instances assigned to different clusters. Here clusters centroid are means
vectors for each clusters. This clusters can be used to characterized the cluster.For eg, the
centroid of cluster1 shows the class iris.versicolor mean value of the sepal length is 5.4706,
sepal width 2.4765, petal width 1.1294, petal length 3.7941.

Step 7: Another way of understanding characterstics of each cluster through visualization ,we
can do this, try right clicking the result set on the result. List panel and selecting the visualize
cluster assignments.

38
XCA512– Lab course based on Advanced Java

The following screenshot shows the clustering rules that were generated when simple k means
algorithm is applied on the given dataset.

39
XCA512– Lab course based on Advanced Java

Interpretation of the above visualization

From the above visualization, we can understand the distribution of sepal length and petal
length in each cluster. For instance, for each cluster is dominated by petal length. In this case
by changing the color dimension to other attributes we can see their distribution with in each
of the cluster.

Step 8: We can assure that resulting dataset which included each instance along with its assign
cluster. To do so we click the save button in the visualization window and save the result iris
k-mean .The top portion of this file is shown in the following figure.

40
XCA512– Lab course based on Advanced Java

Experiment No. 16

Demonstration of clustering rule process on dataset student.arff using simple


k- means
Aim: This experiment illustrates the use of simple k-mean clustering with Weka explorer. The
sample data set used for this example is based on the student data available in ARFF format.
This document assumes that appropriate preprocessing has been performed. This istudent
dataset includes 14 instances.

Steps involved in this Experiment

Step 1: Run the Weka explorer and load the data file student.arff in preprocessing interface.

Step 2: Inorder to perform clustering select the ‘cluster’ tab in the explorer and click on the
choose button. This step results in a dropdown list of available clustering algorithms.

Step 3 : In this case we select ‘simple k-means’.

Step 4: Next click in text button to the right of the choose button to get popup window shown
in the screenshots. In this window we enter six on the number of clusters and we leave the value
of the seed on as it is. The seed value is used in generating a random number which is used for
making the internal assignments of instances of clusters.

Step 5 : Once of the option have been specified. We run the clustering algorithm there we must
make sure that they are in the ‘cluster mode’ panel. The use of training set option is selected
and then we click ‘start’ button. This process and resulting window are shown in the following
screenshots.

Step 6 : The result window shows the centroid of each cluster as well as statistics on the number
and the percent of instances assigned to different clusters. Here clusters centroid are means
vectors for each clusters. This clusters can be used to characterized the cluster.

Step 7: Another way of understanding characterstics of each cluster through visualization


,we can do this, try right clicking the result set on the result. List panel and selecting the
visualize cluster assignments.

Interpretation of the above visualization

From the above visualization, we can understand the distribution of age and instance number
in each cluster. For instance, for each cluster is dominated by age. In this case by changing the
color dimension to other attributes we can see their distribution with in each of the cluster.

Step 8: We can assure that resulting dataset which included each instance along with its assign
cluster. To do so we click the save button in the visualization window and save the result student
k-mean .The top portion of this file is shown in the following figure.

41
XCA512– Lab course based on Advanced Java

Dataset student .arff


@relation student
@attribute age {<30,30-40,>40}
@attribute income {low,medium,high}
@attribute student {yes,no}
@attribute credit-rating {fair,excellent}
@attribute buyspc {yes,no}
@data
%
<30, high, no, fair, no
<30, high, no, excellent, no
30-40, high, no, fair, yes
>40, medium, no, fair, yes
>40, low, yes, fair, yes
>40, low, yes, excellent, no
30-40, low, yes, excellent, yes
<30, medium, no, fair, no
<30, low, yes, fair, no
>40, medium, yes, fair, yes
<30, medium, yes, excellent, yes
30-40, medium, no, excellent, yes
30-40, high, yes, fair, yes
>40, medium, no, excellent, no
%

The following screenshot shows the clustering rules that were generated when simple k- means
algorithm is applied on the given dataset.

42
XCA512– Lab course based on Advanced Java

43

You might also like