Hello Mr. Gilles Sadowski, Currently the idea is that RegressionDataLoader only creates/converts and contains StatisticsMatrix objects which hold the input data. Then when the RegressionDataLoader object is passed, it’s like passing those StatisticsMatrix objects to the intended Regression classes where all the calculations are done, creating new StatisticsMatrix objects when called, among returning other results in other data types as well.
So RegressionDataLoader is agnostic to the Regression classes and there wouldn’t be any operations/methods in the RegressionDataLoader which pertain to passing to Regression since it’s just converted raw data, so I don’t believe an interface is needed….perhaps I don’t fully understand what you mean by “IO-agnostic interface.” As for the printResult method and RegressionResult class, I will iterate the data flow diagram to include them. Cheers, -Ben From: Ben Nguyen Sent: Wednesday, May 22, 2019 11:45 AM To: Commons Developers List Subject: [STATISTICS-13][Regression] Data Flow and User Interaction Design Hello, The following was initiated via Slack in commons-gsoc Please see “data flow v1.png” for diagram as attachment or in issue link: https://issues.apache.org/jira/browse/STATISTICS-13 @Eric Barnhill @Gilles This is my take on how user interactions and data flow would look like.... any further suggestions or redflags? GILLES replied: @Ben Nguyen [Re: "red flags"] Please separate the computations ("Regression") from the input ("DataLoader" should not be passed to "Regression" but should produce an IO-agnostic interface) and the output ("printResult" should not be a method in "Regression" but in an independent class that would take "RegressionResult" as an argument). These are general design issues; as such discussion should/must happen on the "dev" ML. Thanks. Cheers, -Ben