Hello,
I am trying to run a node classification on a fraud dataset.
The relevant properties are splitted between two nodes: Customer [age, gender, fastRP) and Transaction [amount, fraud]. If I run the code, I get this error:
The feature properties ['age_group', 'amount', 'fastrp_embedding', 'gender_group'] are not present for all requested labels. Requested labels: ['Customer', 'Transaction']. Properties available on all requested labels: ['']
CALL gds.alpha.ml.nodeClassification.train('fraud_model_data', {
nodeLabels: ['Transaction','Customer'],
modelName: 'fraud-model-properties',
featureProperties: ['age_group', 'fastrp_embedding', 'gender_group','amount'],
targetProperty: 'fraud',
metrics: ['F1_WEIGHTED','ACCURACY'],
holdoutFraction: 0.2,
validationFolds: 5,
randomSeed: 2,
params: [
{penalty: 0.0625, maxIterations: 1000},
{penalty: 0.125, maxIterations: 1000},
{penalty: 0.25, maxIterations: 1000},
{penalty: 0.5, maxIterations: 1000},
]
}) YIELD modelInfo
If I only select a single nodeLabel ('Transaction' or 'Customer'), I am able to see the properties of the selected node but not the properties from the other node.
This is the code to create the in-memory graph:
CALL gds.graph.create(
'fraud_model_data', {
Customer: {
label: 'Customer',
properties: {
fastrp_embedding:{property:'fastRPExtended-embedding', defaultValue:0},
gender_group:{property:'gender_group', defaultValue:0},
age_group:{property:'age_group', defaultValue:0}
}
},
Transaction: {
label: 'Transaction',
properties: {
fraud:{property:'fraud', defaultValue:0},
amount:{property:'amount', defaultValue:0},
category_group:{property:'category_group', defaultValue:0}
}
},
Bank: {
label: 'Bank',
properties: {
}
}
},
'*'
)
YIELD graphName, nodeCount, relationshipCount;
Do you have any solution for this problem? Thank you very much!