func (ntb *NumericToBinary) convertInstance(instance data.Instance) data.Instance { inst := data.NewInstance() vals := make([]float64, len(instance.RealValues())) newIndexes := make([]int, len(instance.RealValues())) for j := range instance.RealValues() { att := ntb.input.Attribute(instance.Index(j)) if att.Type() != data.NUMERIC || instance.Index(j) == ntb.input.ClassIndex() { //fmt.Println(ntb.input.ClassIndex()) vals[j] = instance.ValueSparse(j) } else { if instance.IsMissingValue(j) { //fmt.Println("DSAD") vals[j] = instance.ValueSparse(j) } else { //fmt.Println("DSAD---") vals[j] = 1 } } newIndexes[j] = instance.Index(j) } inst.SetWeight(instance.Weight()) inst.SetRealValues(vals) inst.SetIndices(newIndexes) return inst }