📄 outliertreatmentoperatorproperty.java
字号:
m_RadioMissingVal.setSelected(true);
EnabledNumericAttribute(true);
value = (String) m_Node.getParameterValue("outlier");
if (value != null) {
if (value.equalsIgnoreCase(TreatOutlierAttributeValue.OUTLIER_TREATMENT_METHOD_asMissingValues))
m_RadioMissingVal.setSelected(true);
else
m_RadioExtremeVal.setSelected(true);
}
value = (String) m_Node.getParameterValue("lowerBound");
if (value != null)
m_LowerBoundText.setText(value);
else
m_LowerBoundText.setText("-10.0");
value = (String) m_Node.getParameterValue("upperBound");
if (value != null)
m_UpperBoundText.setText(value);
else
m_UpperBoundText.setText("10.0");
// value = m_Node.getParameterValue("min");
// if (value != null)
// m_MinText.setText(value);
// else
// m_MinText.setText("");
// // m_MinText.setText(Double.toString(m_MinValues[attrIndex-1]));
//
// value = m_Node.getParameterValue("max");
// if (value != null)
// m_MaxText.setText(value);
// else
// m_MaxText.setText("");
// // m_MaxText.setText(Double.toString(m_MaxValues[attrIndex-1]));
/*
* set values dependent of parent
*/
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;
MiningAttribute mAtt = null;
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();
m_AttributeCombo.addItem(name);
index++;
if (value != null && value.equalsIgnoreCase(name)) {
attrIndex = index;
mAtt = attribute;
}
}
m_AttributeCombo.setSelectedIndex(attrIndex);
value = (String) m_Node.getParameterValue("targetType");
if (mAtt != null) {
if (mAtt instanceof CategoricalAttribute) {
if (value != null && value.equals(CATEG)) {
EnabledCategoricalAttribute();
} else {
m_AttributeCombo.setSelectedIndex(0);
EnabledNumericAttribute(true);
}
} else {
if (value != null && value.equals(NUM)) {
EnabledNumericAttribute(true);
} else {
m_AttributeCombo.setSelectedIndex(0);
EnabledNumericAttribute(true);
}
}
return;
}
m_AttributeCombo.setSelectedIndex(0);
// m_RadioMissingVal.setSelected(true);
EnabledNumericAttribute(true);
// m_LowerBoundText.setText("-10.0");
// m_UpperBoundText.setText("-10.0");
// m_MinText.setText("");
// m_MaxText.setText("");
}
private boolean setContent() {
if (!validateProperty())
return false;
// << added by Joyce 2005/03/17 to clear result
// Operator op = m_ParentPanel.getOperator(m_NodeID);
// ((OutlierTreatmentOperator) op).clearResult();
clearOperatorTempResult();
// >>
String attrName = null;
String targetType = null;
MiningAttribute mAtt = null;
// String outlier = null;
double lowerBound = -1;
double upperBound = -1;
// double min = -1;
// double max = -1;
attrName = (String) m_AttributeCombo.getSelectedItem();
mAtt = m_MetaData.getMiningAttribute(attrName);
if (mAtt instanceof CategoricalAttribute) {
// outlier =
// TreatOutlierAttributeValue.OUTLIER_TREATMENT_METHOD_asMissingValues;
targetType = CATEG;
} else if (mAtt instanceof NumericAttribute) {
targetType = NUM;
lowerBound = Double.valueOf(m_LowerBoundText.getText().trim()).doubleValue();
upperBound = Double.valueOf(m_UpperBoundText.getText().trim()).doubleValue();
}
m_Node.getParameters().remove("target");
// m_Node.getParameters().remove("outlier");
// m_Node.getParameters().remove("min");
// m_Node.getParameters().remove("max");
m_Node.getParameters().remove("lowerBound");
m_Node.getParameters().remove("upperBound");
m_Node.getParameters().remove("targetType");
m_Node.setParameterValue("target", attrName);
m_Node.setParameterValue("taregtType", targetType);
// m_Node.setParameterValue("outlier", outlier);
if (mAtt instanceof NumericAttribute) {
m_Node.setParameterValue("targetType", NUM);
// if (outlier
// .equals(TreatOutlierAttributeValue.OUTLIER_TREATMENT_METHOD_asExtremeValues))
// {
// m_Node.setParameterValue("min", Double.toString(min));
// m_Node.setParameterValue("max", Double.toString(max));
// }
m_Node.setParameterValue("lowerBound", Double.toString(lowerBound));
m_Node.setParameterValue("upperBound", Double.toString(upperBound));
} else {
m_Node.setParameterValue("targetType", CATEG);
}
// << added by Joyce 2005/02/23
// if (m_MinText.getText().trim().length() > 0)
// {
// min = Double.valueOf(m_MinText.getText().trim()).doubleValue();
// m_Node.setParameterValue("min", Double.toString(min));
// } else
// {
// m_Node.setParameterValue("min", "");
// }
//
// if (m_MaxText.getText().trim().length() > 0)
// {
// max = Double.valueOf(m_MaxText.getText()).doubleValue();
// m_Node.setParameterValue("max", Double.toString(max));
// } else
// {
// m_Node.setParameterValue("min", "");
// }
if (m_LowerBoundText.getText().trim().length() > 0) {
lowerBound = Double.valueOf(m_LowerBoundText.getText()).doubleValue();
m_Node.setParameterValue("lowerBound", Double.toString(lowerBound));
} else {
m_Node.setParameterValue("lowerBound", "");
}
if (m_UpperBoundText.getText().trim().length() > 0) {
upperBound = Double.valueOf(m_UpperBoundText.getText()).doubleValue();
m_Node.setParameterValue("upperBound", Double.toString(upperBound));
} else {
m_Node.setParameterValue("upperBound", "");
}
// >>
return true;
}
private void calcMinMaxValues(MiningInputStream a_InputStream) throws MiningException {
// Calculate simple statistics:
SimpleStats sist = new SimpleStats();
sist.setInputStream(a_InputStream);
sist.runCalculation(true);
// Fill arrays of mean and deviation values:
MiningDataSpecification metaData = a_InputStream.getMetaData();
int nAtt = metaData.getAttributesNumber();
m_MinValues = new double[nAtt];
m_MaxValues = new double[nAtt];
for (int i = 0; i < nAtt; i++) {
MiningAttribute att = metaData.getMiningAttribute(i);
if (att instanceof NumericAttribute) {
m_MinValues[i] = sist.getCalculatedValue(att, SimpleStats.STAT_MIN);
m_MaxValues[i] = sist.getCalculatedValue(att, SimpleStats.STAT_MAX);
System.out.println(i + " min:" + m_MinValues[i] + " max:" + m_MaxValues[i]);
}
;
}
;
}
private boolean validateProperty() {
String message = "";
boolean setFocus = false;
MiningAttribute mAtt = null;
int target = m_AttributeCombo.getSelectedIndex();
if (target <= 0) {
m_AttributeCombo.requestFocus();
setFocus = true;
// m_AttributeCombo.setSelectedIndex(0);
message += Resource.srcStr("SelectAttribute");
m_MessageDialog.showWarning(message, Resource.srcStr("InvalidValueMessage"));
return false;
} else {
MiningAttribute[] miningAttributes = m_MetaData.getAttributesArray();
mAtt = miningAttributes[target - 1];
}
if (mAtt instanceof NumericAttribute) {
String lowerBound = m_LowerBoundText.getText().trim();
if (!ValueValidator.isDouble(lowerBound)) {
if (!setFocus) {
m_LowerBoundText.requestFocus();
setFocus = true;
}
m_LowerBoundText.setText(null);
message += Resource.srcStr("LowerMessage");
m_MessageDialog.showWarning(message, Resource.srcStr("InvalidValueMessage"));
return false;
}
String upperBound = m_UpperBoundText.getText().trim();
if (!ValueValidator.isDouble(upperBound)) {
if (!setFocus) {
m_UpperBoundText.requestFocus();
setFocus = true;
}
m_UpperBoundText.setText(null);
message += Resource.srcStr("UpperMessage");
m_MessageDialog.showWarning(message, Resource.srcStr("InvalidValueMessage"));
return false;
}
if (ValueValidator.isDouble(lowerBound) && ValueValidator.isDouble(upperBound)
&& !ValueValidator.largerThan(upperBound, Double.parseDouble(lowerBound), false)) {
if (!setFocus) {
m_LowerBoundText.requestFocus();
setFocus = true;
}
m_LowerBoundText.setText(null);
m_UpperBoundText.setText(null);
message += Resource.srcStr("UpperMessage1");
m_MessageDialog.showWarning(message, Resource.srcStr("InvalidValueMessage"));
return false;
}
// if (m_RadioExtremeVal.isSelected())
// {
// String min = m_MinText.getText().trim();
// if (!ValueValidator.isDouble(min))
// {
// if (!setFocus)
// {
// m_MinText.requestFocus();
// setFocus = true;
// }
// m_MinText.setText(null);
// message += "Minimum should be a double\n";
// MessageDialog.showWarning(message,
// Resource.srcStr("InvalidValueMessage"));
// return false;
// }
//
// String max = m_MaxText.getText().trim();
// if (!ValueValidator.isDouble(max))
// {
// if (!setFocus)
// {
// m_MaxText.requestFocus();
// setFocus = true;
// }
// m_MaxText.setText(null);
// message += "Maximum should be a double\n";
// MessageDialog.showWarning(message,
// Resource.srcStr("InvalidValueMessage"));
// return false;
// }
//
// if (ValueValidator.isDouble(min)
// && ValueValidator.isDouble(max)
// && !ValueValidator.largerThan(max, Double
// .parseDouble(min), false))
// {
// if (!setFocus)
// {
// m_MinText.requestFocus();
// setFocus = true;
// }
// m_MinText.setText(null);
// m_MaxText.setText(null);
// message += "Maximum should not be larger than minimum\n";
// MessageDialog.showWarning(message,
// Resource.srcStr("InvalidValueMessage"));
// return false;
// }
// }
}
// if (!message.equals("")) {
// MessageDialog.showWarning(message, "Invalid input values");
// return false;
// } else
return true;
}
public static void main(String[] args) {
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -