我使用rpart为数据集构建了一个决策树.
然后我将数据分为两部分 - 训练数据集和测试数据集.已使用训练数据为数据集构建树.我想根据创建的模型计算预测的准确性.
我的代码如下所示:
library(rpart)
#reading the data
data = read.table("source")
names(data) <- c("a", "b", "c", "d", "class")
#generating test and train data - Data selected randomly with a 80/20 split
trainIndex <- sample(1:nrow(x), 0.8 * nrow(x))
train <- data[trainIndex,]
test <- data[-trainIndex,]
#tree construction based on information gain
tree = rpart(class ~ a + b + c + d, data = train, method = 'class', parms = list(split = "information"))
Run Code Online (Sandbox Code Playgroud)
我现在想要通过将结果与实际值训练和测试数据进行比较来计算模型生成的预测的准确性,但是这样做时我遇到了错误.
我的代码如下所示:
t_pred = predict(tree,test,type="class")
t = test['class'] …Run Code Online (Sandbox Code Playgroud) 我正在从这里(第 8、9 页)阅读有关 NP 硬度的信息,并且在注释中,作者将 3-SAT 形式的问题简化为可用于解决最大独立集问题的图形。
在示例中,作者将以下 3-SAT 问题转换为图形。3-SAT 问题是:
(a ? b ? c) ? (b ? ~c ? ~d) ? (~a ? c ? d) ? (a ? ~b ? ~d)
Run Code Online (Sandbox Code Playgroud)
生成的等效图为:

作者指出,如果满足以下条件,则两个节点通过边连接:
我无法理解作者是如何提出这些规则的。