Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 获取Scikit学习估计器最大值的特征_Python 3.x_Machine Learning_Scikit Learn - Fatal编程技术网

Python 3.x 获取Scikit学习估计器最大值的特征

Python 3.x 获取Scikit学习估计器最大值的特征,python-3.x,machine-learning,scikit-learn,Python 3.x,Machine Learning,Scikit Learn,我有以下非常简单的代码试图对一个简单的数据集建模: from sklearn.pipeline import Pipeline from sklearn.impute import SimpleImputer from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LinearRegression from sklearn.model_selection import GridSearch

我有以下非常简单的代码试图对一个简单的数据集建模:

from sklearn.pipeline import Pipeline
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import GridSearchCV

data = {'Feature_A': [1, 2, 3, 4], 'Feature_B': [7, 8, 9, 10], 'Feature_C': [2, 3, 4, 5], 'Label': [7, 7, 8, 9]}

data = pd.DataFrame(data)

data_labels = data['Label']

data = data.drop(columns=['Label'])

pipeline = Pipeline([('imputer', SimpleImputer()),
                         ('std_scaler', StandardScaler())])

data_prepared = pipeline.fit_transform(data)

lin_reg = LinearRegression()
lin_grid = {"n_jobs": [20, 50]}

error = "max_error"

grid_search = GridSearchCV(lin_reg, param_grid=lin_grid, verbose=3, cv=2, refit=True, scoring=error, return_train_score=True)

grid_search.fit(data_prepared, data_labels)

print(grid_search.best_estimator_.coef_)
print(grid_search.best_estimator_.intercept_)
print(list(data_labels))
print(list(grid_search.best_estimator_.predict(data_prepared)))
这给了我以下结果:

[0.2608746 0.2608746 0.2608746]
7.75
[7, 7, 8, 9]
[6.7, 7.4, 8.1, 8.799999999999999]

在此基础上,是否有一种方法可以计算出数据集边界内的特征值,从而为我提供最大标签?

如果我正确理解了您的问题,这应该可以:

import numpy as np
id_max = np.argmax(grid_search.predict(data)) # find id of the maximum predicted label
print(data.loc[id_max])