标签: prediction

获得警告:"'newdata'有1行但找到的变量有32行"在predict.lm上

我在R中使用预测和lm函数时发现了特性.我对相同数据的数据帧和向量得到了不同的结果.

DataFrame代码:

data(mtcars)
fitCar<-lm(mtcars$mpg~mtcars$wt)
predict(fitCar,
        data.frame(x=mean(mtcars$wt)),
        interval="confidence")
Run Code Online (Sandbox Code Playgroud)

输出:

     fit       lwr      upr
1  23.282611 21.988668 24.57655
2  21.919770 20.752751 23.08679
3  24.885952 23.383008 26.38890
4  20.102650 19.003004 21.20230
5  18.900144 17.771469 20.02882
6  18.793255 17.659216 19.92729
7  18.205363 17.034274 19.37645
8  20.236262 19.136179 21.33635
9  20.450041 19.347720 21.55236
10 18.900144 17.771469 20.02882
11 18.900144 17.771469 20.02882
12 15.533127 14.064349 17.00190
13 17.350247 16.104455 18.59604
14 17.083024 15.809403 18.35664
15  9.226650  6.658271 11.79503
16  8.296712  5.547468 11.04596
17  8.718926  6.052112 11.38574
18 …
Run Code Online (Sandbox Code Playgroud)

r prediction lm

55
推荐指数
3
解决办法
6万
查看次数

准确度分数ValueError:无法处理二进制和连续目标的混合

我使用linear_model.LinearRegressionscikit-learn作为预测模型.它的工作原理很完美.我有一个问题是使用accuracy_score指标评估预测结果.这是我的真实数据:

array([1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0])
Run Code Online (Sandbox Code Playgroud)

我的预测数据:

array([ 0.07094605,  0.1994941 ,  0.19270157,  0.13379635,  0.04654469,
    0.09212494,  0.19952108,  0.12884365,  0.15685076, -0.01274453,
    0.32167554,  0.32167554, -0.10023553,  0.09819648, -0.06755516,
    0.25390082,  0.17248324])
Run Code Online (Sandbox Code Playgroud)

我的代码:

accuracy_score(y_true, y_pred, normalize=False)
Run Code Online (Sandbox Code Playgroud)

错误信息:

ValueError:无法处理二进制和连续目标的混合

救命 ?谢谢.

python machine-learning prediction linear-regression scikit-learn

48
推荐指数
6
解决办法
7万
查看次数

ValueError:传递的项目数量错误 - 含义和建议?

我收到错误: ValueError: Wrong number of items passed 3, placement implies 1我正在努力弄清楚在哪里,以及我如何开始解决这个问题.

我真的不明白错误的含义; 这让我很难排除故障.我还包括了在我的Jupyter Notebook中触发错误的代码块.

数据很难附加; 所以我不是在寻找任何人试图为我重新创建这个错误.我只是想找到一些关于如何解决这个错误的反馈.

KeyError                                  Traceback (most recent call last)
C:\Users\brennn1\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\indexes\base.py in get_loc(self, key, method, tolerance)
   1944             try:
-> 1945                 return self._engine.get_loc(key)
   1946             except KeyError:

pandas\index.pyx in pandas.index.IndexEngine.get_loc (pandas\index.c:4154)()

pandas\index.pyx in pandas.index.IndexEngine.get_loc (pandas\index.c:4018)()

pandas\hashtable.pyx in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:12368)()

pandas\hashtable.pyx in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:12322)()

KeyError: 'predictedY'

During handling of the above exception, another exception occurred:

KeyError                                  Traceback (most recent call last)
C:\Users\brennn1\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\core\internals.py in set(self, item, value, check)
   3414         try:
-> …
Run Code Online (Sandbox Code Playgroud)

python prediction pandas data-science

36
推荐指数
2
解决办法
6万
查看次数

R中的xgboost:xgb.cv如何将最佳参数传递给xgb.train

我一直在探索xgboostR中的软件包,并经历了几个演示以及教程,但这仍然让我感到困惑:在使用xgb.cv交叉验证之后,最佳参数如何传递给xgb.train?或者我应该根据输出计算理想参数(例如nround,max.depth)xgb.cv

param <- list("objective" = "multi:softprob",
              "eval_metric" = "mlogloss",
              "num_class" = 12)
cv.nround <- 11
cv.nfold <- 5
mdcv <-xgb.cv(data=dtrain,params = param,nthread=6,nfold = cv.nfold,nrounds = cv.nround,verbose = T)

md <-xgb.train(data=dtrain,params = param,nround = 80,watchlist = list(train=dtrain,test=dtest),nthread=6)
Run Code Online (Sandbox Code Playgroud)

r machine-learning prediction xgboost

33
推荐指数
2
解决办法
3万
查看次数

在训练和测试数据中保持相同的虚拟变量

我正在使用两个单独的培训和测试集在python中构建预测模型.训练数据包含数字类型分类变量,例如邮政编码,[91521,23151,12355,...],以及字符串分类变量,例如,城市['芝加哥','纽约','洛杉矶', ...].

为了训练数据,我首先使用'pd.get_dummies'来获取这些变量的虚拟变量,然后使用转换的训练数据拟合模型.

我对测试数据进行相同的转换,并使用训练模型预测结果.但是,我收到错误'ValueError:模型的功能数必须与输入匹配.模型n_features为1487,输入n_features为1345'.原因是测试数据中的虚拟变量较少,因为它具有较少的"城市"和"邮政编码".

我怎么解决这个问题?例如,'OneHotEncoder'将仅编码所有数字类型的分类变量.'DictVectorizer()'只会编码所有字符串类型的分类变量.我在线搜索并看到一些类似的问题,但没有一个真正解决我的问题.

使用scikit-learn处理分类功能

https://www.quora.com/If-the-training-dataset-has-more-variables-than-the-test-dataset-what-does-one-do

https://www.quora.com/What-is-the-best-way-to-do-a-binary-one-hot-one-of-K-coding-in-Python

python prediction dataframe scikit-learn dummy-variable

30
推荐指数
4
解决办法
2万
查看次数

为什么要使用回归神经网络来处理结构化数据?

我一直在开发前馈神经网络(FNNS)和复发性神经网络(RNNs)在Keras与形状的结构化数据[instances, time, features],以及FNNS和RNNs的表现一直不变(除了RNNs需要更多的计算时间).

我还模拟了表格数据(下面的代码),我希望RNN的表现优于FNN,因为系列中的下一个值取决于系列中的先前值; 但是,两种架构都能正确预测.

对于NLP数据,我看到RNN优于FNN,但没有表格数据.一般来说,何时会期望RNN的表格数据优于FNN?具体来说,有人可以使用表格数据发布模拟代码,证明RNN优于FNN吗?

谢谢!如果我的模拟代码不适合我的问题,请调整它或分享一个更理想的模拟代码!

from keras import models
from keras import layers

from keras.layers import Dense, LSTM

import numpy as np
import matplotlib.pyplot as plt
Run Code Online (Sandbox Code Playgroud)

在10个时间步骤中模拟了两个特征,其中第二个特征的值取决于先前时间步骤中两个特征的值.

## Simulate data.

np.random.seed(20180825)

X = np.random.randint(50, 70, size = (11000, 1)) / 100

X = np.concatenate((X, X), axis = 1)

for i in range(10):

    X_next = np.random.randint(50, 70, size = (11000, 1)) / 100

    X = np.concatenate((X, X_next, (0.50 * X[:, -1].reshape(len(X), 1)) 
        + (0.50 * X[:, -2].reshape(len(X), …
Run Code Online (Sandbox Code Playgroud)

python prediction keras recurrent-neural-network

28
推荐指数
1
解决办法
1042
查看次数

条款错误.公式(公式):'.' 在公式中没有'数据'参数

我想用神经网络进行预测.

创建一些X:

x <- cbind(seq(1, 50, 1), seq(51, 100, 1))
Run Code Online (Sandbox Code Playgroud)

创建Y:

y <- x[,1]*x[,2]
Run Code Online (Sandbox Code Playgroud)

给他们一个名字

colnames(x) <- c('x1', 'x2')
names(y) <- 'y'
Run Code Online (Sandbox Code Playgroud)

制作data.frame:

dt <- data.frame(x, y)
Run Code Online (Sandbox Code Playgroud)

而现在,我得到了错误

model <- neuralnet(y~., dt, hidden=10, threshold=0.01)
Run Code Online (Sandbox Code Playgroud)

在条款中的错误.公式(公式):'.' 在公式中没有'数据'参数

例如,在lm(线性模型)中,这是有效的.

r formula prediction

26
推荐指数
2
解决办法
3万
查看次数

从lme拟合中提取预测带

我有以下模型

x  <- rep(seq(0, 100, by=1), 10)
y  <- 15 + 2*rnorm(1010, 10, 4)*x + rnorm(1010, 20, 100)
id <- NULL
for(i in 1:10){ id <- c(id, rep(i,101)) }
dtfr <- data.frame(x=x,y=y, id=id)
library(nlme)
with(dtfr, summary(     lme(y~x, random=~1+x|id, na.action=na.omit)))
model.mx <- with(dtfr, (lme(y~x, random=~1+x|id, na.action=na.omit)))
pd       <- predict( model.mx, newdata=data.frame(x=0:100), level=0)
with(dtfr, plot(x, y))
lines(0:100, predict(model.mx, newdata=data.frame(x=0:100), level=0), col="darkred", lwd=7)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

predict,level=0我可以绘制平均人口反应.如何从nlme对象中提取和绘制整个群体的95%置信区间/预测带?

r prediction confidence-interval mixed-models

25
推荐指数
1
解决办法
2万
查看次数

首次在R中使用神经网络:得到"需要数字/复杂矩阵/向量参数"

我正在尝试学习使用R中的神经网络.作为一个学习问题,我在Kaggle一直使用以下问题:

别担心,这个问题是专为人们学习而设计的,没有任何奖励.

我从一个简单的逻辑回归开始,这非常适合我的脚.现在我想学习使用神经网络.我的训练数据如下所示(列:行):

- survived: 1
- pclass:   3
- sex:      male
- age:      22.0
- sibsp:    1
- parch:    0
- ticket:   PC 17601
- fare:     7.25
- cabin:    C85
- embarked: S
Run Code Online (Sandbox Code Playgroud)

我的起始R代码如下所示:

> net <- neuralnet(survived ~ pclass + sex + age + sibsp +
                   parch + ticket + fare + cabin + embarked, 
                   train, hidden=10, threshold=0.01)
Run Code Online (Sandbox Code Playgroud)

当我运行这行代码时,我收到以下错误:

Error in neurons[[i]] %*% weights[[i]] : 
  requires numeric/complex matrix/vector arguments
Run Code Online (Sandbox Code Playgroud)

我知道问题出在我提交输入变量的方式,但是我太过于理解我需要做些什么才能纠正这个问题.有人可以帮忙吗?

谢谢!

regression r prediction kaggle

25
推荐指数
2
解决办法
4万
查看次数

如何训练具有LSTM细胞的RNN用于时间序列预测

我目前正在尝试构建一个用于预测时间序列的简单模型.目标是使用序列训练模型,以便模型能够预测未来值.

我正在使用tensorflow和lstm单元格来执行此操作.该模型通过时间截断反向传播进行训练.我的问题是如何构建培训数据.

例如,假设我们想要学习给定的序列:

[1,2,3,4,5,6,7,8,9,10,11,...]
Run Code Online (Sandbox Code Playgroud)

我们将网络展开num_steps=4.

选项1

input data               label     
1,2,3,4                  2,3,4,5
5,6,7,8                  6,7,8,9
9,10,11,12               10,11,12,13
...
Run Code Online (Sandbox Code Playgroud)

选项2

input data               label     
1,2,3,4                  2,3,4,5
2,3,4,5                  3,4,5,6
3,4,5,6                  4,5,6,7
...
Run Code Online (Sandbox Code Playgroud)

选项3

input data               label     
1,2,3,4                  5
2,3,4,5                  6
3,4,5,6                  7
...
Run Code Online (Sandbox Code Playgroud)

选项4

input data               label     
1,2,3,4                  5
5,6,7,8                  9
9,10,11,12               13
...
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

time-series prediction lstm tensorflow

21
推荐指数
2
解决办法
1万
查看次数