huaxingao commented on issue #27978:
URL: https://github.com/apache/spark/pull/27978#issuecomment-617429834


   Thanks for the comments. Sorry for the late reply, I got side tracked. 
   > moving transformation function into object ChiSqSelectorModel, and then 
reusing it in other classes
   
   I prefer not to call ```ChiSqSelectorModel.transform``` in 
```ANVASelector``` and ```FValueSelector```.  
   
   > In this way, there will be no breaking change
   
   We actually don't have any breaking change. The MiMa Exception is false 
positive, there is no real binary incompatibility.
   
   In addition  to the transform method, there are also lots of common code in 
```fit``` method among all these Selectors. I still prefer to make Selector 
into an abstract class for code reuse. Seems to me this is the right approach. 
We have similar approach in current code. For example, we have abstract class 
```LSH```. Subclasses ```BucketedRandomProjectionLSH``` and ```MinHashLSH``` 
implement the abstract method ```createRawLSHModel``` and reuse super class 
```transform``` and ```fit``` methods. 


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to