Keras - 如何使用 KerasRegressor 执行预测?

2023-12-27

我是机器学习新手,我正在尝试处理 Keras 来执行回归任务。我已经实现了这段代码,基于this http://machinelearningmastery.com/regression-tutorial-keras-deep-learning-library-python/例子。

X = df[['full_sq','floor','build_year','num_room','sub_area_2','sub_area_3','state_2.0','state_3.0','state_4.0']]
y = df['price_doc']

X = np.asarray(X)
y = np.asarray(y)

X_train, X_test, Y_train, Y_test = train_test_split(X, y, test_size=.2)
def baseline_model():
    model = Sequential()
    model.add(Dense(13, input_dim=9, kernel_initializer='normal', 
        activation='relu'))
    model.add(Dense(1, kernel_initializer='normal'))
    model.compile(loss='mean_squared_error', optimizer='adam')
    return model

estimator = KerasRegressor(build_fn=baseline_model, nb_epoch=100, batch_size=100, verbose=False)
kfold = KFold(n_splits=10, random_state=seed)
results = cross_val_score(estimator, X_train, Y_train, cv=kfold)
print("Results: %.2f (%.2f) MSE" % (results.mean(), results.std()))

prediction = estimator.predict(X_test)
accuracy_score(Y_test, prediction)

当我运行代码时,我收到此错误:

AttributeError: 'KerasRegressor' object has no attribute 'model'

如何在 KerasRegressor 中正确“插入”模型?


您必须在之后再次拟合估算器cross_val_score评估新数据:

estimator = KerasRegressor(build_fn=baseline_model, nb_epoch=100, batch_size=100, verbose=False)
kfold = KFold(n_splits=10, random_state=seed)
results = cross_val_score(estimator, X_train, Y_train, cv=kfold)
print("Results: %.2f (%.2f) MSE" % (results.mean(), results.std()))

estimator.fit(X, y)
prediction = estimator.predict(X_test)
accuracy_score(Y_test, prediction)

工作测试版本:

from sklearn import datasets, linear_model
from sklearn.model_selection import cross_val_score, KFold
from keras.models import Sequential
from sklearn.metrics import accuracy_score
from keras.layers import Dense
from keras.wrappers.scikit_learn import KerasRegressor
seed = 1

diabetes = datasets.load_diabetes()
X = diabetes.data[:150]
y = diabetes.target[:150]

def baseline_model():
    model = Sequential()
    model.add(Dense(10, input_dim=10, activation='relu'))
    model.add(Dense(1))
    model.compile(loss='mean_squared_error', optimizer='adam')
    return model


estimator = KerasRegressor(build_fn=baseline_model, nb_epoch=100, batch_size=100, verbose=False)
kfold = KFold(n_splits=10, random_state=seed)
results = cross_val_score(estimator, X, y, cv=kfold)
print("Results: %.2f (%.2f) MSE" % (results.mean(), results.std()))

estimator.fit(X, y)
prediction = estimator.predict(X)
accuracy_score(y, prediction)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Keras - 如何使用 KerasRegressor 执行预测? 的相关文章

  • 敏感性特异性图 python

    我正在尝试重现类似于此的灵敏度特异性图 其中 X 轴是阈值 但我还没有找到如何做到这一点 一些 skalern 指标 如 ROC 曲线 会返回真阳性和假阳性 但我还没有找到任何选项来制作此图 我试图将概率与实际标签进行比较以保持计数 我得到
  • Colab 上没有名为“tensorflow.compat.v2”的模块

    我正在关注这个https thebinarynotes com how to train mask r cnn on the custom dataset https thebinarynotes com how to train mask
  • 为什么各个树的 xgboost 回归预测存在差异?

    首先 我运行一个非常简单的 xgb 回归模型 其中仅包含 2 棵树 每棵树有 1 个叶子 可用数据here https raw githubusercontent com jbrownlee Datasets master pima ind
  • 如何以干净高效的方式在 pytorch 中获得小批量?

    我试图做一件简单的事情 即使用火炬通过随机梯度下降 SGD 训练线性模型 import numpy as np import torch from torch autograd import Variable import pdb def
  • 是否可以使用具有余弦相似度的 KDTree?

    看来我不能使用这个相似度度量sklearn例如 KDTree 但我需要 因为我正在使用测量单词向量相似度 对于这种情况 快速鲁棒定制算法是什么 我知道关于Local Sensitivity Hashing 但它应该经过大量调整和测试才能找到
  • 如何在谷歌colab中安装pyearth?

    这曾经对我有用 但两天后我遇到了这个问题 pip install sklearn contrib py earth Collecting sklearn contrib py earth Using cached https files p
  • 每次运行神经网络代码时结果都会改变

    我通过运行此链接中提供的代码得到了结果神经网络 预测多个变量的值 https stackoverflow com questions 58071836 neural network predicting values of multiple
  • 为什么我的精确率-召回率和 ROC 曲线不平滑?

    我有一些标记为 0 或 1 的数据 我正在尝试使用随机森林来预测这些类别 每个实例都标有 20 个用于训练随机森林的特征 约 30 000 个训练实例和约 6000 个测试实例 我使用以下代码绘制精确召回率和 ROC 曲线 precisio
  • 如何使用 lstm 执行多类多输出分类

    I have multiclass multioutput classification see https scikit learn org stable modules multiclass html https scikit lear
  • 批量大小不适用于带有deploy.prototxt的caffe

    我正在努力让我的分类过程更快一些 我想增加我的deploy prototxt中的第一个input dim 但这似乎不起作用 甚至比对每张图像进行分类还要慢一点 部署 prototxt input data input dim 128 inp
  • Encog:BasicNetwork:无需预先构建数据集的在线学习

    我正在尝试使用 encog 库作为强化学习问题的函数逼近器 更准确地说 我正在尝试启动并运行多层感知器 BasicNetwork 由于我的代理将根据我选择的任何 RL 算法以某种方式探索世界 因此我无法预先构建任何 BasicNeuralD
  • 如何在 keras 模型中使用张量流度量函数?

    使用Python 3 5 2张量流RC 1 1 我正在尝试在 keras 中使用张量流度量函数 所需的功能接口似乎是相同的 但调用 import pandas import numpy import tensorflow contrib k
  • 期望最大化抛硬币的例子

    我最近一直在自学期望最大化 并在这个过程中给自己举了一些简单的例子 http cs dartmouth edu cs104 CS104 11 04 22 pdf http cs dartmouth edu cs104 CS104 11 04
  • Keras,如何获取每一层的输出?

    我已经用 CNN 训练了一个二元分类模型 这是我的代码 model Sequential model add Convolution2D nb filters kernel size 0 kernel size 1 border mode
  • 深度学习和传统的人工神经网络机器学习有什么区别? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 您能否简要解释一下两者之间的差异深度学习 https developer nvidia com deep learning和利用神经网
  • 对于神经网络来说,拥有正态分布的数据重要吗?

    因此 与数据相关的标准操作之一就是对其进行归一化 并将其标准化为均值为 0 标准差为 1 的正态分布数据 对吧 但是 如果数据不是正态分布怎么办 另外 所需的输出也必须呈正态分布吗 如果我希望我的前馈网络在两个类 1 和 1 之间进行分类
  • 更改随机森林分类器的阈值

    我需要开发一个没有 或接近没有 假阴性值的模型 为此 我绘制了召回率 精度曲线 并确定阈值应设置为 0 11 我的问题是 如何定义模型训练时的阈值 稍后在评估时定义它是没有意义的 因为它不会反映新数据 X train X test y tr
  • Sklearn SVM:SVR 和 SVC,为每个输入获得相同的预测

    这是代码的粘贴 支持向量机示例代码 http pastebin com dvWy5SpE 我查看了这个问题的其他几个答案 看起来这个问题的特定迭代有点不同 首先 我的输入被标准化 每个点有五个输入 这些值的大小都合理 健康的 0 5 秒和
  • 了解最大池层之后的全连接层的尺寸[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在下图 架构 中 4096 个单元的 全连接 密集层是如何从最后一个最大池层 右侧 维度导出的256x13x13 而不是 4096 不应该
  • 使用自定义层运行 Keras 模型时出现问题

    我目前正在攻读学士学位论文FIIT STU https www fiit stuba sk en html page id 749 其主要目标是尝试复制和验证以下结果study http arxiv org abs 2006 00885 这

随机推荐