小编jer*_*_K7的帖子

如果 docker 重新启动,为什么我会丢失数据?

我是 docker 新手,需要一些建议。我即将用 Gitea 建立我自己的个人 git 存储库。docker compose 文件可以在下面看到。当我第一次运行文件时,一切都很好。当我重新启动计算机或 Docker 时出现问题,然后页面加载但它是空的,没有存储库,什么都没有。此外,无法使用首次安装后设置的凭据登录。重新启动后,与数据库的连接似乎丢失了。

码头工人撰写文件:

version: "2"

networks:
  gitea:
    external: false

volumes:
  gitea:
    driver: local

services:
  server:
    image: gitea/gitea:latest
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - DB_TYPE=mysql
      - DB_HOST=db:3306
      - DB_NAME=gitea
      - DB_USER=gitea
      - DB_PASSWD=gitea
    restart: always
    networks:
      - gitea
    volumes:
      #- ./gitea:/data
       - gitea:/data
    ports:
       - "3000:3000"
       - "222:22"
    depends_on:
      - db

  db:
    image: mysql:5.7
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=gitea
      - MYSQL_USER=gitea
      - MYSQL_PASSWORD=gitea
      - MYSQL_DATABASE=gitea
    networks:
      - gitea
    volumes:
      - ./mysql:/var/lib/mysql
Run Code Online (Sandbox Code Playgroud)

docker

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

模型中的精度和召回率是相同的

我正在研究一个多分类项目,我注意到无论我运行什么分类器,模型中的精度和召回率都是相同的。

分类问题具有三个不同的类别。数据量偏小,有 13k 个实例,分为测试 (0.8) 和训练 (0.2)。

训练数据的形状为 (10608, 28),标签的形状为 (10608, 3)(二值化标签)。

分类不平衡:

  • 标签 0 代表所有标签的 30%
  • 标签 1 占所有标签的 4%
  • 标签 2 占所有标签的 66%。

我正在比较不同的分类器,以便稍后关注最有前途的分类器。在计算每个模型的精度和召回率时,我注意到它们在模型中总是相同的。

由于精确率和召回率的计算方式不同,当假阴性预测的数量等于假阳性预测的数量时,它们可能是相同的 FP = FN

在此输入图像描述

例子:

SGD分类器

sgd_clf = OneVsRestClassifier(SGDClassifier(random_state=42))
sgd_clf.fit(data_tr, labels_tr)
y_pred_sgd = cross_val_predict(sgd_clf, data_tr, labels_tr, cv=5) 
cm_sgd = confusion_matrix(labels_tr.argmax(axis=1), y_pred_sgd.argmax(axis=1))  

cm_sgd:
array([[1038,   19, 2084],
       [ 204,   22,  249],
       [ 931,   48, 6013]], dtype=int64)
precision_score(labels_tr.argmax(axis=1), y_pred_sgd.argmax(axis=1), average="micro")  
0.666760935143288
recall_score(labels_tr.argmax(axis=1), y_pred_sgd.argmax(axis=1), average="micro") 
0.666760935143288

FP=FN=3535
Run Code Online (Sandbox Code Playgroud)

逻辑回归

lr_clf = OneVsRestClassifier(LogisticRegression(random_state=42, max_iter=4000))
lr_clf.fit(data_tr, labels_tr)
y_pred_lr = cross_val_predict(lr_clf, …
Run Code Online (Sandbox Code Playgroud)

python precision machine-learning scikit-learn precision-recall

3
推荐指数
1
解决办法
2179
查看次数