R 如何应用机器学习技术/如何使用模型输出
我是一位机器学习的植物科学家。我已经成功地编写了代码并学习了机器学习技术教程。我的问题是试图理解如何实际应用这些技术来回答现实世界的问题。我真的不明白如何使用模型输出来回答问题 我最近学习了一个教程,创建了一个检测信用卡欺诈的算法。所有模型都运行良好,我知道如何构建它们;但是,我究竟如何将这些信息转化为一个明确的答案呢?按照同样的例子,假设我为我的工作编写了这段代码,那么我将如何获取真实的信用卡数据并使用此算法对其进行筛选?我真的想在运行这些模型和从真实数据生成有用的输出之间建立一种联系 谢谢大家 为了简洁起见,我将重点介绍使用此处相同数据集的一些具体示例: 3) 梯度增压R 如何应用机器学习技术/如何使用模型输出,r,machine-learning,R,Machine Learning,我是一位机器学习的植物科学家。我已经成功地编写了代码并学习了机器学习技术教程。我的问题是试图理解如何实际应用这些技术来回答现实世界的问题。我真的不明白如何使用模型输出来回答问题 我最近学习了一个教程,创建了一个检测信用卡欺诈的算法。所有模型都运行良好,我知道如何构建它们;但是,我究竟如何将这些信息转化为一个明确的答案呢?按照同样的例子,假设我为我的工作编写了这段代码,那么我将如何获取真实的信用卡数据并使用此算法对其进行筛选?我真的想在运行这些模型和从真实数据生成有用的输出之间建立一种联系 谢谢大
library(gbm, quietly=TRUE)
# train GBM model
system.time(
model_gbm <- gbm(Class ~ .
, distribution = "bernoulli"
, data = rbind(train_data, test_data)
, n.trees = 100
, interaction.depth = 2
, n.minobsinnode = 10
, shrinkage = 0.01
, bag.fraction = 0.5
, train.fraction = nrow(train_data) / (nrow(train_data) + nrow(test_data))
)
)
# best iteration
gbm.iter = gbm.perf(model_gbm, method = "test")
model.influence = relative.influence(model_gbm, n.trees = gbm.iter, sort. = TRUE)
# plot
plot(model_gbm)
# plot
gbm_test = predict(model_gbm, newdata = test_data, n.trees = gbm.iter)
gbm_auc = roc(test_data$Class, gbm_test, plot = TRUE, col = "red")
print(gbm_auc)
库(gbm,=TRUE)
#列车GBM模型
系统时间(
model_gbm您开发模型时最好使用三个数据集。
培训、测试和验证(有时使用不同的术语)
这里,使用训练集和测试集来开发模型。
您决定的模型决不能看到任何验证集。此验证集用于查看您的模型有多好,实际上它将模拟未来可能出现的真实世界的新数据。一旦您确定模型的性能达到可接受的水平,您就可以返回运行所有数据以生成最终的操作模型。然后,任何新的“实时”感兴趣的数据都会被输入到模型中,并产生一个输出。在欺诈检测的情况下,它会输出一些概率:在这里,您需要人工输入,以决定在何种程度上将事件标记为欺诈事件,以保证进一步调查。
定期或在数据到达或模型性能减弱时(欺诈者可能变得更加狡猾!)你会重复整个过程。嗨,安德鲁,你的问题真的很广泛。我担心模型等的解释会随数据集而来,我们对你所做的肯定不太熟悉。你有实际的编程问题吗?
library(rpart)
library(rpart.plot)
decisionTree_model <- rpart(Class ~ . , creditcard_data, method = 'class')
predicted_val <- predict(decisionTree_model, creditcard_data, type = 'class')
probability <- predict(decisionTree_model, creditcard_data, type = 'prob')
rpart.plot(decisionTree_model)
library(neuralnet)
ANN_model =neuralnet (Class~.,train_data,linear.output=FALSE)
plot(ANN_model)
predANN=compute(ANN_model,test_data)
resultANN=predANN$net.result
resultANN=ifelse(resultANN>0.5,1,0)
library(gbm, quietly=TRUE)
# train GBM model
system.time(
model_gbm <- gbm(Class ~ .
, distribution = "bernoulli"
, data = rbind(train_data, test_data)
, n.trees = 100
, interaction.depth = 2
, n.minobsinnode = 10
, shrinkage = 0.01
, bag.fraction = 0.5
, train.fraction = nrow(train_data) / (nrow(train_data) + nrow(test_data))
)
)
# best iteration
gbm.iter = gbm.perf(model_gbm, method = "test")
model.influence = relative.influence(model_gbm, n.trees = gbm.iter, sort. = TRUE)
# plot
plot(model_gbm)
# plot
gbm_test = predict(model_gbm, newdata = test_data, n.trees = gbm.iter)
gbm_auc = roc(test_data$Class, gbm_test, plot = TRUE, col = "red")
print(gbm_auc)