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

📄 linearregressionoperatorproperty.java

📁 一个数据挖掘软件ALPHAMINERR的整个过程的JAVA版源代码
💻 JAVA
字号:
package eti.bi.alphaminer.patch.standard.operation.property;

// @author XiaoguangXu HITSZ-ICE

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import eti.bi.alphaminer.core.handler.ICaseHandler;
import eti.bi.alphaminer.operation.operator.INodeInfo;
import eti.bi.alphaminer.operation.property.OperatorProperty;
import eti.bi.alphaminer.patch.standard.operation.operator.LinearRegressionOperator;

import eti.bi.common.Locale.Resource;
import eti.bi.exception.SysException;

public class LinearRegressionOperatorProperty extends OperatorProperty{

	private static final long serialVersionUID = -28596853410953L;
	
	/* UI controls */
	private JButton m_ButtonReset = new JButton();
	private JButton m_ButtonSave = new JButton();
	private JButton m_ButtonCancel = new JButton();
	
	private String[] v_eliminateColinearAttribution = { "True", "False" };
	private String[] v_debug = { "True", "False" };

	private String[] v_attributeSelection = { "M5 method", "No attribution selection", "Greed method" };

	private JComboBox m_debug = new JComboBox(v_debug);
	private JComboBox m_attributeSelecte = new JComboBox(v_attributeSelection);
	private JComboBox m_eliminateColinearAttribution = new JComboBox(v_eliminateColinearAttribution);
	private JTextField m_ridge = new JTextField();
	

	
	
	public LinearRegressionOperatorProperty(String a_CaseID, String a_NodeID, String a_Name, INodeInfo a_NodeInfo,
			ICaseHandler a_CaseHandler) throws SysException {
		super(a_CaseID, a_NodeID, "LinearRegression [" + a_NodeID + "]", a_NodeInfo, a_CaseHandler);
		createLinearRegressionOperatorProperty();
		this.setTitle(Resource.srcStr("LinearRegression") + " [" + a_NodeID + "]");
	}
	
	public void actionPerformed(ActionEvent e) {
		if (e.getSource() == m_ButtonSave) {
			if (applyContent()) {
				m_ParameterChanged = true;
			}
		} else if (e.getSource() == m_ButtonReset) {
			getContent();
		} else if (e.getSource() == m_ButtonCancel)
			close();
	}

	private boolean applyContent() {
		if (validateProperty()) {
			return setContent();
		} else {
			return false;
		}
	}
	
	private void createLinearRegressionOperatorProperty() {
		JPanel propertyPanel = new JPanel();
		JPanel buttonPanel = new JPanel();
		/* propertyPanel */
		propertyPanel.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createTitledBorder(Resource
				.srcStr("LinearRegression")), BorderFactory.createEmptyBorder(2, 4, 0, 6)));
		JLabel attributeSelection = new JLabel(Resource.srcStr("attributeSelection"));
		
		JLabel debug = new JLabel(Resource.srcStr("debug"));
		JLabel eliminateColinearAttributon = new JLabel(Resource.srcStr("eliminateColinearAttribution"));
		JLabel ridge = new JLabel(Resource.srcStr("ridge"));
		
		int leftMargin = 4;
		attributeSelection.setBorder(BorderFactory.createEmptyBorder(0, leftMargin, 0, 0));
		debug.setBorder(BorderFactory.createEmptyBorder(0, leftMargin, 0, 0));
		eliminateColinearAttributon.setBorder(BorderFactory.createEmptyBorder(0, leftMargin, 0, 0));
		ridge.setBorder(BorderFactory.createEmptyBorder(0, leftMargin, 0, 0));
		propertyPanel.setLayout(new GridLayout(4, 2, 0, 5));
		propertyPanel.add(attributeSelection);
		propertyPanel.add(m_attributeSelecte);
		propertyPanel.add(debug);
		propertyPanel.add(m_debug);
		propertyPanel.add(eliminateColinearAttributon);
		propertyPanel.add(m_eliminateColinearAttribution);
		propertyPanel.add(ridge);
		propertyPanel.add(m_ridge);
	
		/* button panel */
		m_ButtonReset.setText(Resource.srcStr("m_ButtonReset"));
		m_ButtonSave.setText(Resource.srcStr("m_ButtonApply"));
		m_ButtonCancel.setSelected(false);
		m_ButtonCancel.setText(Resource.srcStr("m_ButtonClose"));
		buttonPanel.add(m_ButtonSave);
		buttonPanel.add(m_ButtonReset);
		buttonPanel.add(m_ButtonCancel);
		m_ButtonReset.addActionListener(this);
		m_ButtonSave.addActionListener(this);
		m_ButtonCancel.addActionListener(this);
		this.getContentPane().add(propertyPanel, BorderLayout.CENTER);
		this.getContentPane().add(buttonPanel, BorderLayout.SOUTH);
		this.setSize(300,240);
		getContent();
	}
	
	public boolean setContent() {
		if (m_Node == null) {
			return false;
		}
		m_Node.setParameterValue(LinearRegressionOperator.ATTRIBUTE_SELECTION_METHOD, String.valueOf(m_attributeSelecte.getSelectedIndex()));
		
		String mm_debug = null;
		if (m_debug.getSelectedIndex() == 0) {
			mm_debug = " -D ";
		} else if (m_debug.getSelectedIndex() == 1) {
			mm_debug = " ";
			
		}
		m_Node.setParameterValue(LinearRegressionOperator.DEBUG, mm_debug);
		
		String mm_eliminateColinearAttribution = null;
		
		if (m_eliminateColinearAttribution.getSelectedIndex() == 0) {
			mm_eliminateColinearAttribution = " -C ";
		} else if (m_eliminateColinearAttribution.getSelectedIndex() == 1) {
			mm_eliminateColinearAttribution = " ";
		}
		m_Node.setParameterValue(LinearRegressionOperator.ELIMINATE_COLINEAR_ATTRIBUTES, mm_eliminateColinearAttribution);
		
		m_Node.setParameterValue(LinearRegressionOperator.RIDGE, String.valueOf(m_ridge.getText().trim()));
		
		clearOperatorTempResult();
		setPropertiesModified();
		return true;
	}
	
	private void getContent() {
		if (m_Node == null)
			return;
		
		String as = (String) m_Node.getParameterValue(LinearRegressionOperator.ATTRIBUTE_SELECTION_METHOD);
		if (as == null) {
			as = LinearRegressionOperator.DEFAULT_ATTRIBUTE_SELECTION_METHOD;
			//m_attributeSelecte.setSelectedIndex(0);
		} else if (as == "0") {
			m_attributeSelecte.setSelectedIndex(0);
		} else if (as == "1") {
			m_attributeSelecte.setSelectedIndex(1);
		} else if (as == "2") {
			m_attributeSelecte.setSelectedIndex(2);
		}
		
		
		
		String de= (String) m_Node.getParameterValue(LinearRegressionOperator.DEBUG);
		if (de == null) {
			de = LinearRegressionOperator.DEFAULT_DEBUG;
		}
		if (de == "-D")
			m_debug.setSelectedIndex(0);
		else
			m_debug.setSelectedIndex(1);
		
		String ea = (String) m_Node.getParameterValue(LinearRegressionOperator.ELIMINATE_COLINEAR_ATTRIBUTES);
		
		if (ea == null) {
			ea = LinearRegressionOperator.DEFAULT_ELIMINATE_COLINEAR_ATTRIBUTES;
		}
		if (ea == "-C")
			m_debug.setSelectedIndex(0);
		else
			m_debug.setSelectedIndex(1);
		
		String ri = (String) m_Node.getParameterValue(LinearRegressionOperator.RIDGE);
		if (ri == null) {
			ri = LinearRegressionOperator.DEFAULT_RIDGE;
		}
		m_ridge.setText(ri);
		
	}
	private boolean validateProperty() {
		return true;
	}
	
}

⌨️ 快捷键说明

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