首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有可能将cross_val_score()形式的滑雪板应用于具有像Weigth消除一样的加注的neupy NN?

是否有可能将cross_val_score()形式的滑雪板应用于具有像Weigth消除一样的加注的neupy NN?
EN

Stack Overflow用户
提问于 2018-11-20 13:27:40
回答 1查看 146关注 0票数 0

我试图将cross_val_score()应用于以下算法:

代码语言:javascript
复制
cgnet = algorithms.LevenbergMarquardt(
    connection=[
        layers.Input(XTrain.shape[1]),
        layers.Linear(6),
        layers.Linear(1)],
        mu_update_factor=2,
        mu=0.1,
        shuffle_data=True,
        verbose=True,
        decay_rate=0.1,
        addons=[algorithms.WeightElimination])

kfold = KFold(n_splits=5, shuffle=True, random_state=7)
scores=cross_val_score(cgnet, XTrainScaled,yTrainScaled,scoring='neg_mean_absolute_error',cv=kfold,verbose=10)
print scores
print("Accuracy: %0.2f (+/- %0.2f)" % (scores.mean(), scores.std() * 2))

这是我得到的错误信息:

代码语言:javascript
复制
TypeError: Cannot create a consistent method resolution
order (MRO) for bases LevenbergMarquardtWeightElimination, WeightElimination

如果没有WeightElimination或任何其他的副词,cross_val_score()可以用另一种方法来工作fine...Is?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-21 14:39:03

看起来函数cross_val_score不会在neupy中工作,但是您可以以稍微不同的方式运行相同的代码。

代码语言:javascript
复制
import numpy as np
from neupy import algorithms, layers
from sklearn.model_selection import *
from sklearn import metrics

XTrainScaled = XTrain = np.random.random((10, 2))
yTrainScaled = np.random.random((10, 1))

kfold = KFold(n_splits=5, shuffle=True, random_state=7)
scores = []

for train, test in kfold.split(XTrainScaled):
    x_train, x_test = XTrainScaled[train], XTrainScaled[test]
    y_train, y_test = yTrainScaled[train], yTrainScaled[test]

    cgnet = algorithms.LevenbergMarquardt(
        connection=[
            layers.Input(XTrain.shape[1]),
            layers.Linear(6),
            layers.Linear(1)
        ],
        mu_update_factor=2,
        mu=0.1,
        shuffle_data=True,
        verbose=True,
        decay_rate=0.1,
        addons=[algorithms.WeightElimination]
    )

    cgnet.train(x_train, y_train, epochs=5)
    y_predicted = cgnet.predict(x_test)

    score = metrics.mean_absolute_error(y_test, y_predicted)
    scores.append(score)

print(scores)
scores = np.array(scores)
print("Accuracy: %0.2f (+/- %0.2f)" % (scores.mean(), scores.std() * 2))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53394047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档