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

📄 resultspanel.java

📁 wekaUT是 university texas austin 开发的基于weka的半指导学习(semi supervised learning)的分类器
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
    JLabel lab = new JLabel("Run field", SwingConstants.RIGHT);    gbC = new GridBagConstraints();    gbC.anchor = GridBagConstraints.EAST;    gbC.gridy = 1;     gbC.gridx = 0;    gbC.insets = new Insets(2, 10, 2, 10);    gbL.setConstraints(lab, gbC);    p3.add(lab);    gbC = new GridBagConstraints();    gbC.gridy = 1;     gbC.gridx = 1;  gbC.weightx = 100;    gbC.insets = new Insets(5,0,5,0);    gbL.setConstraints(m_RunCombo, gbC);    p3.add(m_RunCombo);        gbC = new GridBagConstraints();    gbC.anchor = GridBagConstraints.EAST;    gbC.gridy = 2;     gbC.gridx = 0;    gbC.insets = new Insets(2, 10, 2, 10);    gbL.setConstraints(m_ResultKeyLabel, gbC);    p3.add(m_ResultKeyLabel);    gbC = new GridBagConstraints();    gbC.gridy = 2;     gbC.gridx = 1;  gbC.weightx = 100;    gbC.insets = new Insets(5,0,5,0);    gbL.setConstraints(m_ResultKeyBut, gbC);    p3.add(m_ResultKeyBut);        lab = new JLabel("Comparison field", SwingConstants.RIGHT);    gbC = new GridBagConstraints();    gbC.anchor = GridBagConstraints.EAST;    gbC.gridy = 3;     gbC.gridx = 0;    gbC.insets = new Insets(2, 10, 2, 10);    gbL.setConstraints(lab, gbC);    p3.add(lab);    gbC = new GridBagConstraints();    gbC.gridy = 3;     gbC.gridx = 1;  gbC.weightx = 100;    gbC.insets = new Insets(5,0,5,0);    gbL.setConstraints(m_CompareCombo, gbC);    p3.add(m_CompareCombo);        lab = new JLabel("Significance", SwingConstants.RIGHT);    gbC = new GridBagConstraints();    gbC.anchor = GridBagConstraints.EAST;    gbC.gridy = 4;     gbC.gridx = 0;    gbC.insets = new Insets(2, 10, 2, 10);    gbL.setConstraints(lab, gbC);    p3.add(lab);    gbC = new GridBagConstraints();    gbC.gridy = 4;     gbC.gridx = 1;  gbC.weightx = 100;    gbL.setConstraints(m_SigTex, gbC);    p3.add(m_SigTex);        lab = new JLabel("Test base", SwingConstants.RIGHT);    gbC = new GridBagConstraints();    gbC.anchor = GridBagConstraints.EAST;    gbC.gridy = 5;     gbC.gridx = 0;    gbC.insets = new Insets(2, 10, 2, 10);    gbL.setConstraints(lab, gbC);    p3.add(lab);    gbC = new GridBagConstraints();    gbC.fill = GridBagConstraints.HORIZONTAL;    gbC.gridy = 5;     gbC.gridx = 1;  gbC.weightx = 100;    gbC.insets = new Insets(5,0,5,0);    gbL.setConstraints(m_TestsButton, gbC);    p3.add(m_TestsButton);    //=============== BEGIN EDIT melville ===============    lab = new JLabel("Significant digits", SwingConstants.RIGHT);    gbC = new GridBagConstraints();    gbC.anchor = GridBagConstraints.EAST;    gbC.gridy = 6;     gbC.gridx = 0;    gbC.insets = new Insets(2, 10, 2, 10);    gbL.setConstraints(lab, gbC);    p3.add(lab);    gbC = new GridBagConstraints();    gbC.gridy = 6;     gbC.gridx = 1;  gbC.weightx = 100;    gbL.setConstraints(m_PrecTex, gbC);    p3.add(m_PrecTex);    //=============== END EDIT melville ===============    lab = new JLabel("Show std. deviations", SwingConstants.RIGHT);    gbC = new GridBagConstraints();    gbC.anchor = GridBagConstraints.EAST;    gbC.gridy = 7;     gbC.gridx = 0;    gbC.insets = new Insets(2, 10, 2, 10);    gbL.setConstraints(lab, gbC);    p3.add(lab);    gbC = new GridBagConstraints();    gbC.anchor = GridBagConstraints.WEST;    gbC.gridy = 7;     gbC.gridx = 1;  gbC.weightx = 100;    gbC.insets = new Insets(5,0,5,0);    gbL.setConstraints(m_ShowStdDevs, gbC);    p3.add(m_ShowStdDevs);    JPanel output = new JPanel();    output.setLayout(new BorderLayout());    output.setBorder(BorderFactory.createTitledBorder("Test output"));    output.add(new JScrollPane(m_OutText), BorderLayout.CENTER);    JPanel mondo = new JPanel();    gbL = new GridBagLayout();    mondo.setLayout(gbL);    gbC = new GridBagConstraints();    //    gbC.anchor = GridBagConstraints.WEST;    //    gbC.fill = GridBagConstraints.HORIZONTAL;    gbC.gridy = 0;     gbC.gridx = 0;    gbL.setConstraints(p3, gbC);    mondo.add(p3);    JPanel bts = new JPanel();    bts.setLayout(new GridLayout(1,2,5,5));    bts.add(m_PerformBut);    bts.add(m_SaveOutBut);    //=============== BEGIN EDIT mbilenko ===============    bts.add(m_PlotBut);    //=============== END EDIT mbilenko ===============    gbC = new GridBagConstraints();    gbC.anchor = GridBagConstraints.NORTH;    gbC.fill = GridBagConstraints.HORIZONTAL;    gbC.gridy = 1;     gbC.gridx = 0;    gbC.insets = new Insets(5,5,5,5);    gbL.setConstraints(bts, gbC);    mondo.add(bts);    gbC = new GridBagConstraints();    //gbC.anchor = GridBagConstraints.NORTH;    gbC.fill = GridBagConstraints.BOTH;    gbC.gridy = 2;     gbC.gridx = 0; gbC.weightx = 0;    gbL.setConstraints(m_History, gbC);    mondo.add(m_History);    gbC = new GridBagConstraints();    gbC.fill = GridBagConstraints.BOTH;    gbC.gridy = 0;     gbC.gridx = 1;    gbC.gridheight = 3;    gbC.weightx = 100; gbC.weighty = 100;    gbL.setConstraints(output, gbC);    mondo.add(output);    setLayout(new BorderLayout());    add(p1, BorderLayout.NORTH);    add(mondo , BorderLayout.CENTER);  }  /**   * Sets the combo-boxes to a fixed size so they don't take up too much room   * that would be better devoted to the test output box   */  protected void setComboSizes() {        m_DatasetKeyBut.setPreferredSize(COMBO_SIZE);    m_RunCombo.setPreferredSize(COMBO_SIZE);    m_ResultKeyBut.setPreferredSize(COMBO_SIZE);    m_CompareCombo.setPreferredSize(COMBO_SIZE);    m_SigTex.setPreferredSize(COMBO_SIZE);        m_DatasetKeyBut.setMaximumSize(COMBO_SIZE);    m_RunCombo.setMaximumSize(COMBO_SIZE);    m_ResultKeyBut.setMaximumSize(COMBO_SIZE);    m_CompareCombo.setMaximumSize(COMBO_SIZE);    m_SigTex.setMaximumSize(COMBO_SIZE);        m_DatasetKeyBut.setMinimumSize(COMBO_SIZE);    m_RunCombo.setMinimumSize(COMBO_SIZE);    m_ResultKeyBut.setMinimumSize(COMBO_SIZE);    m_CompareCombo.setMinimumSize(COMBO_SIZE);    m_SigTex.setMinimumSize(COMBO_SIZE);        //=============== BEGIN EDIT melville ===============    m_PrecTex.setPreferredSize(COMBO_SIZE);    m_PrecTex.setMaximumSize(COMBO_SIZE);    m_PrecTex.setMinimumSize(COMBO_SIZE);    //=============== END EDIT melville ===============  }    /**   * Tells the panel to use a new experiment.   *   * @param exp a value of type 'Experiment'   */  public void setExperiment(Experiment exp) {        m_Exp = exp;    setFromExpEnabled();  }  /**   * Updates whether the current experiment is of a type that we can   * determine the results destination.   */  protected void setFromExpEnabled() {    if ((m_Exp.getResultListener() instanceof InstancesResultListener)	|| (m_Exp.getResultListener() instanceof DatabaseResultListener)) {      m_FromExpBut.setEnabled(true);    } else {      m_FromExpBut.setEnabled(false);    }  }  /**   * Queries the user enough to make a database query to retrieve experiment   * results.   */  protected void setInstancesFromDBaseQuery() {    try {      if (m_InstanceQuery == null) {	m_InstanceQuery = new InstanceQuery();      }      String dbaseURL = m_InstanceQuery.getDatabaseURL();      dbaseURL = (String) JOptionPane.showInputDialog(this,					     "Enter the database URL",					     "Query Database",					     JOptionPane.PLAIN_MESSAGE,					     null,					     null,					     dbaseURL);      if (dbaseURL == null) {	m_FromLab.setText("Cancelled");	return;      }      m_InstanceQuery.setDatabaseURL(dbaseURL);      m_InstanceQuery.connectToDatabase();      if (!m_InstanceQuery.experimentIndexExists()) {	m_FromLab.setText("No experiment index");	return;      }      m_FromLab.setText("Getting experiment index");      Instances index = m_InstanceQuery.retrieveInstances("SELECT * FROM "				       + InstanceQuery.EXP_INDEX_TABLE);      if (index.numInstances() == 0) {	m_FromLab.setText("No experiments available");	return;	      }      m_FromLab.setText("Got experiment index");      DefaultListModel lm = new DefaultListModel();      for (int i = 0; i < index.numInstances(); i++) {	lm.addElement(index.instance(i).toString());      }      JList jl = new JList(lm);      ListSelectorDialog jd = new ListSelectorDialog(null, jl);      int result = jd.showDialog();      if (result != ListSelectorDialog.APPROVE_OPTION) {	m_FromLab.setText("Cancelled");	return;      }      Instance selInst = index.instance(jl.getSelectedIndex());      Attribute tableAttr = index.attribute(InstanceQuery.EXP_RESULT_COL);      String table = InstanceQuery.EXP_RESULT_PREFIX	+ selInst.toString(tableAttr);      setInstancesFromDatabaseTable(table);    } catch (Exception ex) {      m_FromLab.setText("Problem reading database");    }  }    /**   * Examines the supplied experiment to determine the results destination   * and attempts to load the results.   *   * @param exp a value of type 'Experiment'   */  protected void setInstancesFromExp(Experiment exp) {    if (exp.getResultListener() instanceof InstancesResultListener) {      File resultFile = ((InstancesResultListener) exp.getResultListener())	.getOutputFile();      if ((resultFile == null) || (resultFile.getName().equals("-"))) {	m_FromLab.setText("No result file");      } else {	setInstancesFromFile(resultFile);      }    } else if (exp.getResultListener() instanceof DatabaseResultListener) {      String dbaseURL = ((DatabaseResultListener) exp.getResultListener())	.getDatabaseURL();      try {	if (m_InstanceQuery == null) {	  m_InstanceQuery = new InstanceQuery();	}	m_InstanceQuery.setDatabaseURL(dbaseURL);	m_InstanceQuery.connectToDatabase();	String tableName = m_InstanceQuery	  .getResultsTableName(exp.getResultProducer());	setInstancesFromDatabaseTable(tableName);      } catch (Exception ex) {	m_FromLab.setText("Problem reading database");      }    } else {      m_FromLab.setText("Can't get results from experiment");    }  }    /**   * Queries a database to load results from the specified table name. The   * database connection must have already made by m_InstanceQuery.   *   * @param tableName the name of the table containing results to retrieve.   */  protected void setInstancesFromDatabaseTable(String tableName) {    try {      m_FromLab.setText("Reading from database, please wait...");      final Instances i = m_InstanceQuery.retrieveInstances("SELECT * FROM "						      + tableName);      SwingUtilities.invokeAndWait(new Runnable() {	public void run() {	  setInstances(i);	}      });      m_InstanceQuery.disconnectFromDatabase();    } catch (Exception ex) {      m_FromLab.setText(ex.getMessage());    }  }    /**   * Loads results from a set of instances contained in the supplied   * file.   *   * @param f a value of type 'File'   */  protected void setInstancesFromFile(File f) {          try {      m_FromLab.setText("Reading from file...");      Reader r = new BufferedReader(new FileReader(f));      setInstances(new Instances(r));    } catch (Exception ex) {      ex.printStackTrace();      m_FromLab.setText(ex.getMessage());    }  }  /**   * Sets up the panel with a new set of instances, attempting   * to guess the correct settings for various columns.   *   * @param newInstances the new set of results.   */  public void setInstances(Instances newInstances) {    m_Instances = newInstances;    m_TTester.setInstances(m_Instances);    m_FromLab.setText("Got " + m_Instances.numInstances() + " results");    // Temporarily remove the configuration listener    m_RunCombo.removeActionListener(m_ConfigureListener);        // Do other stuff    m_DatasetKeyModel.removeAllElements();    m_RunModel.removeAllElements();    m_ResultKeyModel.removeAllElements();    m_CompareModel.removeAllElements();    int datasetCol = -1;    int runCol = -1;    String selectedList = "";    String selectedListDataset = "";      //=============== BEGIN EDIT melville ===============    boolean noise = false;//keep track of whether noise levels eval is required    boolean learning = false;//keep track of whether learning curve eval is required    boolean fraction = false;//keep track of whether fractions of datasets are provided for learning    //the key on which to base the learning curves (either total instances or fraction)     int learning_key = -1;    boolean classificationTask = false;//used to determine if regression measures should be selected      //=============== END EDIT melville ===============    for (int i = 0; i < m_Instances.numAttributes(); i++) {      String name = m_Instances.attribute(i).name();      m_DatasetKeyModel.addElement(name);      m_RunModel.addElement(name);      m_ResultKeyModel.addElement(name);      m_CompareModel.addElement(name);            //=============== BEGIN EDIT melville ===============      //If learning curves were generated then treat each      //dataset + pt combination as a different dataset      if(name.toLowerCase().equals("key_noise_levels")){	  //noise overrides learning curves - but treat noise levels	  //like pts on learning curve	  learning_key = i;	  learning = true;	  noise = true;	  //fraction = true;      }else if(name.toLowerCase().equals("key_fraction_instances") && !noise){	  //fraction overrides total_instances	  learning_key = i;	  learning = true;	  fraction = true;      }else if(name.toLowerCase().equals("key_total_instances") && !learning){	  learning_key = i;	  learning = true;      }else            //=============== END EDIT melville ===============	      if (name.toLowerCase().equals("key_dataset")) {	m_DatasetKeyList.addSelectionInterval(i, i);	selectedListDataset += "," + (i + 1);      } else if ((runCol == -1)

⌨️ 快捷键说明

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