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

📄 miresultspanel.java

📁 MILK 提供了一个实现和比较multi-instance学习算法的环境
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
    /**   * 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 = "";    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);      if (name.toLowerCase().equals("key_dataset")) {	m_DatasetKeyList.addSelectionInterval(i, i);	selectedListDataset += "," + (i + 1);      } else if ((runCol == -1)		 && (name.toLowerCase().equals("key_run"))) {	m_RunCombo.setSelectedIndex(i);	runCol = i;      } else if (name.toLowerCase().equals("key_fold")) {	m_TTester.setFoldColumn(i);      } else if (name.toLowerCase().equals("key_scheme") ||		 name.toLowerCase().equals("key_scheme_options") ||		 name.toLowerCase().equals("key_scheme_version_id")) {	m_ResultKeyList.addSelectionInterval(i, i);	selectedList += "," + (i + 1);      } else if (name.toLowerCase().indexOf("percent_correct") != -1) {	m_CompareCombo.setSelectedIndex(i);	//	break;      } else if ((name.toLowerCase().indexOf("root_relative_squared_error") != -1) &&		 (m_CompareCombo.getSelectedIndex() < 0)) {	m_CompareCombo.setSelectedIndex(i);      }    }    if (runCol == -1) {      runCol = 0;    }    m_DatasetKeyBut.setEnabled(true);    m_RunCombo.setEnabled(true);    m_ResultKeyBut.setEnabled(true);    m_CompareCombo.setEnabled(true);        // Reconnect the configuration listener    m_RunCombo.addActionListener(m_ConfigureListener);        // Set up the TTester with the new data    m_TTester.setRunColumn(runCol);    Range generatorRange = new Range();    if (selectedList.length() != 0) {      try {	generatorRange.setRanges(selectedList);      } catch (Exception ex) {	ex.printStackTrace();	System.err.println(ex.getMessage());      }    }    m_TTester.setResultsetKeyColumns(generatorRange);    generatorRange = new Range();    if (selectedListDataset.length() != 0) {      try {	generatorRange.setRanges(selectedListDataset);      } catch (Exception ex) {	ex.printStackTrace();	System.err.println(ex.getMessage());      }    }    m_TTester.setDatasetKeyColumns(generatorRange);    m_SigTex.setEnabled(true);    setTTester();  }  /**   * Updates the test chooser with possible tests   */  protected void setTTester() {        String name = (new SimpleDateFormat("HH:mm:ss - "))      .format(new Date())      + "Available resultsets";    StringBuffer outBuff = new StringBuffer();    outBuff.append("Available resultsets\n"		   + m_TTester.resultsetKey() + "\n\n");    m_History.addResult(name, outBuff);    m_History.setSingle(name);    m_TestsModel.removeAllElements();    for (int i = 0; i < m_TTester.getNumResultsets(); i++) {      String tname = m_TTester.getResultsetName(i);      /*      if (tname.length() > 20) {	tname = tname.substring(0, 20);	} */      m_TestsModel.addElement(tname);    }    m_TestsModel.addElement("Summary");    m_TestsModel.addElement("Ranking");    m_TestsList.setSelectedIndex(0);    m_TestsButton.setEnabled(true);    m_PerformBut.setEnabled(true);      }    /**   * Carries out a t-test using the current configuration.   */  protected void performTest() {    String sigStr = m_SigTex.getText();    if (sigStr.length() != 0) {      m_TTester.setSignificanceLevel((new Double(sigStr)).doubleValue());    } else {      m_TTester.setSignificanceLevel(0.05);    }    // Carry out the test chosen and biff the results to the output area    m_TTester.setShowStdDevs(m_ShowStdDevs.isSelected());    int compareCol = m_CompareCombo.getSelectedIndex();    int tType = m_TestsList.getSelectedIndex();    String name = (new SimpleDateFormat("HH:mm:ss - "))      .format(new Date())      + (String) m_CompareCombo.getSelectedItem() + " - "      + (String) m_TestsList.getSelectedValue();    StringBuffer outBuff = new StringBuffer();    outBuff.append(m_TTester.header(compareCol));    outBuff.append("\n");    m_History.addResult(name, outBuff);    m_History.setSingle(name);    try {      if (tType < m_TTester.getNumResultsets()) {	outBuff.append(m_TTester.multiResultsetFull(tType, compareCol));      } else if (tType == m_TTester.getNumResultsets()) {	outBuff.append(m_TTester.multiResultsetSummary(compareCol));      } else {	outBuff.append(m_TTester.multiResultsetRanking(compareCol));      }      outBuff.append("\n");    } catch (Exception ex) {      outBuff.append(ex.getMessage() + "\n");    }    m_History.updateResult(name);  }    public void setResultKeyFromDialog() {    ListSelectorDialog jd = new ListSelectorDialog(null, m_ResultKeyList);    // Open the dialog    int result = jd.showDialog();        // If accepted, update the ttester    if (result == ListSelectorDialog.APPROVE_OPTION) {      int [] selected = m_ResultKeyList.getSelectedIndices();      String selectedList = "";      for (int i = 0; i < selected.length; i++) {	selectedList += "," + (selected[i] + 1);      }      Range generatorRange = new Range();      if (selectedList.length() != 0) {	try {	  generatorRange.setRanges(selectedList);	} catch (Exception ex) {	  ex.printStackTrace();	  System.err.println(ex.getMessage());	}      }      m_TTester.setResultsetKeyColumns(generatorRange);      setTTester();    }  }    public void setDatasetKeyFromDialog() {    ListSelectorDialog jd = new ListSelectorDialog(null, m_DatasetKeyList);    // Open the dialog    int result = jd.showDialog();        // If accepted, update the ttester    if (result == ListSelectorDialog.APPROVE_OPTION) {      int [] selected = m_DatasetKeyList.getSelectedIndices();      String selectedList = "";      for (int i = 0; i < selected.length; i++) {	selectedList += "," + (selected[i] + 1);      }      Range generatorRange = new Range();      if (selectedList.length() != 0) {	try {	  generatorRange.setRanges(selectedList);	} catch (Exception ex) {	  ex.printStackTrace();	  System.err.println(ex.getMessage());	}      }      m_TTester.setDatasetKeyColumns(generatorRange);      setTTester();    }  }  public void setTestBaseFromDialog() {    ListSelectorDialog jd = new ListSelectorDialog(null, m_TestsList);    // Open the dialog    jd.showDialog();  }  /**   * Save the currently selected result buffer to a file.   */  protected void saveBuffer() {    StringBuffer sb = m_History.getSelectedBuffer();    if (sb != null) {      if (m_SaveOut.save(sb)) {	JOptionPane.showMessageDialog(this,				      "File saved",				      "Results",				      JOptionPane.INFORMATION_MESSAGE);      }    } else {      m_SaveOutBut.setEnabled(false);    }  }    /**   * Tests out the results panel from the command line.   *   * @param args ignored   */  public static void main(String [] args) {    try {      final JFrame jf = new JFrame("Weka Experiment: Results Analysis");      jf.getContentPane().setLayout(new BorderLayout());      final MIResultsPanel sp = new MIResultsPanel();      //sp.setBorder(BorderFactory.createTitledBorder("Setup"));      jf.getContentPane().add(sp, BorderLayout.CENTER);      jf.addWindowListener(new WindowAdapter() {	public void windowClosing(WindowEvent e) {	  jf.dispose();	  System.exit(0);	}      });      jf.pack();      jf.setSize(700, 550);      jf.setVisible(true);    } catch (Exception ex) {      ex.printStackTrace();      System.err.println(ex.getMessage());    }  }}

⌨️ 快捷键说明

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