multinomialNB

语法

multinomialNB(Y, X, [varSmoothing=1.0])

参数

Y 是一个长度与 X 的行数相等的向量,表示 X 中每个样本对应的标签。

X 是一个表,表示训练集。表中每一行表示一个样本,每一列表示一个特征。

varSmoothing 是0到1之间的浮点数,表示平滑系数。

详情

使用多项式朴素贝叶斯(Multinomial Naive Bayes)算法对数据进行分类训练。返回的结果是一个字典,包含以下key:

  • modelName:模型名称,为字符串”MultinomialNB”

  • model:multinomialNB的内部模型

  • varSmoothing:训练时使用的平滑系数

例子

本例所用数据集iris.data可从 https://archive.ics.uci.edu/ml/datasets/iris 下载。

$ DATA_DIR = "C:/DolphinDB/Data"
$ t = loadText(DATA_DIR+"/iris.data")
$ t.rename!(`col0`col1`col2`col3`col4, `sepalLength`sepalWidth`petalLength`petalWidth`class)
$ t[`classType] = take(0, t.size())
$ update t set classType = 1 where class = "Iris-versicolor"
$ update t set classType = 2 where class = "Iris-virginica"

$ training = select sepalLength, sepalWidth, petalLength, petalWidth from t
$ labels = t.classType

$ model = multinomialNB(labels, training);

$ predict(model, training);