Questions tagged «machine-learning»

有关机器学习算法的实现问题。有关机器学习的一般问题应发布到其特定社区。

1
具有3个月数据集的多元时间序列预测
我产生了3个月的数据(每一行对应于每一天),并且我想对同一数据执行多元时间序列分析: 可用的列是- Date Capacity_booked Total_Bookings Total_Searches %Variation 每个Date在数据集中都有1个条目,并且有3个月的数据,我想拟合一个多元时间序列模型来预测其他变量。 到目前为止,这是我的尝试,我尝试通过阅读文章来实现相同目的。 我也一样- df['Date'] = pd.to_datetime(Date , format = '%d/%m/%Y') data = df.drop(['Date'], axis=1) data.index = df.Date from statsmodels.tsa.vector_ar.vecm import coint_johansen johan_test_temp = data coint_johansen(johan_test_temp,-1,1).eig #creating the train and validation set train = data[:int(0.8*(len(data)))] valid = data[int(0.8*(len(data))):] freq=train.index.inferred_freq from statsmodels.tsa.vector_ar.var_model import VAR model …

4
如何提高在MNIST上训练的模型的数字识别能力?
我正在使用进行手印多位数识别Java,使用OpenCV库进行预处理和分割,并使用KerasMNIST训练的模型(精度为0.98)进行识别。 除了一件事之外,这种识别似乎效果很好。网络经常无法识别那些(数字“一”)。我不知道这是否是由于分割的预处理/不正确的实现而发生的,或者是否是在标准MNIST上训练的网络没有看到看起来像我的测试用例的第一名。 这是经过预处理和分割后出现问题的数字的样子: 成为并归类为4。 成为并归类为7。 成为并归类为4。等等... 通过改进细分过程,可以解决此问题吗?还是通过增强培训设置? 编辑:增强训练集(数据扩充)肯定会有所帮助,这已经在我测试中,正确预处理的问题仍然存在。 我的预处理包括调整大小,转换为灰度,二值化,反转和膨胀。这是代码: Mat resized = new Mat(); Imgproc.resize(image, resized, new Size(), 8, 8, Imgproc.INTER_CUBIC); Mat grayscale = new Mat(); Imgproc.cvtColor(resized, grayscale, Imgproc.COLOR_BGR2GRAY); Mat binImg = new Mat(grayscale.size(), CvType.CV_8U); Imgproc.threshold(grayscale, binImg, 0, 255, Imgproc.THRESH_OTSU); Mat inverted = new Mat(); Core.bitwise_not(binImg, inverted); Mat dilated = …


4
ModuleNotFoundError:没有名为“ numpy.testing.nosetester”的模块
我正在使用决策树,并且引发了该错误。当我使用反向传播时,出现了相同的情况。我该如何解决?(对不起,我英语不好) import pandas as pd import numpy as np a = np.test() f = open('E:/lgdata.csv') data = pd.read_csv(f,index_col = 'id') x = data.iloc[:,10:12].as_matrix().astype(int) y = data.iloc[:,9].as_matrix().astype(int) from sklearn.tree import DecisionTreeClassifier as DTC dtc = DTC(criterion='entropy') dtc.fit(x,y) x=pd.DataFrame(x) from sklearn.tree import export_graphviz with open('tree.dot','w') as f1: f1 = export_graphviz(dtc, feature_names = …

1
R:实现我自己的梯度提升算法
我正在尝试编写自己的梯度提升算法。我了解有类似的现有软件包gbm,xgboost,但我想通过编写自己的软件包来了解算法的工作原理。 我正在使用iris数据集,结果是Sepal.Length(连续的)。我的损失函数是mean(1/2*(y-yhat)^2)(基本上是前面有1/2的均方误差),所以我相应的梯度就是残差y - yhat。我正在将预测值初始化为0。 library(rpart) data(iris) #Define gradient grad.fun <- function(y, yhat) {return(y - yhat)} mod <- list() grad_boost <- function(data, learning.rate, M, grad.fun) { # Initialize fit to be 0 fit <- rep(0, nrow(data)) grad <- grad.fun(y = data$Sepal.Length, yhat = fit) # Initialize model mod[[1]] <- fit # …

2
pytorch模型中的参数如何不出现在计算图中?
我正在尝试更新/更改神经网络模型的参数,然后使更新的神经网络的正向传递在计算图中(无论我们进行了多少更改/更新)。 我尝试了这个想法,但是每当我这样做时,pytorch都会将更新的张量(在模型内部)设置为叶子,这会终止渐变流到我要接收渐变的网络。它杀死了梯度流,因为叶子节点不是我希望它们成为计算图形的一部分(因为它们不是真正的叶子)。 我已经尝试了多种方法,但似乎没有任何效果。我创建了一个自包含的虚拟代码,该代码打印了我希望具有渐变的网络的渐变: import torch import torch.nn as nn import copy from collections import OrderedDict # img = torch.randn([8,3,32,32]) # targets = torch.LongTensor([1, 2, 0, 6, 2, 9, 4, 9]) # img = torch.randn([1,3,32,32]) # targets = torch.LongTensor([1]) x = torch.randn(1) target = 12.0*x**2 criterion = nn.CrossEntropyLoss() #loss_net = nn.Sequential(OrderedDict([('conv0',nn.Conv2d(in_channels=3,out_channels=10,kernel_size=32))])) …

1
RuntimeError:输入类型(torch.FloatTensor)和权重类型(torch.cuda.FloatTensor)应该相同
我正在尝试按照以下方法训练以下CNN,但关于.cuda(),我一直遇到相同的错误,并且不确定如何解决它。到目前为止,这是我的大部分代码。 import matplotlib.pyplot as plt import numpy as np import torch from torch import nn from torch import optim import torch.nn.functional as F import torchvision from torchvision import datasets, transforms, models from torch.utils.data.sampler import SubsetRandomSampler data_dir = "/home/ubuntu/ML2/ExamII/train2/" valid_size = .2 # Normalize the test and train sets with torchvision …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.