Machine learning, concluded: Did no-code tools beat manual analysis?
arstechnica.com
arstechnica.com
> Smith continued: "And the business analyst is like, 'If I knew that, I wouldn't need your help!... I've got this data, I've got a business problem. I've got questions for this data. I don't know what it's worth until we actually do the analysis.' So the business analyst is thinking about just accelerating to the point where they can actually argue for or justify their use of a scarce data scientist."
Well as a data scientist I can tell you the ROI of this project is 0 because its a worthless model. Or really negative because it seems like it'd be pretty dangerous to use in practice.
The critical error here is having the business analyst scope this out at all They don't know what they're doing. They don't know how to evaluate the results or predict the likely outcomes.
1 - What problem you're trying to solve.
2 - What a valuable solution to that problem requires (in gory detail), including model metrics.
3 - What a customer is willing to pay for that solution.
4 - What the timeframe looks like for a valuable solution.
5 - How many resources (people, money) the company is willing to devote to this project.
Then the ROI on that project is zero, because there is a very high likelihood that any solution you build will not satisfy the demands of the market.
Hard disagree. Interpreting baseline models is very simple these days.
Granted our models are based on tabular data so YMMV.
There are way more interesting things to model in healthcare than clinical outcomes.
So we're going to be swapping business decisions being made via excel bugs to business decisions being made via black box ML systems.
One of the biggest fallacies that I have run into within this space is the failure to understand the problem statement. For example, this article does not mention or address models performances on very unbalanced datasets. Most classic M/S/D-L models will perform mediocrely if care is not given to understanding the statistical distributions underlying the data (or even understand the dynamics of the system such as seasonality).
In addition, the author does not address how biases are introduced by using AWS' (or insert Google, Azure, etc) algorithms...not all algorithms are codified equally.
Finally, this article demonstrates how ppl are trying to trivialize the complexity of very complex algorithms, statistics, etc with a plug-n-play...guess it doesn't help that many companies (I'm looking at you Meta) treat their DS as high caliber business analysts/intelligence units.
Okay, time to step away from the keyboard...
it is obvious that a class of executives-in-training want to make Ford Factory Workers out of machine learning operators. Do you want to be a Ford Factory Worker? maybe not but the implication is that there are others who will do it
Unfortunately the vast majority of data scientists I've worked with are already more than half way there.
Very few data scientists know how to actually model a problem. They only know how to take data, turn it into a matrix and run it through a grid search algorithm on a bucket of SKlearn models and parameters. In fact I'm sure there are data scientists reading this saying to themselves "wait, isn't that modeling?".
The frustrating part of this is, in my experience, there are a ton of important modeling problems to be solved at most companies, and yet the huge number of data scientists hired out there don't even see modeling problems that don't fit the form y = f(x).
A good quick sanity check of this is to ask a data scientist how they would model churn. An overwhelming majority will say "I'll take N days of data in the past, label who churned there, build a model and then predict who will churn in the next N days", which is absolutely the incorrect way to model churn. If you ask these people about censored data they'll just shrug their shoulders, completely ignorant of the fact that for decades people have been solving this exact same problem in the medical research community using survival analysis.
In reality there is only a small subset of real business problems that can be quickly modeled in SKlearn, and yet this type of "modeling" is the large majority of what data scientists are doing today.
Not trying to sound offensive, but it’s the same aggressive stance repeated on twitter by every other stats/econ phd. And it’s hardly ever true at any big tech company, where most data scientists (especially those writing the design docs) have PhDs in fields ripe with popular non-ml methods.
I’ve seen far more e.g. fixed-effect models in production than neural networks. Far more synthetic controls and d-in-ds in research papers than ml models. Far more survey sampling methodologies and power studies than multi-armed bandits. All from the “very few” data scientists who apparently haven’t heard of these methods.
There’s a big difference between data scientists working in industry (at least what I’ve seen) and the “learn ml in 10 minutes!” blog post authors on medium.
Canvas also seem to have nice histograms in their UI
Many assume IID or NID to make the problem tractable, but that's not how the world typically works even on the very very large data scale. More things on why many data science teams/groups/fail because too many ppl treat it as a BI/BA organization...I really should step away from the keyboard now. LOL.
Worrying about class imbalance is a classic example of how ignorant many data scientists are about how the statistical properties of the models they're using work.
For example if you are to try to "solve" class imbalance issues in a logistic model by over/under sampling you're actually throwing out important information about the prior probability of an event. Class imbalance in the data, if it reflects the real distribution of observed events, is often valuable information that will give you a better model.
Yet so many data scientists I've known see class imbalance as a major issue and when you ask "why?" it's clear they don't know even the basic principles underlying the models they're using.
There are times we you are forced to deal with a class imbalance issue due to the way this can impact training data size, but these cases are relatively rare in modern data environments.
I can see the argument where ML Engineers and DS w/out a more advanced statistics/STEM background would fail since they would continue down their list of libraries w/in their prescribed toolbox. Granted many problems can be approximated to be good enough, and let's face it, the FAANG/MAANG/whatever companies aren't running things so super critical where a user getting one extra email or ad presentation will cause them serious injury or death.
Btw, appreciate your comments.
For more details I suggest reading Frank Harrell: https://www.fharrell.com/post/classification/
As an example, train a logistic model on imbalanced data with both the real distribution of imbalanced classes and over/down sampled classes and you'll notice that the distribution of the predictions from each model is different.
This is hugely important because if you are using the output of your model as an expectation to feed into another model (for example predict expected value of a new user account given P(purchase) * E[value of purchase]), rebalancing will give you the wrong answer. This can be corrected in a logistic model by tweaking the intercept but doing this requires you to make some assumptions, and it's more artful of a process than one would hope.
You can also see this if you compare the log likelihood of the true data with the given model and the new data. The model trained on the real data will have a notably higher log likelihood.
Then there are separate issues with over/down sampling.
If you are over sampling the standard error on your coefficients will be artificially reduced by the over representation of examples from the one class, leading you to be more sure than you should be about your parameters. The point estimates should be more or less the same, but if you care at all about inference this change in standard error is a big deal. I believe, but would have to double check, that this would likewise impact the effects of regularization on your model.
If you are down sampling you are quite literally throwing out observations, and using less information than you have when modeling. Additionally you'll get the inverse problem which is artificially increased variance in the parameter estimates. Again, even if you don't care about inference you still have the problem that your regularization is very likely not working how you expect.
In my experience nearly all data scientists think they are experts in logistic regression when very few really understand this "simple" model. All of these issues here will manifest themselves in more complex models but understanding how (and how to correct them) is a much trickier question.
DS/ML/BI/WTF EVER has all become overly incestious filled with buzzwords generated by hiring managers/executives who really have no idea what they're talking about when they write the job descriptions (or they're being seriously cheap by blending job functions together such as Head of Data and Analytics...wtf is all that about. From a business function sure sounds great, technically it's a recipe to set ppl up for failure).
Even with this example where it's analysing probabilities of heart attacks which can be [retrospectively] validated with precision, I absolutely do want the doctor who says "you're high risk, these are the main reasons why and how you mitigate them" than just a model with a lower false negative rate that can't tell me why.
We had a dataset with just about 30 records and about twice as many features, about 1:3 class balance between positive and negative. Not an impossible situation at all, but there was a big premium on performance, so we threw the book at it.
Lo and behold, SVM with some particular parameters comes out on top. Ship it, right?
Not so fast, what decision did the model learn? Turns out, the model was learning decision boundaries that did not make sense. It was overfitting because the model did not know about what kinds of decision boundaries were allowable.
In the end, someone looked at a 2D scatter plot, drew a line and called it a day. It took a fraction of the effort and time of running through a box of models. It'll save the company $MM and it's trivially explainable to engineers and execs.
AutoML with blind application would've completely botched this.
This feels like something an undergrad would write for their business management class...btw, your chess analogy is flawed in that there are millions of patterns that a computer can simulate for next play. I wouldn't really call it AI per se.
Any comparative costs not using aws? Seems expensive for what he did.
Interpreting it is a more battle hardened task. Don't blindly trust such tools.
If the author took the time, he could have stitched together a completely zero-cost alternative that could have run locally on his box, but that would have gone against the argument that this is so easy that "even a monkey can do this". Don't get me wrong...AWS has some very nice libraries, especially their DL and encoding/decoding options.
I just think it was a bit heavy using Sagemaker especially for such a trivial use-case...maybe even the free Kaggle notebooks would have been a better alternative?
Also laughable about the 90% threshold that seems to STILL be the magic number for success within ML. Try applying that in your private space.
Recent threads on datarobot make me wonder how viable their product is when stuff like this is available from the major cloud providers.
Idk, right now AWS is a money printing machine.