标签: training-data

如何在不拆分数据帧的情况下传递不同的数据集进行训练和测试。(Python)?

我已经解决了多个问题,这些问题有助于将数据帧分为训练和测试,使用 scikit 或不使用 scikit 等。

但我的问题是我有 2 个不同的 csv(来自不同年份的 2 个不同的数据帧)。我想用一个作为火车,另一个作为测试?

对于线性回归/任何模型如何做到这一点?

python linear-regression training-data scikit-learn data-science

5
推荐指数
1
解决办法
3066
查看次数

使用加权类处理 GradientBoostingClassifier 中的不平衡数据?

我有一个非常不平衡的数据集,我需要在此基础上构建一个模型来解决分类问题。该数据集有大约 30000 个样本,其中大约 1000 个样本被标记为\xe2\x80\x941\xe2\x80\x94,其余为 0。我通过以下几行构建模型:

\n\n
X_train=training_set\ny_train=target_value\nmy_classifier=GradientBoostingClassifier(loss=\'deviance\',learning_rate=0.005)\nmy_model = my_classifier.fit(X_train, y_train)\n
Run Code Online (Sandbox Code Playgroud)\n\n

由于这是一个不平衡的数据,因此像上面的代码一样简单地构建模型是不正确的,所以我尝试使用类权重,如下所示:

\n\n
class_weights = compute_class_weight(\'balanced\',np.unique(y_train), y_train)\n
Run Code Online (Sandbox Code Playgroud)\n\n

现在,我不知道如何使用 class_weights(基本上包括 0.5 和 9.10 值)来训练和构建模型GradientBoostingClassifier

\n\n

任何想法?我如何使用加权类或其他技术处理这些不平衡的数据?

\n

python machine-learning training-data scikit-learn boosting

5
推荐指数
1
解决办法
5063
查看次数

使用 CNN 和 pytorch 计算每个类别的准确率

我可以使用此代码计算每个时期后的准确性。但是,我想最后计算每个班级的准确性。我怎样才能做到这一点?我有两个文件夹 train 和 val 。每个文件夹有 7 个不同类别的 7 个文件夹。train 文件夹用于训练。否则 val 文件夹用于测试

  def train_model(model, criterion, optimizer, lr_scheduler, num_epochs=25):
    since = time.time()

    best_model = model
    best_acc = 0.0

    for epoch in range(num_epochs):
        print('Epoch {}/{}'.format(epoch, num_epochs - 1))
        print('-' * 10)

        # Each epoch has a training and validation phase
        for phase in ['train', 'val']:
            if phase == 'train':
                mode='train'
                optimizer = lr_scheduler(optimizer, epoch)
                model.train()  # Set model to training mode
            else:
                model.eval()
                mode='val'

            running_loss = 0.0
            running_corrects = 0

            counter=0
            # …
Run Code Online (Sandbox Code Playgroud)

classification loss training-data conv-neural-network pytorch

5
推荐指数
1
解决办法
8136
查看次数

如何将 PASCAL VOC 转换为 YOLO

我试图开发某种方法来在格式之间转换注释,并且很难找到信息,但在这里我有:

这是PASCAL VOC

<width>800</width>
<height>450</height>
<depth>3</depth>
<bndbox>
    <xmin>474</xmin>
    <ymin>2</ymin>
    <xmax>726</xmax> <!-- shape_width = 252  -->
    <ymax>449</ymax> <!-- shape_height = 447 -->
</bndbox>
Run Code Online (Sandbox Code Playgroud)

转换为YOLO 暗网

2 0.750000 0.501111 0.315000 0.993333
Run Code Online (Sandbox Code Playgroud)

注意开头2它是一个类别

training-data coco yolo voc

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

SVM分类 - 每个类的最小输入集数

我正在尝试构建一个应用程序来检测来自网页的广告图像.一旦我发现了那些,我就不会允许那些在客户端显示.

从我对Stackoverflow问题的帮助,我认为SVM是达到我目标的最佳方法.

所以,我自己编写了SVM和SMO.我从UCI数据存储库获得的数据集有3280个实例(链接到数据集),其中大约400个来自表示广告图像的类,其余表示非广告图像.

现在我正在使用前2800个输入集并训练SVM.但在查看准确率后,我意识到这2800个输入集中的大多数来自非广告图像类.因此,我对该课程的准确性非常高.

那我该怎么办?关于我要给SVM培训多少输入集,以及每个类有多少输入集?

谢谢.干杯.(基本上提出了一个新问题,因为上下文与我之前的问题不同.优化神经网络输入数据)


谢谢回复.我想检查一下我是否正确得出广告和非广告类的C值.请给我反馈.

在此输入图像描述

或者你可以在这里看到doc版本.

你可以在这里看到y1 eqaul到y2的图形 在此输入图像描述

并且y1在这里不等于y2 在此输入图像描述

classification machine-learning svm training-data

4
推荐指数
1
解决办法
8742
查看次数

如何返回数组的副本?

 public void addStudent(String student) {
    String [] temp = new String[students.length * 2];
    for(int i = 0; i < students.length; i++){
    temp[i] = students[i];
        }
    students = temp;
    students[numberOfStudents] = student;
    numberOfStudents++;

 }
Run Code Online (Sandbox Code Playgroud)
public String[] getStudents() {
    String[] copyStudents = new String[students.length];

    return copyStudents;

}
Run Code Online (Sandbox Code Playgroud)

我正在尝试让方法getStudents返回我在addStudent方法中创建的数组的副本.我不知道该如何解决这个问题.

java arrays return training-data

4
推荐指数
1
解决办法
9298
查看次数

DLIB:训练194个地标的Shape_predictor(海伦数据集)

我正在使用helen 数据集训练DLIB的194个面部地标的shape_predictor,该数据集用于通过face_landmark_detection_ex.cppdlib库检测面部地标.

现在它给了我一个sp.dat大约45 MB的二进制文件,与给出的68个面部标志的文件(http://sourceforge.net/projects/dclib/files/dlib/v18.10/shape_predictor_68_face_landmarks.dat.bz2)相比较少.在培训中

  • 平均训练误差:0.0203811
  • 平均测试错误:0.0204511

当我使用经过训练的数据获得面部地标位置时,结果我得到了......

在此输入图像描述

这与68个地标的结果非常不同

68地标图片:

在此输入图像描述

为什么?

c++ feature-detection training-data dlib

4
推荐指数
1
解决办法
9920
查看次数

K 折交叉验证 - 每次折叠后是否初始化网络?

我主要了解 k 折交叉验证的工作原理,并已开始将其实现到我的 MATLAB 脚本中,但是我有两个问题。

当使用它来选择网络特征时(在我的例子中,隐藏单元、权重衰减和无迭代)。我应该在每次“折叠”后重新初始化权重,还是应该将我的下一次训练折叠输入已经训练好的网络(它的权重已经针对前一次折叠进行了优化)?

似乎做后者应该给出较低的错误,因为前一折叠数据将是下一个数据折叠的良好近似,因此权重将比从高斯分布随机初始化的权重更接近。

此外,使用 k-fold 验证验证了网络,并选择了网络超参数等,我想开始使用该网络,我认为我应该停止使用 k-fold 验证并只训练一次,使用所有可用的数据?

非常感谢您的帮助。

validation matlab training-data neural-network

4
推荐指数
1
解决办法
769
查看次数

TensorFlow Estimators 中的“批次”和“步骤”是什么?它们与时代有何不同?

我正在尝试使用 TensorFlow 的估算器。在文档中,以下代码用于训练和评估网络。

# Fit
nn.fit(x=training_set.data, y=training_set.target, steps=5000)

# Score accuracy
ev = nn.evaluate(x=test_set.data, y=test_set.target, steps=1)
loss_score = ev["loss"]
print("Loss: %s" % loss_score)
Run Code Online (Sandbox Code Playgroud)

整个训练集都传入了,但是我们有steps=5000. 这是否意味着只考虑集合中的前 5000 个示例?

batch_size参数在这种情况下是什么意思,它如何与 交互steps

谢谢!

python machine-learning training-data neural-network tensorflow

4
推荐指数
1
解决办法
1557
查看次数

将数据集划分为 60%、20%、20%

我正在尝试从 2 组数据移动到 3 组数据,如上述问题中所述。以下是我使用的脚本:

set.seed(125)
d <- sample(x = nrow(db), size = nrow(db) * 0.60, )
train60 <-db[d, ]
valid40 <-db[-d, ]
Run Code Online (Sandbox Code Playgroud)

有没有办法修改上面的脚本?我试图创建另一行:

valid40 <- db[-d] * 0.2 这不起作用。

当前数据集有几个因子变量。

我曾尝试在函数上使用Frank 的解决方案cut,但不知何故我设法得到

cut.default(seq(nrow(df)), nrow(df) * cumsum(c(0, spec)), labels = names(spec)) 中的错误:'breaks' 和 'labels' 的长度不同

即使在网上搜索帮助后我也不明白。

validation split r dataset training-data

4
推荐指数
1
解决办法
1190
查看次数