You are on page 1of 83

CODING

Yield _Predictor.java

import java.awt.BorderLayout;

import java.awt.EventQueue;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.border.EmptyBorder;

import weka.classifiers.Evaluation;

import weka.classifiers.trees.J48;

import weka.core.Instances;

Import Java. swing. JLabel;

import javax.swing.JTextField;

import java.awt.Font;

import javax.swing.JButton;

import javax.swing.SwingConstants;

import java.awt.Color;

import java.awt.event.ActionListener;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.FileWriter;
import java.io.IOException;

import java.awt.event.ActionEvent;

import weka.classifiers.Evaluation;

import weka.classifiers.bayes.NaiveBayes;

import weka.classifiers.trees.J48;

import weka.core.Attribute;

import weka.core.DenseInstance;

import weka.core.FastVector;

import weka.core.Instance;

import weka.core.Instances;

import weka.core.converters.ArffLoader.ArffReader;

import javax.swing.JTextArea;

import javax.swing.JTabbedPane;

import javax.swing.event.ChangeListener;

import javax.swing.event.ChangeEvent;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;
public class Yeild_Predictor extends JFrame

private JPanel contentPane;

private JTextField textField;

private JTextField textField_1;

private JTextField textField_2;

private JTextField textField_3;

private JTextField textField_4;

private JTextField textField_5;

private JTextField textField_6;

private JTextField textField_7;

private JTextField textField_8;

private JTextField textField_9;

private JTextField textField_10;

private JTextField textField_11;

private JTextField textField_12;

private JTextField textField_13;

private JTextField textField_14;

private JTextField textField_15;

private JTextField textField_16;

private JTextField textField_17;

private JTextField textField_18;


private JTextField textField_19;

private JTextField textField_20;

private JTextField textField_21;

private JTextField textField_22;

private JTextField textField_23;

private JTextField textField_24;

private JTextField textField_25;

private JTextField textField_26;

private JTextField textField_27;

private JTextField textField_28;

private JTextField textField_29;

private JTextField textField_30;

private JTextField textField_31;

private JTextField textField_32;

private JTextField textField_33;

private JTextField textField_34;

private JTextField textField_35;

private JTextField textField_36;

private JTextField textField_37;

private JTextField textField_38;

private JTextField textField_39;

private JTextField textField_40;

private JTextField textField_41;


private JTextField textField_42;

private JTextField textField_43;

private JTextField textField_44;

private JTextField textField_45;

private JTextField textField_46;

private JTextField textField_47;

private JTextField textField_48;

private JTextField textField_49;

private JTextField textField_50;

private JTextField textField_51;

private JTextField textField_52;

private JTextField textField_53;

private JLabel lblNewLabel_22, lblNewLabel_23, lblNewLabel_25,


lblNewLabel_27, lblNewLabel_29, lblNewLabel_30 ;

static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";

static final String DB_URL = "jdbc:mysql://localhost:3306/crop_data";

static final String USER = "root";

static final String PASS = "root";

/**

* Launch the application.

*/
public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

public void run() {

try {

Yeild_Predictor frame = new Yeild_Predictor();

frame.setVisible(true);

} catch (Exception e) {

e.printStackTrace();

});

/**

* Create the frame.

*/

public Yeild_Predictor() {

setTitle("Crop Yeild Predictor");

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setBounds(100, 100, 770, 650);

contentPane = new JPanel();

contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));


contentPane.setLayout(new BorderLayout(0, 0));

setContentPane(contentPane);

JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);

tabbedPane.addChangeListener(new ChangeListener() {

public void stateChanged(ChangeEvent arg0) {

if(tabbedPane.getSelectedIndex()==1)

String crop_name=lblNewLabel_22.getText();

if(!crop_name.isEmpty())

Connection conn = null;

Statement stmt = null;

int count=0;

try{

//STEP 2: Register JDBC driver

Class.forName("com.mysql.jdbc.Driver");

//STEP 3: Open a connection

System.out.println("Connecting to a selected database...");

conn = DriverManager.getConnection(DB_URL, USER, PASS);

System.out.println("Connected database successfully...");


//STEP 4: Execute a query

System.out.println("Creating statement...");

stmt = conn.createStatement();

String sql = "SELECT * FROM data where cname='"+crop_name+"'";

ResultSet rs = stmt.executeQuery(sql);

//STEP 5: Extract data from result set

while(rs.next())

//Retrieve by column name

textField_19.setText(rs.getString(3));

textField_21.setText(rs.getString(4));

textField_23.setText(rs.getString(5));

textField_25.setText(rs.getString(6));

textField_27.setText(rs.getString(7));

textField_35.setText(rs.getString(8));

textField_37.setText(rs.getString(9));

textField_39.setText(rs.getString(10));

textField_41.setText(rs.getString(11));

textField_29.setText(rs.getString(12));

textField_31.setText(rs.getString(13));

textField_33.setText(rs.getString(14));

textField_43.setText(rs.getString(15));

textField_45.setText(rs.getString(16));
textField_47.setText(rs.getString(17));

textField_49.setText(rs.getString(18));

textField_51.setText(rs.getString(19));

textField_53.setText(rs.getString(20));

if(Integer.parseInt(textField_26.getText()) > Integer.parseInt(rs.getString(7)))

int value=Integer.parseInt(textField_26.getText())-
Integer.parseInt(rs.getString(7));

String str="Anuual Rainfall


"+String.valueOf(value)+" mm increased";

lblNewLabel_23.setText(str);

else

int
value=Integer.parseInt(rs.getString(7))-Integer.parseInt(textField_26.getText());

String str="Anuual Rainfall


"+String.valueOf(value)+" mm decreased";

lblNewLabel_23.setText(str);

if(Integer.parseInt(textField_18.getText()) > Integer.parseInt(rs.getString(3)))

{
int
value=Integer.parseInt(textField_18.getText())-Integer.parseInt(rs.getString(3));

String str="Temperature for the


crop "+String.valueOf(value)+" celcius increased";

lblNewLabel_25.setText(str);

else

int
value=Integer.parseInt(rs.getString(3))-Integer.parseInt(textField_18.getText());

String str="Temperature for the


crop "+String.valueOf(value)+" celcius decreased";

lblNewLabel_25.setText(str);

if(Integer.parseInt(textField_34.getText()) > Integer.parseInt(rs.getString(8)))

int
value=Integer.parseInt(textField_34.getText())-Integer.parseInt(rs.getString(8));

String str="Water level required


for the crop "+String.valueOf(value)+" mm increased";

lblNewLabel_27.setText(str);

else

{
int
value=Integer.parseInt(rs.getString(8))-Integer.parseInt(textField_34.getText());

String str="Water level required


for the crop "+String.valueOf(value)+" mm decreased";

lblNewLabel_27.setText(str);

int
total_y=(Integer.parseInt(textField_26.getText())*Integer.parseInt(rs.getString(
20)))/Integer.parseInt(textField_27.getText());

lblNewLabel_29.setText(String.valueOf(total_y)+" kg/Acre");

if(Integer.parseInt(textField_52.getText()) > total_y)

int total=
Integer.parseInt(textField_52.getText())-total_y;

lblNewLabel_30.setText("Which
is "+String.valueOf(total)+" kg/Acre will decrease What you expect");

else

int total= total_y-


Integer.parseInt(textField_52.getText());

lblNewLabel_30.setText("Which
is "+String.valueOf(total)+" kg/Acre will increase What you expect");

}
}

rs.close();

}catch(SQLException se){

//Handle errors for JDBC

se.printStackTrace();

}catch(Exception e){

//Handle errors for Class.forName

e.printStackTrace();

}finally{

//finally block used to close resources

try{

if(stmt!=null)

conn.close();

}catch(SQLException se){

}// do nothing

try{

if(conn!=null)

conn.close();

}catch(SQLException se){
se.printStackTrace();

}//end finally try

}//end try

System.out.println("Goodbye!");

});

contentPane.add(tabbedPane, BorderLayout.CENTER);

//tabbedPane.setEnabledAt(0,false);

JPanel panel = new JPanel();

panel.setBackground(Color.LIGHT_GRAY);

tabbedPane.addTab("Predictor Form", null, panel, null);

panel.setLayout(null);

JLabel lblCropsEnvironmentalParameters = new JLabel("Crops


Environmental Parameters :-");

lblCropsEnvironmentalParameters.setForeground(Color.MAGENTA);

lblCropsEnvironmentalParameters.setFont(new Font("Times New


Roman", Font.BOLD | Font.ITALIC, 14));

lblCropsEnvironmentalParameters.setBounds(10, 11, 311, 14);

panel.add(lblCropsEnvironmentalParameters);
JLabel lblNewLabel = new JLabel("PH Value");

lblNewLabel.setFont(new Font("Times New Roman",


Font.ITALIC, 13));

lblNewLabel.setForeground(Color.BLUE);

lblNewLabel.setBounds(10, 387, 144, 14);

panel.add(lblNewLabel);

textField = new JTextField();

textField.setBounds(161, 45, 86, 20);

panel.add(textField);

textField.setColumns(10);

JLabel lblNewLabel_1 = new JLabel("Salinity of Water (ppt)\r\n");

lblNewLabel_1.setFont(new Font("Times New Roman",


Font.ITALIC, 13));

lblNewLabel_1.setForeground(Color.BLUE);

lblNewLabel_1.setBounds(10, 309, 144, 14);

panel.add(lblNewLabel_1);

JLabel lblNewLabel_2 = new JLabel("Acidity of Water (ppt)\r\n");

lblNewLabel_2.setFont(new Font("Times New Roman",


Font.ITALIC, 13));

lblNewLabel_2.setForeground(Color.BLUE);

lblNewLabel_2.setBounds(10, 346, 144, 14);


panel.add(lblNewLabel_2);

JLabel lblWaterLevel = new JLabel("Water Level (mm)");

lblWaterLevel.setFont(new Font("Times New Roman",


Font.ITALIC, 13));

lblWaterLevel.setForeground(Color.BLUE);

lblWaterLevel.setBounds(10, 275, 144, 14);

panel.add(lblWaterLevel);

JLabel lblNewLabel_3 = new JLabel("Nitrogen (mg)\r\n");

lblNewLabel_3.setFont(new Font("Times New Roman",


Font.ITALIC, 13));

lblNewLabel_3.setForeground(Color.BLUE);

lblNewLabel_3.setBounds(389, 275, 94, 14);

panel.add(lblNewLabel_3);

JLabel lblPhospateValue = new JLabel("Phospate (mg)");

lblPhospateValue.setFont(new Font("Times New Roman",


Font.ITALIC, 13));

lblPhospateValue.setForeground(Color.BLUE);

lblPhospateValue.setBounds(389, 346, 94, 14);

panel.add(lblPhospateValue);

JLabel lblPotassiumValue = new JLabel("Potassium (mg)");


lblPotassiumValue.setFont(new Font("Times New Roman",
Font.ITALIC, 13));

lblPotassiumValue.setForeground(Color.BLUE);

lblPotassiumValue.setBounds(389, 309, 86, 14);

panel.add(lblPotassiumValue);

JLabel lblDepthOfLand = new JLabel("Depth of Land (mm)");

lblDepthOfLand.setFont(new Font("Times New Roman",


Font.ITALIC, 13));

lblDepthOfLand.setForeground(Color.BLUE);

lblDepthOfLand.setBounds(389, 238, 119, 14);

panel.add(lblDepthOfLand);

JLabel lblTemperature = new JLabel("Temperature ( Celcius )");

lblTemperature.setFont(new Font("Times New Roman",


Font.ITALIC, 13));

lblTemperature.setForeground(Color.BLUE);

lblTemperature.setBounds(10, 48, 133, 14);

panel.add(lblTemperature);

JLabel lblHumidity = new JLabel("Humidity (grams/cubic m)");

lblHumidity.setFont(new Font("Times New Roman",


Font.ITALIC, 13));

lblHumidity.setForeground(Color.BLUE);
lblHumidity.setBounds(10, 86, 169, 14);

panel.add(lblHumidity);

JLabel lblOxygen = new JLabel("Oxygen (%)");

lblOxygen.setFont(new Font("Times New Roman", Font.ITALIC,


13));

lblOxygen.setForeground(Color.BLUE);

lblOxygen.setBounds(10, 163, 119, 14);

panel.add(lblOxygen);

JLabel lblSunlight = new JLabel("Sunlight (watts per Sqm)");

lblSunlight.setFont(new Font("Times New Roman", Font.ITALIC,


13));

lblSunlight.setForeground(Color.BLUE);

lblSunlight.setBounds(10, 122, 144, 14);

panel.add(lblSunlight);

JLabel lblIron = new JLabel("Iron (mg)");

lblIron.setFont(new Font("Times New Roman", Font.ITALIC,


13));

lblIron.setForeground(Color.BLUE);

lblIron.setBounds(427, 48, 86, 14);

panel.add(lblIron);
JLabel lblZinc = new JLabel("Zinc (mg)");

lblZinc.setFont(new Font("Times New Roman", Font.ITALIC,


13));

lblZinc.setForeground(Color.BLUE);

lblZinc.setBounds(427, 86, 77, 14);

panel.add(lblZinc);

JLabel lblManganse = new JLabel("Manganse (mg)");

lblManganse.setFont(new Font("Times New Roman",


Font.ITALIC, 13));

lblManganse.setForeground(Color.BLUE);

lblManganse.setBounds(427, 122, 86, 14);

panel.add(lblManganse);

JLabel lblRainfall = new JLabel("Rainfall (mm)");

lblRainfall.setFont(new Font("Times New Roman", Font.ITALIC,


13));

lblRainfall.setForeground(Color.BLUE);

lblRainfall.setBounds(10, 195, 133, 14);

panel.add(lblRainfall);

JLabel lblSoilType = new JLabel("Soil Type");

lblSoilType.setForeground(Color.BLUE);
lblSoilType.setFont(new Font("Times New Roman", Font.ITALIC,
12));

lblSoilType.setBounds(389, 195, 46, 14);

panel.add(lblSoilType);

JLabel lblYeild = new JLabel("Expected Yeild (kg/acre)");

lblYeild.setFont(new Font("Times New Roman", Font.ITALIC,


13));

lblYeild.setForeground(Color.BLUE);

lblYeild.setBounds(386, 387, 169, 14);

panel.add(lblYeild);

JLabel lblCropsWaterParameters = new JLabel("Crops Water


Parameters");

lblCropsWaterParameters.setForeground(Color.MAGENTA);

lblCropsWaterParameters.setFont(new Font("Times New Roman",


Font.BOLD | Font.ITALIC, 14));

lblCropsWaterParameters.setBounds(10, 237, 237, 14);

panel.add(lblCropsWaterParameters);

JLabel lblCropsMineralsParameters = new JLabel("Crops Minerals


Parameters");

lblCropsMineralsParameters.setForeground(Color.MAGENTA);

lblCropsMineralsParameters.setFont(new Font("Times New


Roman", Font.BOLD | Font.ITALIC, 14));
lblCropsMineralsParameters.setBounds(379, 11, 159, 14);

panel.add(lblCropsMineralsParameters);

JLabel lblCropsSoilParameters = new JLabel("Crops Soil


Parameters");

lblCropsSoilParameters.setForeground(Color.MAGENTA);

lblCropsSoilParameters.setFont(new Font("Times New Roman",


Font.BOLD | Font.ITALIC, 14));

lblCropsSoilParameters.setBounds(379, 162, 217, 14);

panel.add(lblCropsSoilParameters);

textField_1 = new JTextField();

textField_1.setBounds(161, 83, 86, 20);

panel.add(textField_1);

textField_1.setColumns(10);

textField_2 = new JTextField();

textField_2.setBounds(161, 119, 86, 20);

panel.add(textField_2);

textField_2.setColumns(10);

textField_3 = new JTextField();

textField_3.setBounds(161, 160, 86, 20);

panel.add(textField_3);
textField_3.setColumns(10);

textField_4 = new JTextField();

textField_4.setBounds(161, 192, 86, 20);

panel.add(textField_4);

textField_4.setColumns(10);

textField_5 = new JTextField();

textField_5.setBounds(161, 272, 86, 20);

panel.add(textField_5);

textField_5.setColumns(10);

textField_6 = new JTextField();

textField_6.setBounds(161, 306, 86, 20);

panel.add(textField_6);

textField_6.setColumns(10);

textField_7 = new JTextField();

textField_7.setBounds(161, 343, 86, 20);

panel.add(textField_7);

textField_7.setColumns(10);

textField_8 = new JTextField();


textField_8.setBounds(161, 384, 86, 20);

panel.add(textField_8);

textField_8.setColumns(10);

textField_9 = new JTextField();

textField_9.setBounds(543, 45, 86, 20);

panel.add(textField_9);

textField_9.setColumns(10);

textField_10 = new JTextField();

textField_10.setBounds(543, 83, 86, 20);

panel.add(textField_10);

textField_10.setColumns(10);

textField_11 = new JTextField();

textField_11.setBounds(543, 119, 86, 20);

panel.add(textField_11);

textField_11.setColumns(10);

textField_12 = new JTextField();

textField_12.setBounds(543, 192, 86, 20);

panel.add(textField_12);

textField_12.setColumns(10);
textField_13 = new JTextField();

textField_13.setBounds(543, 234, 86, 20);

panel.add(textField_13);

textField_13.setColumns(10);

textField_14 = new JTextField();

textField_14.setBounds(543, 272, 86, 20);

panel.add(textField_14);

textField_14.setColumns(10);

textField_15 = new JTextField();

textField_15.setBounds(543, 306, 86, 20);

panel.add(textField_15);

textField_15.setColumns(10);

textField_16 = new JTextField();

textField_16.setBounds(543, 343, 86, 20);

panel.add(textField_16);

textField_16.setColumns(10);

textField_17 = new JTextField();

textField_17.setBounds(543, 384, 86, 20);


panel.add(textField_17);

textField_17.setColumns(10);

JLabel lblNewLabel_4 = new JLabel("Range : 25 - 45");

lblNewLabel_4.setBounds(259, 48, 86, 14);

panel.add(lblNewLabel_4);

JLabel lblNewLabel_5 = new JLabel("Range : 20 - 60");

lblNewLabel_5.setBounds(259, 86, 86, 14);

panel.add(lblNewLabel_5);

JLabel lblNewLabel_6 = new JLabel("Range : 100 - 300");

lblNewLabel_6.setBounds(259, 122, 110, 14);

panel.add(lblNewLabel_6);

JLabel lblNewLabel_7 = new JLabel("Range : 10 - 30");

lblNewLabel_7.setBounds(260, 163, 85, 14);

panel.add(lblNewLabel_7);

JLabel lblNewLabel_8 = new JLabel("Range : 100 - 1500");

lblNewLabel_8.setBounds(259, 195, 104, 14);

panel.add(lblNewLabel_8);
JLabel lblNewLabel_9 = new JLabel("Range : 10 - 100");

lblNewLabel_9.setBounds(259, 275, 95, 14);

panel.add(lblNewLabel_9);

JLabel lblNewLabel_10 = new JLabel("Range : 0.2 - 0.8");

lblNewLabel_10.setBounds(259, 309, 95, 14);

panel.add(lblNewLabel_10);

JLabel lblNewLabel_11 = new JLabel("Range : 1 - 4");

lblNewLabel_11.setBounds(259, 346, 86, 14);

panel.add(lblNewLabel_11);

JLabel lblNewLabel_12 = new JLabel("Range : 6 - 8");

lblNewLabel_12.setBounds(259, 387, 86, 14);

panel.add(lblNewLabel_12);

JLabel lblNewLabel_13 = new JLabel("Range : 4 - 5");

lblNewLabel_13.setBounds(639, 48, 75, 14);

panel.add(lblNewLabel_13);

JLabel lblNewLabel_14 = new JLabel("Range : 0- 2");

lblNewLabel_14.setBounds(639, 86, 75, 14);

panel.add(lblNewLabel_14);
JLabel lblNewLabel_15 = new JLabel("Range : 0 - 4");

lblNewLabel_15.setBounds(639, 122, 75, 14);

panel.add(lblNewLabel_15);

JLabel lblNewLabel_16 = new JLabel("Range : 1 - 3");

lblNewLabel_16.setBounds(639, 195, 85, 14);

panel.add(lblNewLabel_16);

JLabel lblNewLabel_17 = new JLabel("Range : 10 - 30");

lblNewLabel_17.setBounds(639, 237, 85, 14);

panel.add(lblNewLabel_17);

JLabel lblNewLabel_18 = new JLabel("Range : 20 - 70");

lblNewLabel_18.setBounds(639, 275, 85, 14);

panel.add(lblNewLabel_18);

JLabel lblNewLabel_19 = new JLabel("Range : 0 - 200");

lblNewLabel_19.setBounds(639, 309, 85, 14);

panel.add(lblNewLabel_19);

JLabel lblNewLabel_20 = new JLabel("Range : 20 - 300");

lblNewLabel_20.setBounds(639, 346, 95, 14);


panel.add(lblNewLabel_20);

JLabel lblNewLabel_21 = new JLabel("Range : 0 - 60");

lblNewLabel_21.setBounds(639, 387, 85, 14);

panel.add(lblNewLabel_21);

JPanel panel_1 = new JPanel();

panel_1.setBounds(212, 422, 305, 141);

panel.add(panel_1);

panel_1.setLayout(null);

JLabel lblConfusionMatrix = new JLabel("Confusion Matrix");

lblConfusionMatrix.setFont(new Font("Times New Roman",


Font.BOLD | Font.ITALIC, 12));

lblConfusionMatrix.setBounds(10, 11, 91, 14);

panel_1.add(lblConfusionMatrix);

JTextArea textArea = new JTextArea();

textArea.setBounds(10, 30, 285, 96);

panel_1.add(textArea);
JPanel panel_2 = new JPanel();

panel_2.setBackground(Color.WHITE);

panel_2.setBounds(527, 422, 202, 141);

panel.add(panel_2);

panel_2.setLayout(null);

JLabel lblPredictedCrop = new JLabel("Predicted Crop");

lblPredictedCrop.setFont(new Font("Times New Roman",


Font.BOLD | Font.ITALIC, 12));

lblPredictedCrop.setBounds(10, 11, 108, 14);

panel_2.add(lblPredictedCrop);

lblNewLabel_22 = new JLabel("");

lblNewLabel_22.setForeground(Color.CYAN);

lblNewLabel_22.setFont(new Font("Times New Roman",


Font.PLAIN, 18));

lblNewLabel_22.setHorizontalAlignment(SwingConstants.CENTER);

lblNewLabel_22.setBounds(54, 54, 108, 44);

panel_2.add(lblNewLabel_22);

JPanel panel_3 = new JPanel();

panel_3.setBounds(10, 422, 192, 141);


panel.add(panel_3);

panel_3.setLayout(null);

JButton btnNewButton = new JButton("Predict Crop\r\n");

btnNewButton.setBounds(25, 46, 140, 58);

panel_3.add(btnNewButton);

JLabel lblPredictResult = new JLabel("Predict Result");

lblPredictResult.setBounds(10, 11, 100, 14);

panel_3.add(lblPredictResult);

lblPredictResult.setFont(new Font("Times New Roman",


Font.BOLD | Font.ITALIC, 12));

JPanel panel_4 = new JPanel();

tabbedPane.addTab("Analysis", null, panel_4, null);

panel_4.setLayout(null);

JLabel lblCropsEnvironmentalParameters_1 = new JLabel("Crops


Environmental Parameters");

lblCropsEnvironmentalParameters_1.setForeground(Color.MAGENTA);

lblCropsEnvironmentalParameters_1.setFont(new Font("Times
New Roman", Font.BOLD | Font.ITALIC, 14));
lblCropsEnvironmentalParameters_1.setBounds(10, 11, 217, 14);

panel_4.add(lblCropsEnvironmentalParameters_1);

JLabel label_3 = new JLabel("Temperature ( Celcius )");

label_3.setForeground(Color.BLUE);

label_3.setFont(new Font("Times New Roman", Font.ITALIC,


13));

label_3.setBounds(10, 36, 133, 14);

panel_4.add(label_3);

JLabel label_4 = new JLabel("Humidity (grams/cubic m)");

label_4.setForeground(Color.BLUE);

label_4.setFont(new Font("Times New Roman", Font.ITALIC,


13));

label_4.setBounds(10, 147, 169, 14);

panel_4.add(label_4);

JLabel label_5 = new JLabel("Sunlight (watts per Sqm)");

label_5.setForeground(Color.BLUE);

label_5.setFont(new Font("Times New Roman", Font.ITALIC,


13));

label_5.setBounds(10, 251, 144, 14);

panel_4.add(label_5);
JLabel label_6 = new JLabel("Oxygen (%)");

label_6.setForeground(Color.BLUE);

label_6.setFont(new Font("Times New Roman", Font.ITALIC,


13));

label_6.setBounds(10, 349, 119, 14);

panel_4.add(label_6);

JLabel label_7 = new JLabel("Rainfall (mm)");

label_7.setForeground(Color.BLUE);

label_7.setFont(new Font("Times New Roman", Font.ITALIC,


13));

label_7.setBounds(10, 453, 133, 14);

panel_4.add(label_7);

JLabel label_8 = new JLabel("Water Level (mm)");

label_8.setForeground(Color.BLUE);

label_8.setFont(new Font("Times New Roman", Font.ITALIC,


13));

label_8.setBounds(265, 349, 144, 14);

panel_4.add(label_8);

JLabel label_9 = new JLabel("Salinity of Water (ppt)\r\n");

label_9.setForeground(Color.BLUE);
label_9.setFont(new Font("Times New Roman", Font.ITALIC,
13));

label_9.setBounds(265, 453, 144, 14);

panel_4.add(label_9);

JLabel label_10 = new JLabel("Acidity of Water (ppt)\r\n");

label_10.setForeground(Color.BLUE);

label_10.setFont(new Font("Times New Roman", Font.ITALIC,


13));

label_10.setBounds(519, 36, 144, 14);

panel_4.add(label_10);

JLabel label_11 = new JLabel("PH Value");

label_11.setForeground(Color.BLUE);

label_11.setFont(new Font("Times New Roman", Font.ITALIC,


13));

label_11.setBounds(519, 147, 144, 14);

panel_4.add(label_11);

JLabel label_15 = new JLabel("Nitrogen (mg)\r\n");

label_15.setForeground(Color.BLUE);

label_15.setFont(new Font("Times New Roman", Font.ITALIC,


13));

label_15.setBounds(519, 453, 94, 14);


panel_4.add(label_15);

JLabel label_16 = new JLabel("Depth of Land (mm)");

label_16.setForeground(Color.BLUE);

label_16.setFont(new Font("Times New Roman", Font.ITALIC,


13));

label_16.setBounds(519, 349, 119, 14);

panel_4.add(label_16);

JLabel label_17 = new JLabel("Soil Type");

label_17.setForeground(Color.BLUE);

label_17.setFont(new Font("Times New Roman", Font.ITALIC,


12));

label_17.setBounds(519, 251, 46, 14);

panel_4.add(label_17);

JLabel label_18 = new JLabel("Manganse (mg)");

label_18.setForeground(Color.BLUE);

label_18.setFont(new Font("Times New Roman", Font.ITALIC,


13));

label_18.setBounds(265, 251, 86, 14);

panel_4.add(label_18);

JLabel label_19 = new JLabel("Zinc (mg)");


label_19.setForeground(Color.BLUE);

label_19.setFont(new Font("Times New Roman", Font.ITALIC,


13));

label_19.setBounds(265, 147, 77, 14);

panel_4.add(label_19);

JLabel label_20 = new JLabel("Iron (mg)");

label_20.setForeground(Color.BLUE);

label_20.setFont(new Font("Times New Roman", Font.ITALIC,


13));

label_20.setBounds(265, 36, 86, 14);

panel_4.add(label_20);

JPanel panel_5 = new JPanel();

panel_5.setBounds(10, 68, 182, 68);

panel_4.add(panel_5);

panel_5.setLayout(null);

JLabel lblActual = new JLabel("Actual :");

lblActual.setBounds(10, 11, 77, 14);

panel_5.add(lblActual);

JLabel lblPredicted = new JLabel("Predicted :");

lblPredicted.setBounds(10, 36, 77, 14);


panel_5.add(lblPredicted);

textField_18 = new JTextField();

textField_18.setHorizontalAlignment(SwingConstants.CENTER);

textField_18.setBounds(78, 8, 86, 20);

panel_5.add(textField_18);

textField_18.setColumns(10);

textField_19 = new JTextField();

textField_19.setHorizontalAlignment(SwingConstants.CENTER);

textField_19.setBounds(78, 36, 86, 20);

panel_5.add(textField_19);

textField_19.setColumns(10);

JPanel panel_6 = new JPanel();

panel_6.setLayout(null);

panel_6.setBounds(10, 172, 182, 68);

panel_4.add(panel_6);

JLabel label_23 = new JLabel("Actual :");

label_23.setBounds(10, 11, 77, 14);

panel_6.add(label_23);
JLabel label_24 = new JLabel("Predicted :");

label_24.setBounds(10, 36, 77, 14);

panel_6.add(label_24);

textField_20 = new JTextField();

textField_20.setHorizontalAlignment(SwingConstants.CENTER);

textField_20.setColumns(10);

textField_20.setBounds(78, 8, 86, 20);

panel_6.add(textField_20);

textField_21 = new JTextField();

textField_21.setHorizontalAlignment(SwingConstants.CENTER);

textField_21.setColumns(10);

textField_21.setBounds(78, 36, 86, 20);

panel_6.add(textField_21);

JPanel panel_7 = new JPanel();

panel_7.setLayout(null);

panel_7.setBounds(10, 270, 182, 68);

panel_4.add(panel_7);

JLabel label_25 = new JLabel("Actual :");

label_25.setBounds(10, 11, 77, 14);


panel_7.add(label_25);

JLabel label_26 = new JLabel("Predicted :");

label_26.setBounds(10, 36, 77, 14);

panel_7.add(label_26);

textField_22 = new JTextField();

textField_22.setHorizontalAlignment(SwingConstants.CENTER);

textField_22.setColumns(10);

textField_22.setBounds(78, 8, 86, 20);

panel_7.add(textField_22);

textField_23 = new JTextField();

textField_23.setHorizontalAlignment(SwingConstants.CENTER);

textField_23.setColumns(10);

textField_23.setBounds(78, 36, 86, 20);

panel_7.add(textField_23);

JPanel panel_8 = new JPanel();

panel_8.setLayout(null);

panel_8.setBounds(10, 374, 182, 68);

panel_4.add(panel_8);
JLabel label_27 = new JLabel("Actual :");

label_27.setBounds(10, 11, 77, 14);

panel_8.add(label_27);

JLabel label_28 = new JLabel("Predicted :");

label_28.setBounds(10, 36, 77, 14);

panel_8.add(label_28);

textField_24 = new JTextField();

textField_24.setHorizontalAlignment(SwingConstants.CENTER);

textField_24.setColumns(10);

textField_24.setBounds(78, 8, 86, 20);

panel_8.add(textField_24);

textField_25 = new JTextField();

textField_25.setHorizontalAlignment(SwingConstants.CENTER);

textField_25.setColumns(10);

textField_25.setBounds(78, 36, 86, 20);

panel_8.add(textField_25);

JPanel panel_9 = new JPanel();

panel_9.setLayout(null);

panel_9.setBounds(10, 478, 182, 68);


panel_4.add(panel_9);

JLabel label_29 = new JLabel("Actual :");

label_29.setBounds(10, 11, 77, 14);

panel_9.add(label_29);

JLabel label_30 = new JLabel("Predicted :");

label_30.setBounds(10, 36, 77, 14);

panel_9.add(label_30);

textField_26 = new JTextField();

textField_26.setHorizontalAlignment(SwingConstants.CENTER);

textField_26.setColumns(10);

textField_26.setBounds(78, 8, 86, 20);

panel_9.add(textField_26);

textField_27 = new JTextField();

textField_27.setHorizontalAlignment(SwingConstants.CENTER);

textField_27.setColumns(10);

textField_27.setBounds(78, 36, 86, 20);

panel_9.add(textField_27);

JPanel panel_10 = new JPanel();


panel_10.setLayout(null);

panel_10.setBounds(265, 68, 182, 68);

panel_4.add(panel_10);

JLabel label_31 = new JLabel("Actual :");

label_31.setBounds(10, 11, 77, 14);

panel_10.add(label_31);

JLabel label_32 = new JLabel("Predicted :");

label_32.setBounds(10, 36, 77, 14);

panel_10.add(label_32);

textField_28 = new JTextField();

textField_28.setHorizontalAlignment(SwingConstants.CENTER);

textField_28.setColumns(10);

textField_28.setBounds(78, 8, 86, 20);

panel_10.add(textField_28);

textField_29 = new JTextField();

textField_29.setHorizontalAlignment(SwingConstants.CENTER);

textField_29.setColumns(10);

textField_29.setBounds(78, 36, 86, 20);

panel_10.add(textField_29);
JPanel panel_11 = new JPanel();

panel_11.setLayout(null);

panel_11.setBounds(265, 172, 182, 68);

panel_4.add(panel_11);

JLabel label_33 = new JLabel("Actual :");

label_33.setBounds(10, 11, 77, 14);

panel_11.add(label_33);

JLabel label_34 = new JLabel("Predicted :");

label_34.setBounds(10, 36, 77, 14);

panel_11.add(label_34);

textField_30 = new JTextField();

textField_30.setHorizontalAlignment(SwingConstants.CENTER);

textField_30.setColumns(10);

textField_30.setBounds(78, 8, 86, 20);

panel_11.add(textField_30);

textField_31 = new JTextField();

textField_31.setHorizontalAlignment(SwingConstants.CENTER);

textField_31.setColumns(10);
textField_31.setBounds(78, 36, 86, 20);

panel_11.add(textField_31);

JPanel panel_12 = new JPanel();

panel_12.setLayout(null);

panel_12.setBounds(265, 270, 182, 68);

panel_4.add(panel_12);

JLabel label_35 = new JLabel("Actual :");

label_35.setBounds(10, 11, 77, 14);

panel_12.add(label_35);

JLabel label_36 = new JLabel("Predicted :");

label_36.setBounds(10, 36, 77, 14);

panel_12.add(label_36);

textField_32 = new JTextField();

textField_32.setHorizontalAlignment(SwingConstants.CENTER);

textField_32.setColumns(10);

textField_32.setBounds(78, 8, 86, 20);

panel_12.add(textField_32);

textField_33 = new JTextField();


textField_33.setHorizontalAlignment(SwingConstants.CENTER);

textField_33.setColumns(10);

textField_33.setBounds(78, 36, 86, 20);

panel_12.add(textField_33);

JPanel panel_13 = new JPanel();

panel_13.setLayout(null);

panel_13.setBounds(265, 374, 182, 68);

panel_4.add(panel_13);

JLabel label_1 = new JLabel("Actual :");

label_1.setBounds(10, 11, 77, 14);

panel_13.add(label_1);

JLabel label_37 = new JLabel("Predicted :");

label_37.setBounds(10, 36, 77, 14);

panel_13.add(label_37);

textField_34 = new JTextField();

textField_34.setHorizontalAlignment(SwingConstants.CENTER);

textField_34.setColumns(10);

textField_34.setBounds(78, 8, 86, 20);

panel_13.add(textField_34);
textField_35 = new JTextField();

textField_35.setHorizontalAlignment(SwingConstants.CENTER);

textField_35.setColumns(10);

textField_35.setBounds(78, 36, 86, 20);

panel_13.add(textField_35);

JPanel panel_14 = new JPanel();

panel_14.setLayout(null);

panel_14.setBounds(265, 478, 182, 68);

panel_4.add(panel_14);

JLabel label_38 = new JLabel("Actual :");

label_38.setBounds(10, 11, 77, 14);

panel_14.add(label_38);

JLabel label_39 = new JLabel("Predicted :");

label_39.setBounds(10, 36, 77, 14);

panel_14.add(label_39);

textField_36 = new JTextField();

textField_36.setHorizontalAlignment(SwingConstants.CENTER);

textField_36.setColumns(10);
textField_36.setBounds(78, 8, 86, 20);

panel_14.add(textField_36);

textField_37 = new JTextField();

textField_37.setHorizontalAlignment(SwingConstants.CENTER);

textField_37.setColumns(10);

textField_37.setBounds(78, 36, 86, 20);

panel_14.add(textField_37);

JPanel panel_15 = new JPanel();

panel_15.setLayout(null);

panel_15.setBounds(519, 68, 182, 68);

panel_4.add(panel_15);

JLabel label_40 = new JLabel("Actual :");

label_40.setBounds(10, 11, 77, 14);

panel_15.add(label_40);

JLabel label_41 = new JLabel("Predicted :");

label_41.setBounds(10, 36, 77, 14);

panel_15.add(label_41);

textField_38 = new JTextField();


textField_38.setHorizontalAlignment(SwingConstants.CENTER);

textField_38.setColumns(10);

textField_38.setBounds(78, 8, 86, 20);

panel_15.add(textField_38);

textField_39 = new JTextField();

textField_39.setHorizontalAlignment(SwingConstants.CENTER);

textField_39.setColumns(10);

textField_39.setBounds(78, 36, 86, 20);

panel_15.add(textField_39);

JPanel panel_16 = new JPanel();

panel_16.setLayout(null);

panel_16.setBounds(519, 172, 182, 68);

panel_4.add(panel_16);

JLabel label_21 = new JLabel("Actual :");

label_21.setBounds(10, 11, 77, 14);

panel_16.add(label_21);

JLabel label_42 = new JLabel("Predicted :");

label_42.setBounds(10, 36, 77, 14);

panel_16.add(label_42);
textField_40 = new JTextField();

textField_40.setHorizontalAlignment(SwingConstants.CENTER);

textField_40.setColumns(10);

textField_40.setBounds(78, 8, 86, 20);

panel_16.add(textField_40);

textField_41 = new JTextField();

textField_41.setHorizontalAlignment(SwingConstants.CENTER);

textField_41.setColumns(10);

textField_41.setBounds(78, 36, 86, 20);

panel_16.add(textField_41);

JPanel panel_18 = new JPanel();

panel_18.setLayout(null);

panel_18.setBounds(519, 270, 182, 68);

panel_4.add(panel_18);

JLabel label_14 = new JLabel("Actual :");

label_14.setBounds(10, 11, 77, 14);

panel_18.add(label_14);

JLabel label_22 = new JLabel("Predicted :");


label_22.setBounds(10, 36, 77, 14);

panel_18.add(label_22);

textField_42 = new JTextField();

textField_42.setHorizontalAlignment(SwingConstants.CENTER);

textField_42.setColumns(10);

textField_42.setBounds(78, 8, 86, 20);

panel_18.add(textField_42);

textField_43 = new JTextField();

textField_43.setHorizontalAlignment(SwingConstants.CENTER);

textField_43.setColumns(10);

textField_43.setBounds(78, 36, 86, 20);

panel_18.add(textField_43);

JPanel panel_19 = new JPanel();

panel_19.setLayout(null);

panel_19.setBounds(519, 374, 182, 68);

panel_4.add(panel_19);

JLabel label_43 = new JLabel("Actual :");

label_43.setBounds(10, 11, 77, 14);

panel_19.add(label_43);
JLabel label_44 = new JLabel("Predicted :");

label_44.setBounds(10, 36, 77, 14);

panel_19.add(label_44);

textField_44 = new JTextField();

textField_44.setHorizontalAlignment(SwingConstants.CENTER);

textField_44.setColumns(10);

textField_44.setBounds(78, 8, 86, 20);

panel_19.add(textField_44);

textField_45 = new JTextField();

textField_45.setHorizontalAlignment(SwingConstants.CENTER);

textField_45.setColumns(10);

textField_45.setBounds(78, 36, 86, 20);

panel_19.add(textField_45);

JPanel panel_20 = new JPanel();

panel_20.setLayout(null);

panel_20.setBounds(519, 478, 182, 68);

panel_4.add(panel_20);

JLabel label_45 = new JLabel("Actual :");


label_45.setBounds(10, 11, 77, 14);

panel_20.add(label_45);

JLabel label_46 = new JLabel("Predicted :");

label_46.setBounds(10, 36, 77, 14);

panel_20.add(label_46);

textField_46 = new JTextField();

textField_46.setHorizontalAlignment(SwingConstants.CENTER);

textField_46.setColumns(10);

textField_46.setBounds(78, 8, 86, 20);

panel_20.add(textField_46);

textField_47 = new JTextField();

textField_47.setHorizontalAlignment(SwingConstants.CENTER);

textField_47.setColumns(10);

textField_47.setBounds(78, 36, 86, 20);

panel_20.add(textField_47);

JPanel panel_17 = new JPanel();

tabbedPane.addTab("Report", null, panel_17, null);

panel_17.setLayout(null);
JLabel label_2 = new JLabel("Potassium (mg)");

label_2.setForeground(Color.BLUE);

label_2.setFont(new Font("Times New Roman", Font.ITALIC,


13));

label_2.setBounds(34, 28, 86, 14);

panel_17.add(label_2);

JLabel label_12 = new JLabel("Phospate (mg)");

label_12.setForeground(Color.BLUE);

label_12.setFont(new Font("Times New Roman", Font.ITALIC,


13));

label_12.setBounds(273, 28, 94, 14);

panel_17.add(label_12);

JLabel label_13 = new JLabel("Expected Yeild (kg/acre)");

label_13.setForeground(Color.BLUE);

label_13.setFont(new Font("Times New Roman", Font.ITALIC,


13));

label_13.setBounds(515, 28, 169, 14);

panel_17.add(label_13);

JPanel panel_21 = new JPanel();

panel_21.setLayout(null);

panel_21.setBounds(35, 67, 182, 68);


panel_17.add(panel_21);

JLabel label_47 = new JLabel("Actual :");

label_47.setBounds(10, 11, 77, 14);

panel_21.add(label_47);

JLabel label_48 = new JLabel("Predicted :");

label_48.setBounds(10, 36, 77, 14);

panel_21.add(label_48);

textField_48 = new JTextField();

textField_48.setHorizontalAlignment(SwingConstants.CENTER);

textField_48.setColumns(10);

textField_48.setBounds(78, 8, 86, 20);

panel_21.add(textField_48);

textField_49 = new JTextField();

textField_49.setHorizontalAlignment(SwingConstants.CENTER);

textField_49.setColumns(10);

textField_49.setBounds(78, 36, 86, 20);

panel_21.add(textField_49);

JPanel panel_22 = new JPanel();


panel_22.setLayout(null);

panel_22.setBounds(274, 67, 182, 68);

panel_17.add(panel_22);

JLabel label_49 = new JLabel("Actual :");

label_49.setBounds(10, 11, 77, 14);

panel_22.add(label_49);

JLabel label_50 = new JLabel("Predicted :");

label_50.setBounds(10, 36, 77, 14);

panel_22.add(label_50);

textField_50 = new JTextField();

textField_50.setHorizontalAlignment(SwingConstants.CENTER);

textField_50.setColumns(10);

textField_50.setBounds(78, 8, 86, 20);

panel_22.add(textField_50);

textField_51 = new JTextField();

textField_51.setHorizontalAlignment(SwingConstants.CENTER);

textField_51.setColumns(10);

textField_51.setBounds(78, 36, 86, 20);

panel_22.add(textField_51);
JPanel panel_23 = new JPanel();

panel_23.setLayout(null);

panel_23.setBounds(514, 67, 182, 68);

panel_17.add(panel_23);

JLabel label_51 = new JLabel("Actual :");

label_51.setBounds(10, 11, 77, 14);

panel_23.add(label_51);

JLabel label_52 = new JLabel("Predicted :");

label_52.setBounds(10, 36, 77, 14);

panel_23.add(label_52);

textField_52 = new JTextField();

textField_52.setHorizontalAlignment(SwingConstants.CENTER);

textField_52.setColumns(10);

textField_52.setBounds(78, 8, 86, 20);

panel_23.add(textField_52);

textField_53 = new JTextField();

textField_53.setHorizontalAlignment(SwingConstants.CENTER);

textField_53.setColumns(10);
textField_53.setBounds(78, 36, 86, 20);

panel_23.add(textField_53);

JLabel lblReport = new JLabel("Analysis Report");

lblReport.setFont(new Font("Times New Roman", Font.BOLD |


Font.ITALIC, 12));

lblReport.setForeground(Color.BLUE);

lblReport.setBounds(10, 174, 94, 14);

panel_17.add(lblReport);

JLabel label_53 = new JLabel("*");

label_53.setBounds(35, 201, 22, 14);

panel_17.add(label_53);

lblNewLabel_23 = new JLabel("New label");

lblNewLabel_23.setFont(new Font("Tahoma", Font.ITALIC, 11));

lblNewLabel_23.setBounds(58, 199, 337, 14);

panel_17.add(lblNewLabel_23);

JLabel label_54 = new JLabel("*");

label_54.setBounds(35, 226, 22, 14);

panel_17.add(label_54);
lblNewLabel_25 = new JLabel("New label");

lblNewLabel_25.setFont(new Font("Tahoma", Font.ITALIC, 11));

lblNewLabel_25.setBounds(58, 224, 365, 14);

panel_17.add(lblNewLabel_25);

JLabel label_55 = new JLabel("*");

label_55.setBounds(35, 251, 22, 14);

panel_17.add(label_55);

lblNewLabel_27 = new JLabel("New label");

lblNewLabel_27.setFont(new Font("Tahoma", Font.ITALIC, 11));

lblNewLabel_27.setBounds(58, 251, 309, 14);

panel_17.add(lblNewLabel_27);

JLabel lblResult = new JLabel("Result");

lblResult.setForeground(Color.MAGENTA);

lblResult.setFont(new Font("Times New Roman", Font.BOLD |


Font.ITALIC, 12));

lblResult.setBounds(10, 299, 52, 14);

panel_17.add(lblResult);

JLabel lblTotalCropYeild = new JLabel("Total Crop Yeild


:");

lblTotalCropYeild.setBounds(35, 346, 143, 14);


panel_17.add(lblTotalCropYeild);

lblNewLabel_29 = new JLabel("New label");

lblNewLabel_29.setFont(new Font("Tahoma", Font.ITALIC, 14));

lblNewLabel_29.setBounds(205, 339, 190, 24);

panel_17.add(lblNewLabel_29);

lblNewLabel_30 = new JLabel("New label");

lblNewLabel_30.setForeground(Color.BLUE);

lblNewLabel_30.setFont(new Font("Tahoma", Font.BOLD |


Font.ITALIC, 12));

lblNewLabel_30.setBounds(34, 396, 444, 24);

panel_17.add(lblNewLabel_30);

btnNewButton.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

try {

store();

} catch (IOException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}
//////////////////////////////////Prediction Result from files/////////////////////

BufferedReader datafile = readDataFile("E:\\Data\\Crop_Training.arff");

Instances train = null;

try {

train = new Instances(datafile);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

train.setClassIndex(train.numAttributes() - 1);

BufferedReader datafile1 = readDataFile("E:\\Data\\test.arff");

Instances test = null;

try {

test = new Instances(datafile1);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

test.setClassIndex(test.numAttributes() - 1);
J48 descision=new J48();

try {

descision.buildClassifier(train);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

Evaluation evaluation = null;

try {

evaluation = new Evaluation(train);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

try {

evaluation.evaluateModel(descision, test);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}
//lblNewLabel_2.setText(evaluation.toSummaryString());

// textArea.setText(evaluation.toSummaryString());

//System.out.println(evaluation.toSummaryString());

try {

//textArea_1.setText(evaluation.toClassDetailsString());

System.out.println(evaluation.toClassDetailsString());

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

try {

textArea.setText(evaluation.toMatrixString());

System.out.println(evaluation.toMatrixString());

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

double label = 0;

try {
label = descision.classifyInstance(test.instance(0));

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

test.instance(0).setClassValue(label);

Color customColor = new Color(255,69,0);

Color customColor1 = new Color(0,255,0);

//System.out.println(test.instance(0).value(18));

int predict=(int) test.instance(0).value(18);

switch(predict)

case 0:

lblNewLabel_22.setText("Wheat");

break;

case 1:

lblNewLabel_22.setText("Mung");

break;

case 2:

lblNewLabel_22.setText("Harbara");

break;

case 3:

lblNewLabel_22.setText("Cotton");
break;

case 4:

lblNewLabel_22.setText("Sugarcane");

break;

case 5:

lblNewLabel_22.setText("Tomato");

break;

case 6:

lblNewLabel_22.setText("Potato");

break;

case 7:

lblNewLabel_22.setText("Chilly");

break;

case 8:

lblNewLabel_22.setText("Onion");

break;

case 9:

lblNewLabel_22.setText("Mango");

break;

case 10:

lblNewLabel_22.setText("Orange");

break;

case 11:
lblNewLabel_22.setText("Coconut");

break;

case 12:

lblNewLabel_22.setText("Fanas");

break;

case 13:

lblNewLabel_22.setText("Groundnut");

break;

case 14:

lblNewLabel_22.setText("Soyabean");

break;

case 15:

lblNewLabel_22.setText("Sunflower");

break;

case 16:

lblNewLabel_22.setText("Tur");

break;

case 17:

lblNewLabel_22.setText("Banana");

break;

case 18:

lblNewLabel_22.setText("Jowar");

break;
case 19:

lblNewLabel_22.setText("Rice");

break;

case 20:

lblNewLabel_22.setText("Bajara");

break;

case 21:

lblNewLabel_22.setText("Corn");

break;

default:

break;

/*if(test.instance(0).value(13)==0)

lblNewLabel_15.setText("Normal");

lblNewLabel_15.setForeground(customColor);

System.out.println("Result Heart Disease = Normal");

}*/
}

});

public static BufferedReader readDataFile(String filename) {

BufferedReader inputReader = null;

try {

inputReader = new BufferedReader(new


FileReader(filename));

} catch (FileNotFoundException ex) {

System.err.println("File not found: " + filename);

return inputReader;

}
public void store() throws IOException

FastVector atts;

FastVector attsRel;

FastVector attVals;

FastVector attValsRel;

Instances data;

Instances dataRel;

double[] vals;

double[] valsRel;

int i;

// 1. set up attributes

atts = new FastVector();

// - numeric

atts.addElement(new Attribute("Temperature"));

// - nominal

attVals = new FastVector();

attVals.addElement("1");

attVals.addElement("2");

attVals.addElement("3");
attVals.addElement("4");

attVals.addElement("5");

attVals.addElement("6");

attVals.addElement("7");

attVals.addElement("8");

attVals.addElement("9");

attVals.addElement("10");

attVals.addElement("11");

attVals.addElement("12");

attVals.addElement("13");

attVals.addElement("14");

attVals.addElement("15");

attVals.addElement("16");

attVals.addElement("17");

attVals.addElement("18");

attVals.addElement("19");

attVals.addElement("20");

attVals.addElement("21");

attVals.addElement("22");

atts.addElement(new Attribute("Humidity"));

// - string

atts.addElement(new Attribute("Sunlight"));
// - date

atts.addElement(new Attribute("Oxygen"));

// - relational

// -- numeric

atts.addElement(new Attribute("Rainfall"));

// -- nominal

atts.addElement(new Attribute("Water_Level"));

// dataRel = new Instances("att5", attsRel, 0);

atts.addElement(new Attribute("Salinity"));

atts.addElement(new Attribute("Acidity"));

atts.addElement(new Attribute("Ph"));

atts.addElement(new Attribute("Iron"));

atts.addElement(new Attribute("Zinc"));

atts.addElement(new Attribute("Manganse"));

atts.addElement(new Attribute("Soil"));

atts.addElement(new Attribute("Depth"));

atts.addElement(new Attribute("Nitrogen"));

atts.addElement(new Attribute("Potassium"));

atts.addElement(new Attribute("Phospate"));

atts.addElement(new Attribute("Yeild"));

atts.addElement(new Attribute("result",attVals));
// 2. create Instances object

data = new Instances("Crop_Test", atts, 0);

vals = new double[data.numAttributes()]; // important: needs NEW array!

vals[0]=Double.parseDouble(textField.getText());

textField_18.setText(textField.getText());

vals[1]=Double.parseDouble(textField_1.getText());

textField_20.setText(textField_1.getText());

vals[2]=Double.parseDouble(textField_2.getText());

textField_22.setText(textField_2.getText());

vals[3]=Double.parseDouble(textField_3.getText());

textField_24.setText(textField_3.getText());

vals[4]=Double.parseDouble(textField_4.getText());

textField_26.setText(textField_4.getText());

vals[5]=Double.parseDouble(textField_5.getText());

textField_34.setText(textField_5.getText());
vals[6]=Double.parseDouble(textField_6.getText());

textField_36.setText(textField_6.getText());

vals[7]=Double.parseDouble(textField_7.getText());

textField_38.setText(textField_7.getText());

vals[8]=Double.parseDouble(textField_8.getText());

textField_40.setText(textField_8.getText());

vals[9]=Double.parseDouble(textField_9.getText());

textField_28.setText(textField_9.getText());

vals[10]=Double.parseDouble(textField_10.getText());

textField_30.setText(textField_10.getText());

vals[11]=Double.parseDouble(textField_11.getText());

textField_32.setText(textField_11.getText());

vals[12]=Double.parseDouble(textField_12.getText());

textField_42.setText(textField_12.getText());

vals[13]=Double.parseDouble(textField_13.getText());

textField_44.setText(textField_13.getText());
vals[14]=Double.parseDouble(textField_14.getText());

textField_46.setText(textField_14.getText());

vals[15]=Double.parseDouble(textField_15.getText());

textField_48.setText(textField_15.getText());

vals[16]=Double.parseDouble(textField_16.getText());

textField_50.setText(textField_16.getText());

vals[17]=Double.parseDouble(textField_17.getText());

textField_52.setText(textField_17.getText());

// vals[13]=Double.parseDouble(den);

// add

data.add(new DenseInstance(1.0, vals));

// 4. output data

// System.out.println(data);

BufferedWriter writer = new BufferedWriter(new


FileWriter("E:\\Data\\test.arff"));

writer.write(data.toString());

writer.flush();
writer.close();

Crop_data . sql

CREATE DATABASE IF NOT EXISTS `crop_data` /*!40100 DEFAULT


CHARACTER SET utf8 */;

USE `crop_data`;

-- MySQL dump 10.13 Distrib 5.6.17, for Win32 (x86)

--

-- Host: localhost Database: crop_data

-- ------------------------------------------------------

-- Server version 5.6.23-log

/*!40101 SET
@OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;

/*!40101 SET
@OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS
*/;

/*!40101 SET
@OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION
*/;

/*!40101 SET NAMES utf8 */;

/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;

/*!40103 SET TIME_ZONE='+00:00' */;


/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS,
UNIQUE_CHECKS=0 */;

/*!40014 SET
@OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,
FOREIGN_KEY_CHECKS=0 */;

/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE,


SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;

/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--

-- Table structure for table `data`

--

DROP TABLE IF EXISTS `data`;

/*!40101 SET @saved_cs_client = @@character_set_client */;

/*!40101 SET character_set_client = utf8 */;

CREATE TABLE `data` (

`Id` int(11) NOT NULL AUTO_INCREMENT,

`cname` varchar(45) DEFAULT NULL,

`Temperature` double DEFAULT NULL,

`Humidity` double DEFAULT NULL,

`Sunlight` double DEFAULT NULL,

`Oxygen` double DEFAULT NULL,

`Rainfall` double DEFAULT NULL,


`Water_Level` double DEFAULT NULL,

`Salinity` double DEFAULT NULL,

`Acidity` double DEFAULT NULL,

`ph` double DEFAULT NULL,

`Iron` double DEFAULT NULL,

`Zinc` double DEFAULT NULL,

`Manganse` double DEFAULT NULL,

`Soil` double DEFAULT NULL,

`Depth` double DEFAULT NULL,

`Nitrogen` double DEFAULT NULL,

`Potassium` double DEFAULT NULL,

`Phospate` double DEFAULT NULL,

`Yeild` double DEFAULT NULL,

PRIMARY KEY (`Id`)

) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8;

/*!40101 SET character_set_client = @saved_cs_client */;

--

-- Dumping data for table `data`

--

LOCK TABLES `data` WRITE;

/*!40000 ALTER TABLE `data` DISABLE KEYS */;


INSERT INTO `data` VALUES
(1,'Wheat',41,30,300,30,1200,85,0.45,3.8,7.5,4.68,1.3,3,3,20,55,25,52,50),(2,'M
ung',35,20,200,20,300,40,0.2,2,8,4,1,2.4,2,20,50,70,25,43),(3,'Harbara',35,20,20
0,30,450,55,0.2395,2.5,7,4,1,4,3,30,20,78,25,56),(4,'Cotton',30,31,300,30,800,7
0,0.7,1.9,7.1,4.81,0.65,2.7,3,20,65,25,34,58),(5,'Sugarcane',32,33,200,30,1000,8
5,0.8,1.6,6.9,4.8,0.8,2.5,3,10,50,30,32,46),(6,'Tomato',28,42,100,30,900,70,0.2,
1.2,6.2,4.5,0.6,1.1,3,20,25,30,56,49),(7,'Potato',28,44,200,30,800,85,0.3,2.3,6.5,
4.6,0.8,2.2,3,20,30,35,120,52),(8,'Chilly',29,51,200,30,560,60,0.65,1.7,6.7,4.6,0
.68,2.3,3,20,50,42,96,59),(9,'Onion',29,52,200,30,450,85,0.7,3.7,7.1,4.53,0.82,1
.8,3,20,40,31,116,44),(10,'Mango',40,20,200,30,200,50,0.56,1.5,6.8,4.5,1.9,2.9,
3,10,25,150,90,40),(11,'Orange',25,35,200,30,600,65,0.9,2.2,7.2,4.9,1.9,2.9,3,10
,50,115,150,48),(12,'Coconut',30,40,100,20,900,60,0.6,3.3,6.4,5.9,1,2,2,10,50,1
70,80,53),(13,'Fanas',37,40,200,20,300,65,0.5,2,7,4.5,0.9,1.5,2,20,32,50,85,57),
(14,'Groundnut',28,53,200,20,1200,55,0.4,2.5,6.4,4.6,0.2,0.5,2,20,23,25,75,45),(
15,'Soyabean',30,30,200,20,600,65,0.4,3.5,6.5,4.2,3,2,2,20,33,15,50,57),(16,'Su
nflower',27,29,300,30,600,72,0.5,2.4,6.9,4.5,0.9,4,3,20,47,10,55,45),(17,'Tur',2
5,33,200,30,620,90,0.65,2.5,6.6,4.62,0.8,1.5,3,30,40,25,46,48),(18,'Banana',30,
40,300,30,900,70,0.67,1,7.2,5.5,2,1.7,3,20,60,200,110,46),(19,'Jowar',30,35,200
,30,670,60,0.2,1.3,7.2,4.5,0.6,2.2,3,30,25,25,20,43),(20,'Rice',40,30,300,20,135
0,70,0.2,2.4,6.8,4.62,1.2,3,2,30,30,30,35,41),(21,'Bajara',39,39,200,30,430,65,0.
3,3.1,6.7,4.51,1.72,1.8,3,30,35,30,40,52),(22,'Corn',36,33,300,30,600,80,0.75,3.
3,7.3,4.61,0.7,1.1,3,30,45,35,32,50);

/*!40000 ALTER TABLE `data` ENABLE KEYS */;

UNLOCK TABLES;

/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;

/*!40014 SET
FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;

/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;

/*!40101 SET
CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET
CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;

/*!40101 SET
COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2017-02-25 18:04:35

Crop_data_routines.sql

CREATE DATABASE IF NOT EXISTS `crop_data` /*!40100 DEFAULT


CHARACTER SET utf8 */;

USE `crop_data`;

-- MySQL dump 10.13 Distrib 5.6.17, for Win32 (x86)

--

-- Host: localhost Database: crop_data

-- ------------------------------------------------------

-- Server version 5.6.23-log

/*!40101 SET
@OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;

/*!40101 SET
@OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS
*/;

/*!40101 SET
@OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION
*/;
/*!40101 SET NAMES utf8 */;

/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;

/*!40103 SET TIME_ZONE='+00:00' */;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS,


UNIQUE_CHECKS=0 */;

/*!40014 SET
@OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,
FOREIGN_KEY_CHECKS=0 */;

/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE,


SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;

/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--

-- Dumping events for database 'crop_data'

--

--

-- Dumping routines for database 'crop_data'

--

/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;

/*!40014 SET
FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;

/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;


/*!40101 SET
CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;

/*!40101 SET
CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;

/*!40101 SET
COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2017-02-25 18:04:36

crop_training.arff

@relation Crop_Training

@attribute Temperature numeric

@attribute Humidity numeric

@attribute Sunlight numeric

@attribute Oxygen numeric

@attribute Rainfall numeric

@attribute Water_Level numeric

@attribute Salinity numeric

@attribute Acidity numeric

@attribute Ph numeric

@attribute Iron numeric


@attribute Zinc numeric

@attribute Manganse numeric

@attribute Soil numeric

@attribute Depth numeric

@attribute Nitrogen numeric

@attribute Potassium numeric

@attribute Phospate numeric

@attribute Yeild numeric

@attribute result {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22}

@data

41,30,300, 30,1200,85,0.45,3.8,7.5,4.68,1.3,3,3,20,55, 25,52,50,1

38,32,250,34,1000,95,1.45,4.8,8.5,3.68,1.8,2,3,25,50, 20,56,55,1

42,328,320,28,900,105,1.45,2.8,6.5,5.68,2.8,1,4,18,45,18,48,45,1

35,20,200, 20,300,40, 0.2,2,7,4,1,3.4,2,20,50,65,20,43,2

30,30,100, 30,250,35,1.2,3,8,5,2,2.4,1,10,60,70,15,46,2

45,35,300, 25,100,25, 1.25,2,6,3,1,3.04,2,15,45,75,35,40,2

35,20,200, 30,450,55, 0.2395,2.5,7,4,1,4,3,30,20,78,25,56,3

40,30,300,10,350,60, 0.495,1.5,5,6,3,1,1,20,10,58,25,65,3

30,25,250,20,480,50, 0.195,3.5,6,2,1,3,2,35,25,88,35,54,3

30,31,300, 30,800,70, 0.7,1.9,7.1,4.81,0.65, 2.7,3,20,65,25,34,58,4

20,41,250, 40,700,50, 0.8,2.9,5.1,3.81,0.75,3.7,2,10,75,30,24,68,4

10,51,350, 35,750,60, 0.75,2.4,6.1,2.81,0.70,3.0,3,25,60,20,14,50,4


32,33,200, 30,1000,85,0.8,1.6,6.5,4.8,0.7,2.5,3,10,50, 30,32,46,5

34,26,220,40,1200,80,0.7,1.8,6.6,4.7,0.8,3.5,3,50,40, 20,36,36,5

30,36,100, 35,1300,95,0.75,1.5,6.9,4.5,0.6,2.8,3,35,55,25,28,48,5

28,42,100, 30,900,70, 0.2,1.2,6.8,4.5,0.6,1.1,3,20,25,30,56,49,6

32,48,150,20,950,60, 0.5,1.8,6.2,5.5,0.8,1.6,3,10,20,32,60,55,6

30,46,120, 25,850,75, 0.8,1.6,6.6,4.9,0.5,1.8,3,15,35,28,50,53,6

28,44,200, 30,800,85, 0.3,2.3,6.5,4.6,0.8,2.2,3,20,30,35,120,52,7

26,42,180,32,850,83, 0.4,2.5,6.0,4.7,0.9,2.0,3,15,35,32,130,58,7

36,40,160,36,950,80, 0.5,2.2,6.5,4.8,0.7,2.6,3,25,25,30,150,50,7

29,51,200, 30,560,60, 0.65,1.7,6.7,4.6,0.68, 2.3,3,20,50,42,96,59,8

32,48,220, 25,580,55, 0.75,1.9,6.4,4.8,0.48, 2.6,3,15,60,38,98,64,8

26,55,180, 32,540,65, 0.55,1.5,6.9,4.4,0.78, 2.0,3,25,55,45,94,55,8

29,52,200, 30,450,85, 0.7,3.7,7.1,4.53,0.82, 1.8,3,20,40,31,116,44,9

32,48,150,25,350,75, 0.5,3.9,7.5,5.53,0.72, 2.8,3,10,45,25,136,50,9

30,50,180, 35,400,95, 0.9,3.5,7.8,5.03,0.92, 3.8,3,15,35,35,156,54,9

40,20,200, 30,200,50, 0.56,1.5,6.8,4.5,1.9,2.9,3,10,25, 150,90,40,10

45,10,150,25,150,40, 0.46,2.5,6.5,4.0,1.3,2.0,2,20,30, 180,80,45,10

38,15,180, 35,220,55, 0.66,1.0,6.9,4.8,1.5,2.5,3,15,32, 140,95,38,10

25,35,200, 30,600,65, 0.9,2.2,7.2,4.9,1.9,2.9,3,10,50,115,150,48,11

35,25,250, 25,650,60, 0.45,2.8,7.0,4.4,1.4,2.5,3,15,55,135,180,52,11

30,40,100, 20,900,60, 0.6,3.3,6.4,5.9,1,2,2,10,50,170,80,53,12

35,45,80, 25,800,70, 0.3,3.8,6.0,5.5,2,3,1,20,55,180,90,58,12

40,50,120, 30,700,50, 0.8,3.0,6.8,5.0,1,3,2,15,45,190,70,50,12


37,40,200, 20,300,65, 0.5,2,7,4.5,0.9,1.5,2, 20,32,50,85,57,13

40,50,180,15,350,75, 0.8,3,6,4.8,0.5,1.8,2, 10,36,55,75,55,13

34,45,220, 25,280,60, 0.2,2,5,4.7,0.7,1.9,2, 15,30,45,90,56,13

28,53,200, 20,1200,55,0.4,2.5,6.4,4.6,0.2,0.5,2,20,23,25,75,45,14

30,55,180,30,1500,45,0.8,2.8,6.0,4.0,0.6,0.8,2,30,20,30,70,50,14

32,50,220, 25,1350,50,0.6,2.6,6.8,4.2,0.4,0.6,2,25,26,35,65,55,14

30,30,200, 20,600,65, 0.4,3.5,6.5,4.2,3,2,2, 20,33,15,50,57,15

28,32,250, 10,650,60, 0.8,3.0,7,4.8,3,1,3, 10,38,25,55,55,15

27,29,300, 30,600,72, 0.5,2.4,6.9,4.5,0.9,4, 3,20,47,10,55,45,16

25,32,350, 25,650,68, 0.8,2.8,6.0,4.8,0.5,3, 2,10,57,20,50,48,16

30,25,250, 35,550,75, 0.4,2.0,7.0,4.0,0.6,2, 1,15,60,30,45,40,16

25,33,200, 30,620,90, 0.65,2.5,6.6,4.62,0.8, 1.5,3,30,40,25,46,48,17

28,30,150, 20,680,80, 0.85,2.0,6.8,4.42,0.5,2.5,3,20,30,35,56,52,17

22,35,250, 25,650,85, 0.75,3.0,6.7,4.22,0.6,3.5,3,25,35,45,50,50,17

30,40,300, 30,900,70, 0.67,1,7.2, 5.5,2,1.7,3,20,60,200,110,46,18

35,30,350, 25,950,65, 0.87,2,8.2,4.5,3,2.7,2,10,55,150,160,40,18

25,45,280, 32,870,75, 0.57,3,7.8, 5.0,3,2.0,3,15,65,250,120,50,18

30,35,200, 30,670,60, 0.2,1.3,7.2,4.5,0.6,2.2,3,30,25,25,20,43,19

35,30,180, 25,700,70, 0.6,1.6,7.8,4.0,0.9,2.5,3,20,35,30,25,48,19

40,30,300, 20,1350,70,0.2,2.4,6.8,4.62,1.2, 3,2,30,30, 30,35,41,20

45,25,350,25,1300,80,0.3,2.8,6.5,4.42,1.4, 2,1,20,25, 35,30,45,20

35,35,250, 15,1450,90,0.4,2.0,6.0,4.02,1.6, 1,2,25,35, 40,25,39,20

39,39,200,30,430,65, 0.3,3.1,6.7,4.51,1.72, 1.8,3,30,35,30,40,52,21


40,36,180,32,410,63, 0.2,3.3,6.5,4.01,1.52, 1.5,3,25,32,32,42,55,21

36,42,250,28,440,68, 0.4,3.6,6.8,4.81,1.92, 2,3,35,38,28,38,58,21

36,33,300, 30,600,80, 0.75,3.3,7.3,4.61,0.7, 1.1,3,30,45,35,32,50,22

30,30,350, 25,700,70, 0.55,3.8,7.5,4.41,0.3, 1.5,3,35,50,30,38,45,22

32,36,320, 35,660,75, 0.45,3.0,7.8,4.81,0.45,1.8,3,25,55,25,28,52,22

Test.arff

@relation Crop_Test

@attribute Temperature numeric

@attribute Humidity numeric

@attribute Sunlight numeric

@attribute Oxygen numeric

@attribute Rainfall numeric

@attribute Water_Level numeric

@attribute Salinity numeric

@attribute Acidity numeric

@attribute Ph numeric

@attribute Iron numeric

@attribute Zinc numeric

@attribute Manganse numeric

@attribute Soil numeric

@attribute Depth numeric


@attribute Nitrogen numeric

@attribute Potassium numeric

@attribute Phospate numeric

@attribute Yeild numeric

@attribute result {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22}

@data

26,21,101,11,101,11,0.3,2,7,4.5,1,1,2,11,21,1,21,1,1

You might also like