LinearRegressionused 在旧版本的scikit-learn中有一个normalize参数;例如,在v1.0中,根据documentation,模型用于:

  1. class sklearn.linear_model.LinearRegression(fit_intercept=True, normalize=False, copy_X=True, n_jobs=None)

但是normalize参数已经伴随着一个警告:

  • 自版本1.0起已弃用:* normalize * 在版本1.0中已弃用,将在1.2中删除。*

事实上,normalize参数在新的scikit-learn版本中被删除了;在当前最新的版本v1.3中,根据documentation,类是

  1. class sklearn.linear_model.LinearRegression(*, fit_intercept=True, copy_X=True, n_jobs=None, positive=False)

所以,现在的情况是,你正在使用一个新版本的scikit-learn,而你正在阅读一本基于旧版本(1.1或更早版本)的书,所以当你用normalize参数调用LinearRegression()时,你会毫不意外地得到你报告的错误消息。
根据您的具体意图,您有两种选择:

  • 如果你想坚持使用这本书,你应该安装scikit-learn v1.1或更早的版本。
  • 如果您不介意稍微偏离书中的示例,那么应该从find_best_model_using_gridsearchcv函数中删除'params':{'normalize':[True, False]