⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 learnerinterface.java

📁 aDABOOST This package contains the following files: learner.jar - is a platform independent java
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
	 */
	private JButton getJButton1() {
		if (exitbutton == null) {
			exitbutton = new JButton();
			exitbutton.setBounds(new java.awt.Rectangle(402, 370, 109, 41));
			exitbutton.setText("Exit");
			exitbutton.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					doExit();
				}
			});
		}
		return exitbutton;
	}

	/**
	 * This method initializes validateT
	 * 
	 * @return javax.swing.JTextField
	 */
	private JTextField getJTextField() {
		if (validateT == null) {
			validateT = new JTextField();
			validateT.setBounds(new java.awt.Rectangle(135, 31, 45, 20));
			validateT.setText("15");
		}
		return validateT;
	}

	/**
	 * This method initializes parameterT
	 * 
	 * @return javax.swing.JTextField
	 */
	private JTextField getJTextField1() {
		if (parameterT == null) {
			parameterT = new JTextField();
			parameterT.setBounds(new java.awt.Rectangle(462, 5, 54, 20));
			parameterT.setText("10");
		}
		return parameterT;
	}

	/**
	 * This method initializes datafileT
	 * 
	 * @return javax.swing.JTextField
	 */
	private JTextField getJTextField2() {
		if (datafileT == null) {
			datafileT = new JTextField();
			datafileT.setBounds(new java.awt.Rectangle(79, 370, 77, 20));
			datafileT.setEnabled(false);
			datafileT.setText("crx.data");
		}
		return datafileT;
	}

	/**
	 * This method initializes dataT
	 * 
	 * @return javax.swing.JTextField
	 */
	private JTextField getJTextField3() {
		if (dataT == null) {
			dataT = new JTextField();
			dataT.setBounds(new java.awt.Rectangle(245, 370, 26, 20));
			dataT.setText("10");
		}
		return dataT;
	}

	/**
	 * This method initializes labelT
	 * 
	 * @return javax.swing.JTextField
	 */
	private JTextField getJTextField4() {
		if (labelT == null) {
			labelT = new JTextField();
			labelT.setBounds(new java.awt.Rectangle(368, 370, 26, 20));
			labelT.setEnabled(false);
			labelT.setText("15");
		}
		return labelT;
	}

	private void reinitClassifier() {
		try {
			if (datasetcheckbox.isSelected()
					&& !(dataT.getText().equals("1")
							|| dataT.getText().equals("2")
							|| dataT.getText().equals("7")
							|| dataT.getText().equals("10")
							|| dataT.getText().equals("13") || dataT.getText()
							.equals("14"))) {
				JOptionPane
						.showMessageDialog(
								this,
								"The specified data column in not allowed on the default dataset. \nAllowed values: 1,2,7,10,13,14\nLast correct setting will be used",
								"Error", JOptionPane.ERROR_MESSAGE);

				return;
			}

			Data data = new Data(datafileT.getText(), Integer.parseInt(dataT
					.getText()), Integer.parseInt(labelT.getText()));
			if (jCheckBox.isSelected())
				data.shuffle();
			switch (selector.getSelectedIndex()) {
			case 0:
				learner = new Adaboost(data, Integer.parseInt(parameterT
						.getText()));
				break;
			case 1:
				if (data.fulldata.length < Integer.parseInt(parameterT
						.getText()))
					JOptionPane
							.showMessageDialog(
									this,
									"The indicated neighbors are bigger than the dataset itself. Please select a lower value for this field");
				else
					learner = new Knn(data, new Integer(parameterT.getText())
							.intValue());
				break;
			case 2:
				if (data.fulldata.length < Integer.parseInt(parameterT
						.getText()))
					JOptionPane
							.showMessageDialog(
									this,
									"The indicated distance is  bigger than the dataset itself. Please select a lower value for this field");
				else
					learner = new DistanceMajority(data, Integer
							.parseInt(parameterT.getText()));
				break;
			case 3:
				learner = new Parzen(data, Double.parseDouble(parameterT
						.getText()));
				break;
			case 4:
				learner = new Linear(data, false);
				break;
			}
		} catch (Exception e) {
			JOptionPane.showMessageDialog(null, e.getMessage(), "Error",
					JOptionPane.ERROR_MESSAGE);
			return;
		}
	}

	private void doExit() {
		int state = JOptionPane.showConfirmDialog(this,
				"Are you sure you want to quit?", "Quit",
				JOptionPane.YES_OPTION & JOptionPane.NO_OPTION);
		if (state == JOptionPane.YES_OPTION)
			System.exit(0);
	}

	/**
	 * This method initializes toclassifyT
	 * 
	 * @return javax.swing.JTextField
	 */
	private JTextField getJTextField5() {
		if (toclassifyT == null) {
			toclassifyT = new JTextField();
			toclassifyT.setBounds(new java.awt.Rectangle(135, 56, 45, 20));
		}
		return toclassifyT;
	}

	/**
	 * This method initializes scrollbars
	 * 
	 * @return javax.swing.JScrollPane
	 */
	private JScrollPane getJScrollPane() {
		if (scrollbars == null) {
			scrollbars = new JScrollPane(getJTextArea());
			scrollbars.setBounds(new java.awt.Rectangle(6, 88, 509, 277));

			scrollbars.setViewportView(getJTextArea());
		}
		return scrollbars;
	}

	/**
	 * This method initializes datasetcheckbox
	 * 
	 * @return javax.swing.JCheckBox
	 */
	private JCheckBox getJCheckBox() {
		if (datasetcheckbox == null) {
			datasetcheckbox = new JCheckBox();
			datasetcheckbox.setBounds(new java.awt.Rectangle(2, 392, 156, 20));
			datasetcheckbox.setSelected(true);
			datasetcheckbox.setBackground(java.awt.SystemColor.control);
			datasetcheckbox.setText("Use Default dataset file");
			datasetcheckbox
					.addActionListener(new java.awt.event.ActionListener() {
						public void actionPerformed(java.awt.event.ActionEvent e) {
							if (!datasetcheckbox.isSelected()) {
								JOptionPane
										.showMessageDialog(
												null,
												"Warning: Using this option incorrectly may introduce strange application behaviours");
								datafileT.setEnabled(true);
								labelT.setEnabled(true);
							} else {
								datafileT.setText("crx.data");
								labelT.setText("15");
								datafileT.setEnabled(false);
								labelT.setEnabled(false);
							}

						}
					});
		}
		return datasetcheckbox;
	}

	/**
	 * This method initializes performancebutton
	 * 
	 * @return javax.swing.JButton
	 */
	private JButton getJButton3() {
		if (performancebutton == null) {
			performancebutton = new JButton();
			performancebutton
					.setBounds(new java.awt.Rectangle(340, 56, 175, 20));
			performancebutton.setText("Training Error");
			performancebutton
					.addActionListener(new java.awt.event.ActionListener() {
						public void actionPerformed(java.awt.event.ActionEvent e) {
							reinitClassifier();
							double performance = learner
									.test(learner.getdata().training);
							console
									.setText(console.getText()
											+ "========================= Training Error ============================\n"
											+ "Algorithm = "
											+ selector.getSelectedItem()
											+ " ("
											+ parameterT.getText()
											+ ")\n"
											+ "Performance: "
											+ performance
											+ "\nTraining Error: "
											+ (100 - performance)
											+ "\n"
											+ "=====================================================================\n\n");
						}

					});
		}
		return performancebutton;
	}

	/**
	 * This method initializes findbestbutton
	 * 
	 * @return javax.swing.JButton
	 */
	private JButton getJButton4() {
		if (findbestbutton == null) {
			findbestbutton = new JButton();
			findbestbutton.setBounds(new java.awt.Rectangle(340, 30, 175, 20));
			findbestbutton.setVisible(false);
			findbestbutton
					.addActionListener(new java.awt.event.ActionListener() {
						public void actionPerformed(java.awt.event.ActionEvent e) {
							int state = JOptionPane
									.showConfirmDialog(
											null,
											"This operation is computationally expansive and may require few minutes. Continue?",
											"Warning", JOptionPane.YES_OPTION
													& JOptionPane.NO_OPTION);
							if (state != JOptionPane.YES_OPTION)
								return;
							reinitClassifier();
							console
									.setText(console.getText()
											+ "============================ Find Best Parameter ====================\n"
											+ " Best Parameter found : "
											+ learner.findparameter()
											+ "\n"
											+ "=====================================================================\n\n");
						}

					});
		}
		return findbestbutton;
	}

	/**
	 * This method initializes printdatabutton
	 * 
	 * @return javax.swing.JButton
	 */
	private JButton getPrintdatabutton() {
		if (printdatabutton == null) {
			printdatabutton = new JButton();
			printdatabutton
					.setBounds(new java.awt.Rectangle(277, 392, 116, 20));
			printdatabutton.setText("Print Dataset");
			printdatabutton
					.addActionListener(new java.awt.event.ActionListener() {
						public void actionPerformed(java.awt.event.ActionEvent e) {
							reinitClassifier();
							console
									.setText(console.getText()
											+ "=============================== Dataset =============================\n"
											+ "Data\tLabel\tWeight\n"
											+ learner.getdata().print(
													learner.getdata().fulldata,
													-1)
											+ "\n"
											+ "=====================================================================\n\n");
						}
					});
		}
		return printdatabutton;
	}

	/**
	 * This method initializes jCheckBox
	 * 
	 * @return javax.swing.JCheckBox
	 */
	private JCheckBox getJCheckBox2() {
		if (jCheckBox == null) {
			jCheckBox = new JCheckBox();
			jCheckBox.setBounds(new java.awt.Rectangle(165, 392, 105, 20));
			jCheckBox.setSelected(false);
			jCheckBox.setText("Shuffle data");
			jCheckBox.setBackground(SystemColor.control);
		}
		return jCheckBox;
	}

} // @jve:decl-index=0:visual-constraint="173,145"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -