summary in this we started with the oldest trick in the bookordinary least squares it is still sometimes good enough howeverwe also saw that more modern approaches that avoid overfitting can give us better results we used ridgelassoand elastic netsthese are the state-of-the-art methods for regression we once again saw the danger of relying on training error to estimate generalizationit can be an overly optimistic estimate to the point where our model has zero training errorbut we can know that it is completely useless when thinking through these issueswe were led into two-level cross-validationan important point that many in the field still have not completely internalized throughoutwe were able to rely on scikit-learn to support all the operations we wanted to performincluding an easy way to achieve correct cross-validation at the end of this we started to shift gears and look at recommendation problems for nowwe approached these problems with the tools we knewpenalized regression in the next we will look at newbetter tools for this problem these will improve our results on this dataset this recommendation setting also has disadvantage that it requires that users have rated items on numeric scale only fraction of users actually perform this operation there is another type of information that is often easier to obtainwhich items were purchased together in the next we will also see how to leverage this information in framework called basket analysis