问题标签 [machine-learning-model]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
13 浏览

python-3.x - StackedCVRegressor 总是给出相同的结果

我正在使用以下方法来拟合数据模型,无论输入参数如何,它总是给出 0.0768385736953838 作为预测值

0 投票
0 回答
52 浏览

machine-learning - 如何处理目标变量中的时间步长与预测问题中的特征之间的不匹配?

背景资料:

我正在处理一些气候数据,我想使用包含气候和卫星衍生特征的数据集来预测作物产量。

这是一个时间序列回归预测问题,我想通过 XGBoost 和 Lasso 来生成我的预测。但是,我的特征和目标变量之间的采样频率不匹配;每周记录特征,每年记录目标变量。

目前,我使用宽格式表作为 ML 模型的输入数据集,但我觉得当输入表采用宽格式格式化时,我的模型无法生成准确的预测,因为比较的样本较少如果我使用长格式表。

数据表参考:

作为参考,宽格式表看起来像这样,其中后缀表示功能上的周数:

ID 作物产量 沉淀1 沉淀2 沉淀3 最大温度1 最大温度2 最大温度3
1100 2000 32.1 5.3 3.0 3.1 13.3 15.3 3.1
1100 2001年 31.6 6.6 3.2 1.1 11.3 12.3 6.1
5903 2000 41.2 3.4 0.5 2.1 10.3 18.3 8.1
5903 2001年 27.7 1.7 3.8 8.1 12.3 16.3 5.1

长格式表看起来像这样:

ID 作物产量 星期 沉淀 最大温度
1100 2000 32.1 1 5.3 13.3
1100 2000 32.1 2 3.0 15.3
1100 2000 32.1 3 3.1 3.1
1100 2001年 31.6 1 6.6 11.3
1100 2001年 31.6 2 3.2 12.3
1100 2001年 31.6 3 1.1 6.1
5903 2000 41.2 1 3.4 10.3
5903 2000 41.2 2 0.5 18.3
5903 2000 41.2 3 2.1 8.1
5903 2001年 27.7 1 1.7 12.3
5903 2001年 27.7 2 3.8 16.3
5903 2001年 27.7 3 8.1 5.1

问题:

是否建议使用长格式表作为我的 ML 模型的输入?我觉得每个相关 ID 和年份的相同作物产量会让我的模型失望。

此外,是否有更好的方法来构建我尚未探索的数据?

0 投票
0 回答
26 浏览

knn - KNN 算法如何处理所有输出类的相等计数

很长一段时间以来,我对 KNN 算法有一些疑问,即 KNN 根据最大​​计数预测测试实例的标签,对吗?在这种情况下,当所有输出标签的计数相等时会发生什么?例如,有 3 个标签,K 值设置为 5,计数为 2,2,1 表示第一个标签为 2,第二个标签为 2,第三个标签为 1。在这种情况下,我们如何做出决定?我也很好奇sklearn是如何实现算法来面对这种问题的?

0 投票
1 回答
180 浏览

tensorflow2.0 - TensorFlow tf.gfile.GFile

我尝试更改tf.gfile.GFile为 tf.io.gfile.GFile 并且也尝试过import tensorflow.compat.v1 as tf但没有任何效果。它没有读取新保存的文件。修改后我保存了。

0 投票
0 回答
52 浏览

python - 使用假人后如何进行预测?

我用于get_dummies()分类数据并训练了我的模型。结果很好,但是在用户输入之后,我如何再次使用模型进行预测,因为我不能要求用户输入所有的1and 0

有什么方法可以获取输入并与列名匹配,如果匹配,则将输入设为 1 并将其他所有内容设为 0?我知道这可以使用一种热编码来完成,但我现在不想更改现有代码(而且我不完全确定如何使用一种热编码),因此不胜感激。

0 投票
0 回答
12 浏览

validation - 训练和再训练:我应该在训练数据中添加样本吗?

我正在使用 YOLO 版本 5 来训练我的自定义数据。我的训练样本包含 2940 张图像(我感兴趣的对象(即脑微出血)的正负样本数量相等)。

我最初将其中一个 YOLOv5 模型训练了 300 个 epoch,但注意到该模型过度拟合,因此我再次重新训练。仍有进一步改进的空间,所以我刚刚开始再次重新训练 100 个 epoch。

我的问题是:我的训练数据保持不变可以吗?我没有向其中添加任何正样本或负样本,我只是继续在相同的训练数据集上重新训练而不修改它。

0 投票
0 回答
84 浏览

python - 自定义 Keras 增强层,无法获取批量大小

我试图在 Keras 中创建自定义增强层。这个想法是为了进行更快的扩充(而不是运行相同的函数 BATCH_SIZE 次,而是在整个批次中运行一次)。

我陷入了这个功能:

在训练时,函数获取形状的输入,(None, 128, 128, 3)其中最后 3 个数字表示图像的形状。对于我的不理解,第一个None应该是批量大小,它不是确定性的(出于某种未知原因)。

我的问题就在这里。在我的函数中,我使用np.random.ranf(inputs.shape)不满意None作为形状指示器并引发错误:

另一方面,我不知道如何获得计算的批量大小。自定义增强层的代码如下。任何帮助,将不胜感激!

编辑:我知道我可以在 Input() 层中指定批量大小,它确实解决了问题,但是有没有办法在不指定输入层中的形状的情况下做到这一点?所以它可能更通用。

0 投票
1 回答
136 浏览

tensorflow - TensorFlow 对象检测 API 过拟合

我在以下教程的帮助下使用 Tensoflow 对象检测 API 创建树检测器:https ://www.youtube.com/watch?v=a1br6gW-8Ss

我的问题是模型过度拟合了训练集。我怎样才能避免它?我的训练集由 130 张图像组成,图像中平均标记了 4 棵树。共有7种。我使用的模型是:在 COCO 数据集上预训练的“Faster R-CNN ResNet50 V1 640x640”..(链接如下) https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/ tf2_detection_zoo.md 在教程中使用以下模型“EfficientDet D0 512x512”,但该模型也过拟合了我的数据集,所以我尝试使用“Faster R-CNN ResNet50 V1 640x640”。

我用来减少过拟合的技术是

  1. 辍学(率=0.675)
  2. 数据增强(random_crop)
  3. 低学习率(learning_rate_base: .008 , total_steps: 25000 .warmup_learning_rate: .0001)
  4. 原始图像尺寸为 860x860,我将它们调整为 tp 640x640 并在 xml 中更改了边界框坐标。

我应该在模型配置中添加或更改什么以避免过度拟合?

这是我的模型配置文件:

0 投票
0 回答
26 浏览

python - 从 BERT 到机器学习模型的 Word Embedding 精度不好

我正在尝试通过从 BERT 中提取词嵌入并将词嵌入提供给机器学习模型来解决产品匹配任务。

但是,准确性并不好。

我尝试了不同的截断策略,并使用单个属性或连接的 2 个属性作为词嵌入的输入,但准确性并没有提高很多。

您能否建议我如何提高模型的性能?

这是github中的项目 https://github.com/jajawong/Data-Science/blob/main/Copy_of_FineTuneBert_Feature_Extraction%20(1).ipynb

0 投票
1 回答
134 浏览

machine-learning - 在 Xamarin 应用程序中正确加载 Microsoft.ML 模型?

我正在了解机器学习的工作原理并最终构建了一个小型 C# 应用程序,因为我正在观看一个教程,其中模型确定特定蜜蜂是什么种类的蜜蜂。它在 C# 应用程序中运行良好,但我也在开发一个具有拍照功能的应用程序项目,所以我想“没有理由我在第一个项目中保存的模型不能在第二个项目中工作,对吧?”。显然它不能工作是有原因的,因为这是在应用程序项目中查看的必要代码:

我在“m_loadedTrainedModel = m_mlObj.Model.Load(fileDir, out m_modelSchema);”上有一个断点 当然,它总是会触发异常。

异常状态:

---> System.TypeLoadException:无法加载字段'Microsoft.ML.Transforms.DnnRetrainTransformer:_tfInputShapes'(9)的类型,原因是:无法从typeref解析类型为01000060的类型(程序集中的预期类'Tensorflow.TensorShape' 'TensorFlow.NET, Version=0.20.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51') 程序集:TensorFlow.NET, Version=0.20.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd5 1 类型:Tensorflow.TensorShape 成员:(null)

我认为这意味着它正在检查 TensorFlow.NET 包中的 Tensorflow.TensorShape 并且没有找到它。如果是这种情况,我相信我没有安装正确的包,所以我的 Xamarin 项目将能够正确加载模型,也许吧?或者如果不是,那么真正的潜在问题可能是什么?代码看起来很简单,所以我有点困惑这是如何失败的。

如果解决方案公然超出我的想象,我很抱歉,并感谢任何愿意提供帮助的人。