📄 lookupservice.java
字号:
}
if ( settings instanceof PartitioningClusteringSettings )
{
ServiceAlgorithmParameter[] sap = null;
int npar = 3;
sap = new ServiceAlgorithmParameter[npar];
for (int i = 0; i < npar; i++) {
sap[i] = new ServiceAlgorithmParameter();
sap[i].setValue("");
sap[i].setDomain(0);
sap[i].setID("");
sap[i].setChildIDs("");
};
sap[0].setName("linkage");
sap[0].setType("int");
sap[0].setValue("1");
sap[0].setDescription("minimum links for vectors to belong to a cluster");
sap[0].setStatus(0);
sap[1].setName("threshold");
sap[1].setType("double");
sap[1].setValue("0.1");
sap[1].setDescription("threshold for connecting clusters");
sap[1].setStatus(0);
sapVec.addElement(sap);
}
if (sapVec.size() == 0)
throw new MiningException("unknown class of mining settings");
// Assemble global SAP array from vectors:
int nsap = 0;
for (int i = 0; i < sapVec.size(); i++)
nsap = nsap + sapVec.elementAt(i).length;
int isap = 0;
ServiceAlgorithmParameter[] sap = new ServiceAlgorithmParameter[nsap];
for (int i = 0; i < sapVec.size(); i++) {
ServiceAlgorithmParameter[] sp = sapVec.elementAt(i);
for (int j = 0; j < sp.length; j++) {
sap[isap] = sp[j];
isap = isap + 1;
};
}
return sap;
}
/**
* Fills mining settings with values given by the array of service algorithm
* parameters.
*
* Some settings require meta data assigned because some algorithm parameters
* refer to mining attributes through their names.
*
* @param settings instance of mining settings class to be set
* @param sap array of algorithm parameters we prescribed values
* @throws MiningException
*/
public static void buildMiningSettingsFromAlgorithmParam(MiningSettings settings,
ServiceAlgorithmParameter[] sap) throws MiningException {
MiningDataSpecification metaData = settings.getDataSpecification();
try {
if (settings instanceof AssociationRulesSettings) {
AssociationRulesSettings sett = (AssociationRulesSettings)
settings;
for (int i = 0; i < sap.length; i++) {
String name = sap[i].getName();
if (name.equals("minimumSupport"))
{
String value = sap[i].getValue();
sett.setMinimumSupport( Double.parseDouble(value) );
}
else
if (name.equals("minimumConfidence"))
{
String value = sap[i].getValue();
sett.setMinimumConfidence( Double.parseDouble(value) );
}
else
if (name.equals("itemIdName"))
{
String value = sap[i].getValue();
sett.setItemId( metaData.getMiningAttribute(value) );
}
else
if (name.equals("transactionIdName"))
{
String value = sap[i].getValue();
sett.setTransactionId( metaData.getMiningAttribute(value) );
}
};
}
if (settings instanceof SequentialSettings) {
SequentialSettings sett = (SequentialSettings)
settings;
for (int i = 0; i < sap.length; i++) {
String name = sap[i].getName();
if (name.equals("minimumSupport"))
{
String value = sap[i].getValue();
sett.setMinimumSupport( Double.parseDouble(value) );
}
else
if (name.equals("generateRules"))
{
String value = sap[i].getValue();
boolean bval = false;
if (value.equals("true")) bval = true;
sett.setGenerateRules( bval );
}
else
if (name.equals("minimumConfidence"))
{
String value = sap[i].getValue();
sett.setMinimumConfidence( Double.parseDouble(value) );
}
else
if (name.equals("itemIdName"))
{
String value = sap[i].getValue();
sett.setItemId( metaData.getMiningAttribute(value) );
}
else
if (name.equals("transactionIdName"))
{
String value = sap[i].getValue();
sett.setTransactionId( metaData.getMiningAttribute(value) );
}
else
if (name.equals("itemIndexName"))
{
String value = sap[i].getValue();
sett.setItemIndex( metaData.getMiningAttribute(value) );
}
}
}
if (settings instanceof CustomerSequentialSettings) {
CustomerSequentialSettings sett = (CustomerSequentialSettings)
settings;
for (int i = 0; i < sap.length; i++) {
String name = sap[i].getName();
if (name.equals("minimumSupport"))
{
String value = sap[i].getValue();
sett.setMinimumSupport( Double.parseDouble(value) );
}
else
if (name.equals("generateRules"))
{
String value = sap[i].getValue();
boolean bval = false;
if (value.equals("true")) bval = true;
sett.setGenerateRules( bval );
}
else
if (name.equals("minimumConfidence"))
{
String value = sap[i].getValue();
sett.setMinimumConfidence( Double.parseDouble(value) );
}
else
if (name.equals("itemIdName"))
{
String value = sap[i].getValue();
sett.setItemId( metaData.getMiningAttribute(value) );
}
else
if (name.equals("transactionPositionName"))
{
String value = sap[i].getValue();
sett.setTransactionPosition ( metaData.getMiningAttribute(value) );
}
else
if (name.equals("customerIdName"))
{
String value = sap[i].getValue();
sett.setCustomerId( metaData.getMiningAttribute(value) );
}
};
}
if (settings instanceof SupervisedMiningSettings) {
SupervisedMiningSettings sett = (SupervisedMiningSettings)
settings;
for (int i = 0; i < sap.length; i++) {
String name = sap[i].getName();
if (name.equals("costFunction"))
{
String value = sap[i].getValue();
sett.setCostFunction( value );
}
else
if (name.equals("confidenceAttributeName"))
{
String value = sap[i].getValue();
sett.setConfidenceAttributeName( value );
}
else
if (name.equals("predictedAttributeName"))
{
String value = sap[i].getValue();
sett.setPredictedAttributeName( value );
}
else
if (name.equals("targetName"))
{
String value = sap[i].getValue();
sett.setTarget( metaData.getMiningAttribute(value) );
}
};
}
if (settings instanceof ClassificationSettings) {
ClassificationSettings sett = (ClassificationSettings)
settings;
for (int i = 0; i < sap.length; i++) {
String name = sap[i].getName();
if (name.equals("costMatrix"))
{
@SuppressWarnings("unused") String value = sap[i].getValue();
sett.setCostMatrix( new com.prudsys.pdm.Models.Classification.CostMatrix() );
}
};
}
if (settings instanceof DecisionTreeSettings) {
DecisionTreeSettings sett = (DecisionTreeSettings)
settings;
for (int i = 0; i < sap.length; i++) {
String name = sap[i].getName();
if (name.equals("minDecreauseInImpurity"))
{
String value = sap[i].getValue();
sett.setMinDecreaseInImpurity( Double.parseDouble(value) );
}
else
if (name.equals("maxDepth"))
{
String value = sap[i].getValue();
int val;
if ( value.equals("Integer.MAX_VALUE") )
val = Integer.MAX_VALUE;
else
val = Integer.parseInt(value);
sett.setMaxDepth( val );
}
else
if (name.equals("maxSplits"))
{
String value = sap[i].getValue();
int val;
if ( value.equals("Integer.MAX_VALUE") )
val = Integer.MAX_VALUE;
else
val = Integer.parseInt(value);
sett.setMaxSplits( val );
}
else
if (name.equals("maxSurrogates"))
{
String value = sap[i].getValue();
sett.setMaxSurrogates( Integer.parseInt(value) );
}
else
if (name.equals("minNodeSize"))
{
String value = sap[i].getValue();
sett.setMinNodeSize( Double.parseDouble(value), sett.getMinNodeSizeUnit() );
}
else
if (name.equals("minNodeSizeUnit"))
{
String value = sap[i].getValue();
sett.setMinNodeSizeUnit( Integer.parseInt(value) );
}
}
}
if (settings instanceof RegressionSettings) {
@SuppressWarnings("unused") RegressionSettings sett = (RegressionSettings)
settings;
for (int i = 0; i < sap.length; i++) {
@SuppressWarnings("unused") String name = sap[i].getName();
};
}
if (settings instanceof SparseGridsSettings) {
SparseGridsSettings sett = (SparseGridsSettings)
settings;
for (int i = 0; i < sap.length; i++) {
String name = sap[i].getName();
if (name.equals("lambda"))
{
String value = sap[i].getValue();
sett.setLambda( Double.parseDouble(value) );
}
else
if (name.equals("coarseGrid"))
{
String value = sap[i].getValue();
boolean bval = false;
if (value.equals("true")) bval = true;
sett.setCoarseGrid( bval );
}
else
if (name.equals("waveletBasis"))
{
String value = sap[i].getValue();
boolean bval = false;
if (value.equals("true")) bval = true;
sett.setWaveletBasis( bval );
}
else
if (name.equals("basisDegree"))
{
String value = sap[i].getValue();
sett.setBasisDegree( Integer.parseInt(value) );
}
else
if (name.equals("level"))
{
String value = sap[i].getValue();
sett.setLevel( Integer.parseInt(value) );
}
else
if (name.equals("sgType"))
{
String value = sap[i].getValue();
sett.setSgType( Integer.parseInt(value) );
}
else
if (name.equals("attributeLevels"))
{
@SuppressWarnings("unused") String value = sap[i].getValue();
sett.setAttributeLevels( new int[0] );
}
}
}
if (settings instanceof SupportVectorSettings) {
SupportVectorSettings sett = (SupportVectorSettings)
settings;
for (int i = 0; i < sap.length; i++) {
String name = sap[i].getName();
if (name.equals("C"))
{
String value = sap[i].getValue();
sett.setC( Double.parseDouble(value) );
}
else
if (name.equals("degree"))
{
String value = sap[i].getValue();
sett.setDegree( Double.parseDouble(value) );
}
else
if (name.equals("gamma"))
{
String value = sap[i].getValue();
sett.setGamma( Double.parseDouble(value) );
}
else
if (name.equals("coef0"))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -