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

📄 numerictransformationoperatorproperty.java

📁 一个数据挖掘软件ALPHAMINERR的整个过程的JAVA版源代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
			if (method == NumericTransformationOperator.FIXED_BIN_WIDTH) {
				m_RadioFixedBinWidth.setSelected(true);
				setEnabledBin(false);

			} else {
				m_RadioNoOfBin.setSelected(true);
				setEnabledBin(true);
			}
		}

		value = (String) m_Node.getParameterValue("fixedBinWidth");
		if (value != null)
			m_FixedBinWidthText.setText(value);
		else
			m_NoOfBinText.setText("12");

		value = (String) m_Node.getParameterValue("numBins");
		if (value != null)
			m_NoOfBinText.setText(value);
		else
			m_FixedBinWidthText.setText("10.0");

		value = (String) m_Node.getParameterValue("mode");
		if (value != null) {
			mode = Integer.parseInt(value);
			if (mode == NumericTransformationOperator.DISCRETIZATION) {
				m_RadioDiscret.setSelected(true);
				setEnabledDiscret(true);
			} else {
				m_RadioCateg.setSelected(true);
				setEnabledDiscret(false);
			}
		}
		/*
		 * set values that dependent of the parent node
		 */
		if (m_MetaData == null || m_Node == null)
			return;
		int m_Column = m_MetaData.getAttributesNumber();
		if (m_Column == 0)
			return;

		MiningAttribute[] miningAttributes = m_MetaData.getAttributesArray();
		MiningAttribute attribute = null;
		String name = null;
		int index = 0;
		int attrIndex = 0;
		m_AttributeCombo.removeAllItems();
		m_AttributeCombo.addItem(DEFAULT);
		for (int i = 0; i < m_Column; i++) {
			value = (String) m_Node.getParameterValue("target");
			attribute = miningAttributes[i];
			name = attribute.getName();
			if (attribute instanceof NumericAttribute) {
				m_AttributeCombo.addItem(name);
				index++;
				if (value != null && value.equalsIgnoreCase(name)) {
					attrIndex = index;
				}
			}
		}
		m_AttributeCombo.setSelectedIndex(attrIndex);

		//		if(mAtt==null || !(mAtt instanceof NumericAttribute))
		//		{
		//		    m_RadioCateg.setSelected(true);
		//			setEnabledDiscret(false);
		//			m_RadioNoOfBin.setSelected(true);
		//			m_NoOfBinText.setText("12");
		//			m_FixedBinWidthText.setText("10.0");
		//		}
	}

	private boolean setContent() {
		if (!validateProperty())
			return false;

		//<< added by Joyce 2005/03/17 to clear result
		//Operator op = m_ParentPanel.getOperator(m_NodeID);
		//((NumericTransformationOperator) op).clearResult();
		clearOperatorTempResult();
		//>>

		String attrName = null;
		int method = -1;
		int mode = -1;
		String numBins = null;
		String binWidth = null;

		attrName = (String) m_AttributeCombo.getSelectedItem();

		if (m_RadioCateg.isSelected())
			mode = NumericTransformationOperator.CATEGORIZATION;
		else
			mode = NumericTransformationOperator.DISCRETIZATION;

		if (m_RadioNoOfBin.isSelected())
			method = NumericTransformationOperator.NUM_BINS;
		else
			method = NumericTransformationOperator.FIXED_BIN_WIDTH;

		numBins = m_NoOfBinText.getText().trim();
		binWidth = m_FixedBinWidthText.getText().trim();

		m_Node.getParameters().remove("target");
		m_Node.getParameters().remove("mode");
		m_Node.getParameters().remove("method");
		m_Node.getParameters().remove("numBins");
		m_Node.getParameters().remove("fixedBinWidth");

		m_Node.setParameterValue("target", attrName);
		m_Node.setParameterValue("mode", Integer.toString(mode));
		m_Node.setParameterValue("method", Integer.toString(method));

		if (numBins != null)
			m_Node.setParameterValue("numBins", numBins);
		if (binWidth != null)
			m_Node.setParameterValue("fixedBinWidth", binWidth);

		//<< added by Joyce 2005/02/23
		//        numBins = m_NoOfBinText.getText().trim();
		//        binWidth = m_FixedBinWidthText.getText().trim();
		//        m_Node.setParameterValue("numBins", numBins);
		//        m_Node.setParameterValue("fixedBinWidth", binWidth);
		//>>
		return true;

	}

	public void actionPerformed(ActionEvent e) {

		if (e.getSource() == m_ButtonApply) {
			if (setContent()) {
				m_ParameterChanged = true;
//				m_ParentPanel.getCaseWindow().setModified(true);
				setPropertiesModified();
			}
		} else if (e.getSource() == m_ButtonReset) {
			getContent();
		} else if (e.getSource() == m_ButtonClose) {
			close();
		} else if (e.getSource() == m_RadioNoOfBin) {
			if (m_RadioNoOfBin.isSelected()) {
				m_NoOfBinText.setEnabled(true);
				m_FixedBinWidthText.setEnabled(false);
			} else {
				m_NoOfBinText.setEnabled(false);
				m_FixedBinWidthText.setEnabled(true);
			}
		} else if (e.getSource() == m_RadioFixedBinWidth) {
			if (m_RadioFixedBinWidth.isSelected()) {
				m_NoOfBinText.setEnabled(false);
				m_FixedBinWidthText.setEnabled(true);
			} else {
				m_NoOfBinText.setEnabled(true);
				m_FixedBinWidthText.setEnabled(false);
			}
		}

	}

	public void stateChanged(ChangeEvent e) {
		setEnabledDiscret(m_RadioDiscret.isSelected());

	}

	private void setEnabledBin(boolean a_flag) {
		m_NoOfBinText.setEnabled(a_flag);
		m_FixedBinWidthText.setEnabled(!a_flag);
	}

	private void setEnabledDiscret(boolean a_flag) {
		m_NoOfBinText.setEnabled(a_flag);
		m_FixedBinWidthText.setEnabled(a_flag);
		m_RadioNoOfBin.setEnabled(a_flag);
		m_RadioFixedBinWidth.setEnabled(a_flag);

		if (a_flag == true) {
			if (m_RadioFixedBinWidth.isSelected()) {
				m_NoOfBinText.setEnabled(false);
				m_FixedBinWidthText.setEnabled(true);
			} else {
				m_NoOfBinText.setEnabled(true);
				m_FixedBinWidthText.setEnabled(false);
			}
		}

	}

	private boolean validateProperty() {
		String message = "";
		boolean setFocus = false;

		if (m_AttributeCombo.getSelectedIndex() <= 0) {
			m_AttributeCombo.requestFocus();
			setFocus = true;
			message += Resource.srcStr("BinMessage");
			m_MessageDialog.showWarning(message, Resource.srcStr("InvalidValueMessage"));
			return false;
		}

		if (m_RadioDiscret.isSelected()) {
			if (m_RadioNoOfBin.isSelected()) {
				String value = m_NoOfBinText.getText().trim();

				// if (!ValueValidator.isNumeric(value)
				if (ValueValidator.isAlphabet(value)
						|| ValueValidator.containsSpace(value)
						|| !ValueValidator.largerThan(value, 1, true)) {
					message += Resource.srcStr("BinMessage");
					if (!setFocus) {
						m_NoOfBinText.requestFocus();
						setFocus = true;
					}
					m_NoOfBinText.setText(null);
					//message += "No. of bins should be an integer greater
					// than or equal to 1\n";
					m_MessageDialog.showWarning(message, Resource.srcStr("InvalidValueMessage"));
					return false;
				}

				if (!ValueValidator.isInteger(value)) {
					message += Resource.srcStr("BinMessage1");
					if (!setFocus) {
						m_NoOfBinText.requestFocus();
						setFocus = true;
					}
					m_NoOfBinText.setText(null);
					//message += "No. of bins should be an integer greater
					// than or equal to 1\n";
					m_MessageDialog.showWarning(message, Resource.srcStr("InvalidValueMessage"));
					return false;
				}

			} else {
				String value = m_FixedBinWidthText.getText().trim();
				if (!ValueValidator.isDouble(value)
						|| !ValueValidator.largerThan(value, 0.0, false)) {
					if (!setFocus) {
						m_FixedBinWidthText.requestFocus();
						setFocus = true;
					}
					m_FixedBinWidthText.setText(null);
					message += Resource.srcStr("BinMessage2");
					m_MessageDialog.showWarning(message, Resource.srcStr("InvalidValueMessage"));
					return false;
				}
			}
		}

		//        if(message.equals(""))
		return true;
		//        else {
		//            MessageDialog.showWarning(message, "Invalid input values");
		//            return false;
		//        }

	}

	public static void main(String[] args) {
	}

}

⌨️ 快捷键说明

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