//Convert a single instance over
func (as *AttributeSelection) convertInstance(inst data.Instance) data.Instance {
	newVasl := make([]float64, 0, len(as.output.Attributes()))
	for i, current := range as.selectedAttributes {
		fmt.Println(current, i, inst.RealValues())
		newVasl = append(newVasl, inst.Value(current))
		//newVasl[i] = inst.Value(current)
		//fmt.Println(newVasl[i], "newVasl[i]")
	}
	fmt.Println("----------------------------------------------")
	newInst := data.NewInstance()
	//	newInst.SetNumAttributes(len(newVasl))
	values_ := make([]float64, len(newVasl))
	indices_ := make([]int, len(newVasl))
	vals := 0
	for i := 0; i < len(newVasl); i++ {
		if newVasl[i] != 0 {
			values_[vals] = newVasl[i]
			indices_[vals] = i
			vals++
		}
	}
	values := make([]float64, vals)
	indices := make([]int, vals)
	copy(values, values_)
	copy(indices, indices_)
	//	fmt.Println(values, "values")
	//	fmt.Println(indices, "indices")
	for k, i := range indices {
		if as.output.Attribute(i).IsNominal() {
			newInst.AddValues(as.output.Attribute(i).Values()[int(values[k])])
		} else {
			newInst.AddValues(as.output.Attribute(i).Name())
		}
	}
	newInst.SetIndices(indices)
	newInst.SetRealValues(values)
	newInst.SetWeight(inst.Weight())
	return newInst
}