似乎有很多与机器学习相关的子领域。是否有一本书或博客概述了这些不同的领域以及每个领域的工作,也许如何开始,以及需要哪些背景知识?
假设我正在研究一些分类问题.(欺诈检测和评论垃圾邮件是我现在正在处理的两个问题,但我对一般的任何分类任务都很好奇.)
我怎么知道我应该使用哪个分类器?
在哪些情况下,其中一种是"自然的"首选,选择那一种的原则是什么?
我正在寻找的答案类型的例子(来自Manning等人的信息检索简介书):
一个.如果您的数据已标记,但数量有限,则应使用具有高偏差的分类器(例如,Naive Bayes).
我猜这是因为较高偏差的分类器会有较低的方差,这很好,因为数据量很小.
湾 如果你有大量的数据,那么分类器并不是那么重要,所以你应该选择一个具有良好可扩展性的分类器.
其他指南是什么?甚至像"如果你必须向一些高级管理人员解释你的模型,那么也许你应该使用决策树,因为决策规则相当透明"的答案是好的.不过,我不太关心实现/库问题.
此外,对于一个有点单独的问题,除了标准的贝叶斯分类器,是否有"标准的最先进"方法用于评论垃圾邮件检测(而不是电子邮件垃圾邮件)?
有人能解释数据挖掘中分类和聚类之间的区别吗?
如果可以,请举两个例子来理解主要想法.
terminology classification cluster-analysis machine-learning data-mining
假设我有一个ndy阵列
a = array([1,0,3])
Run Code Online (Sandbox Code Playgroud)
我想将其编码为2d 1-hot阵列
b = array([[0,1,0,0], [1,0,0,0], [0,0,0,1]])
Run Code Online (Sandbox Code Playgroud)
有快速的方法吗?比仅仅循环a设置元素更快b.
python numpy machine-learning one-hot-encoding numpy-ndarray
在下面的TensorFlow函数中,我们必须在最后一层中提供人工神经元的激活.我明白了 但我不明白为什么它被称为logits?这不是一个数学函数吗?
loss_function = tf.nn.softmax_cross_entropy_with_logits(
logits = last_layer,
labels = target_output
)
Run Code Online (Sandbox Code Playgroud) machine-learning neural-network deep-learning tensorflow cross-entropy
如何将训练有素的Naive Bayes分类器保存到磁盘并使用它来预测数据?
我从scikit-learn网站获得以下示例程序:
from sklearn import datasets
iris = datasets.load_iris()
from sklearn.naive_bayes import GaussianNB
gnb = GaussianNB()
y_pred = gnb.fit(iris.data, iris.target).predict(iris.data)
print "Number of mislabeled points : %d" % (iris.target != y_pred).sum()
Run Code Online (Sandbox Code Playgroud) 当我使用Theano或Tensorflow训练我的神经网络时,他们将报告每个时期称为"损失"的变量.
我该如何解释这个变量?更高或更低的损失,或者它对我的神经网络的最终性能(准确性)意味着什么?
machine-learning mathematical-optimization neural-network deep-learning objective-function
有关如何最好地将数据划分为训练和验证集的经验法则吗?是否建议平均50/50分割?或者,与验证数据相关的培训数据是否有明显优势(反之亦然)?或者这个选择几乎取决于应用程序?
我分别主要使用80%/ 20%的培训和验证数据,但我选择了这个部门而没有任何原则性原因.在机器学习方面经验丰富的人能告诉我吗?
使用 Conda + Poetry 进行机器学习项目有意义吗?让我分享一下我(新手)的理解,请指正或赐教:
据我了解,Conda和Poetry有不同的目的,但很大程度上是多余的:
我的想法是同时使用两者并划分它们的角色:让 Conda 担任环境管理器,让 Poetry 担任包管理器。我的推理是(听起来)Conda 最适合管理环境,可用于编译和安装非 python 包,尤其是 CUDA 驱动程序(用于 GPU 功能),而 Poetry 作为 Python 包管理器比 Conda 更强大。
通过在 Conda 环境中使用 Poetry,我成功地相当轻松地完成了这项工作。诀窍是不要使用 Poetry 来管理 Python 环境:我没有使用poetry shellor poetry run、 onlypoetry init等命令poetry install(激活 Conda 环境后)。
为了充分披露,我的environment.yml文件(针对Conda)如下所示:
name: N
channels:
- defaults
- conda-forge
dependencies:
- python=3.9
- cudatoolkit
- cudnn
Run Code Online (Sandbox Code Playgroud)
我的诗歌.toml …
machine-learning ×10
data-mining ×3
python ×3
conda ×1
numpy ×1
package ×1
scikit-learn ×1
tensorflow ×1
terminology ×1