相关疑难解决方法(0)

使用sklearn cross_val_score和kfolds来拟合并帮助预测模型

我试图理解使用sklearn python模块中的kfolds交叉验证.

我理解基本流程:

  • 实例化一个模型,例如 model = LogisticRegression()
  • 拟合模型,例如 model.fit(xtrain, ytrain)
  • 预测例如 model.predict(ytest)
  • 使用例如交叉val分数来测试拟合的模型精度.

我很困惑的地方是使用具有交叉val分数的sklearn kfolds.据我了解,cross_val_score函数将适合模型并在kfolds上进行预测,为每个折叠提供准确度分数.

例如使用这样的代码:

kf = KFold(n=data.shape[0], n_folds=5, shuffle=True, random_state=8)
lr = linear_model.LogisticRegression()
accuracies = cross_val_score(lr, X_train,y_train, scoring='accuracy', cv = kf)
Run Code Online (Sandbox Code Playgroud)

因此,如果我有一个包含训练和测试数据的数据集,并且我使用cross_val_scorekfolds函数来确定算法对每个折叠的训练数据的准确性,那么model现在是否适合并准备好对测试数据进行预测?所以在上面的情况下使用lr.predict

谢谢你的帮助.

python machine-learning scikit-learn cross-validation

9
推荐指数
1
解决办法
5374
查看次数

AttributeError:“历史记录”对象没有属性“预测”-拟合火车和测试数据列表

我正在尝试使用此示例的NN模型。我正在为神经网络模型拟合值列表。但是,我得到一个AttributeError。这已经被问过并且已经得到回答。不幸的是,它对我不起作用。如示例所示,我创建了以下内容,

from keras.models import Sequential
from keras.wrappers.scikit_learn import KerasRegressor
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_val_score
from keras.layers import Dense

def neuralnetmodel():
    #Crete model
    model = Sequential()
    model.add(Dense(13, input_dim = 13, kernel_initializer = 'normal', activation = 'relu'))

model.add(Dense(1, kernel_initializer = 'normal', activation = 'relu'))
model.add(Dense(1, kernel_initializer = 'normal', activation = 'relu'))
## Output layer
model.add(Dense(1, kernel_initializer = 'normal'))

#Compile model
model.compile(loss = 'mean_squared_error', optimizer = 'adam')
return model
Run Code Online (Sandbox Code Playgroud)

fit 训练数据

NNmodelList = []

for i,j …
Run Code Online (Sandbox Code Playgroud)

python list machine-learning neural-network keras

3
推荐指数
1
解决办法
5665
查看次数