Python中sklearn包更新后,Randomized模块取消,如何解决报错问题

由于sklearn数据集的更新,其中的一些模块发生了变化,之前的一些调用会开始报错。

解决方案如下:

from sklearn.cross_validation import train_test_split
from sklearn.datasets import fetch_lfw_people
from sklearn.grid_search import GridSearchCV
from sklearn.metrics import classification_report
from sklearn.metrics import confusion_matrix
from sklearn.decomposition import RandomizedPCA
from sklearn.svm import SVC

 我们会发现上述代码的第一行和第三行以及第六行发生报错,这是由于sklearn中的关于cross_validation、grid_search 、RandomizedPCA模块发生的改变。通过将cross_validation、grid_search 改为model_section即可。而RandomizedPCA模块被新的版本更新掉了,我们需要将其改为PCA,且在后续的调用中增加一句(svd_solver='randomized')即可。

from sklearn.model_selection import train_test_split
from sklearn.datasets import fetch_lfw_people
from sklearn.model_selection import GridSearchCV
from sklearn.metrics import classification_report
from sklearn.metrics import confusion_matrix
from sklearn.decomposition import PCA
from sklearn.svm import SVC
pca = PCA(svd_solver='randomized', n_components=n_components, whiten=True).fit(X_train)

你可能感兴趣的:(Python中sklearn包更新后,Randomized模块取消,如何解决报错问题)