Python 如何仅获取模型的名称';学习中的对象是什么?

Python 如何仅获取模型的名称';学习中的对象是什么?,python,scikit-learn,Python,Scikit Learn,我有一个愚蠢的问题 我已经在scikit learn中进行了交叉验证,并希望使用这些值生成更直观的信息​​每种型号我都有 但是,我无法仅访问要插入到数据帧中的模板名称。始终随参数一起提供。是否有一些创建对象的方法只访问模型的名称,而不访问其参数。或者我必须创建一个外部列表,其中包含它的名称 我使用: for model in models: scores = cross_val_score(model, X, y, cv=5) print(f'Name model: {model}

我有一个愚蠢的问题

我已经在scikit learn中进行了交叉验证,并希望使用这些值生成更直观的信息​​每种型号我都有

但是,我无法仅访问要插入到数据帧中的模板名称。始终随参数一起提供。是否有一些创建对象的方法只访问模型的名称,而不访问其参数。或者我必须创建一个外部列表,其中包含它的名称

我使用:

for model in models:
   scores = cross_val_score(model, X, y, cv=5)
   print(f'Name model: {model} , Mean score: {scores.mean()}')
但我获得了带有参数的名称:

Name model: LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False), Mean score: 0.8066782865537986
事实上,我想通过这种方式获得信息:

Name Model: LinearRegression, Mean Score: 0.8066782865537986
谢谢

您可以这样做:

model_name = type(model).__name__


您也可以这样做:
model\u name=model.\uuuuuu class\uuuuu.\uuuuuuuuu name\uuuuu
注意:模型需要是实例,而不是类,即LinearRegression()而不是LinearRegression。否则,您将获得父类的名称。
Python 3.5.5 | packaged by conda-forge | (default, Jul 23 2018, 23:45:11) 
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from sklearn.linear_model import LinearRegression
>>> model = LinearRegression()
>>> model_name = type(model).__name__
>>> print(model_name)
LinearRegression