我正在考虑向TalkingPuffin Twitter客户端添加一项功能,在与用户进行一些培训后,它可以根据预测值对传入的推文进行排名.Java虚拟机(Scala或Java首选)有哪些解决方案来执行此类操作?
我正在寻找一个用Java编写的开源NaïveBayes分类器库.非常感谢找到一个帮助.
NaïveBayes分类器与贝叶斯网络相同吗?
在我的学士论文中,我应该在文本分类问题上使用带有MultinomialNaiveBayes分类器的AdaBoostM1.问题在于,在大多数情况下,M1没有增强的情况下更糟或等于MultinomialNaiveBayes.
我使用以下代码:
AdaBoostM1 m1 = new AdaBoostM1();
m1.setClassifier(new NaiveBayesMultinomial());
m1.buildClassifier(training);
Run Code Online (Sandbox Code Playgroud)
所以我不明白AdaBoost怎么会无法改善结果呢?不幸的是,我在网上找不到任何其他相关内容,因为大多数人似乎对AdaBoost非常满意.
我试图在R中调用以下jags模型:
model{
# Main model level 1
for (i in 1:N){
ficon[i] ~ dnorm(mu[i], tau)
mu[i] <- alpha[country[i]]
}
# Priors level 1
tau ~ dgamma(.1,.1)
# Main model level 2
for (j in 1:J){
alpha[j] ~ dnorm(mu.alpha, tau.alpha)
}
# Priors level 2
mu.alpha ~ dnorm(0,.01)
tau.alpha ~ dgamma(.1,.1)
sigma.1 <- 1/(tau)
sigma.2 <- 1/(tau.alpha)
ICC <- sigma.2 / (sigma.1+sigma.2)
}
Run Code Online (Sandbox Code Playgroud)
这是一个分层模型,其中ficon是连续变量0-60,可能具有不同的平均值或按国家/地区分布.N =总观测数(2244)和J =国家数(34).当我运行此模型时,我不断收到以下错误消息:
Compilation error on line 5.
Subset out of range: alpha[35]
Run Code Online (Sandbox Code Playgroud)
这段代码工作得比较早,但现在还没有用.我认为问题是只有34个国家,这就是为什么它会被困在i = 35,但我不知道如何解决这个问题.欢迎任何建议!
我用来调用模型的R代码:
### …Run Code Online (Sandbox Code Playgroud) 我想知道是否可以在5或6个核心的JAGS中细分3个链.这是我的代码:
library(parallel)
# There is no progression bar using parallel
jags.parallel(data = d$data,
inits = d$inits,
parameters.to.save = d$params,
model.file = model.jags,
n.chains = 3,
n.thin = 10,
n.iter = 9000,
n.burnin = 3000,
working.directory = NULL,
n.cluster = 3) ## the number of cluster it’s taking
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,这是默认值,链的数量(nc在我的情况下为3)等于使用的核心数.
Error in res[[ch]] : subscript out of bounds.为什么?我的计算机有16个内核,所以我在内核数量上有灵活性(还有64 GB的RAM和3 GHz的Intel Xeon E5处理器).
我最近阅读了Google的史蒂文·斯科特(Steven Scott)的贝叶斯结构时间序列模型的bsts软件包,并希望将其与我用于各种预测任务的预测软件包中的auto.arima函数相对应。
我在几个示例上进行了尝试,并对该程序包的效率和预测点印象深刻。但是,当我查看预测方差时,我几乎总是发现bsts最终给出了比auto.arima更大的置信度范围。这是有关白噪声数据的示例代码
library("forecast")
library("data.table")
library("bsts")
truthData = data.table(target = rnorm(250))
freq = 52
ss = AddGeneralizedLocalLinearTrend(list(), truthData$target)
ss = AddSeasonal(ss, truthData$target, nseasons = freq)
tStart = proc.time()[3]
model = bsts(truthData$target, state.specification = ss, niter = 500)
print(paste("time taken: ", proc.time()[3] - tStart))
burn = SuggestBurn(0.1, model)
pred = predict(model, horizon = 2 * freq, burn = burn, quantiles = c(0.10, 0.90))
## auto arima fit
max.d = 1; max.D = 1; max.p = 3; max.q = 3; max.P = …Run Code Online (Sandbox Code Playgroud) 我有一个包含200000个标记的训练样例的数据集.对于每个训练示例,我有10个功能,包括连续和离散.我正在尝试使用sklearnpython包来训练模型并进行预测,但我遇到了一些麻烦(还有一些问题).
首先让我编写我到目前为止编写的代码:
from sklearn.naive_bayes import GaussianNB
# data contains the 200 000 examples
# targets contain the corresponding labels for each training example
gnb = GaussianNB()
gnb.fit(data, targets)
predicted = gnb.predict(data)
Run Code Online (Sandbox Code Playgroud)
问题是我的准确度非常低(错误分类标签太多) - 大约20%.但是我不太确定数据是否存在问题(例如需要更多数据或其他内容)或代码.
在给定具有离散和连续特征的数据集的情况下,这是实现朴素贝叶斯分类器的正确方法吗?
此外,在机器学习中,我们知道数据集应该分为训练和验证/测试集.这是由模型使用训练数据集自动执行sklearn还是我应该使用验证集fit调用predict?
任何想法或建议将不胜感激.
我正在阅读黑客的概率编程和贝叶斯方法.在Ch5中,写的是logp = pm.Normal.dist(mu=price_estimate, sd=(3e3)).logp(true_price).
这是什么?我知道,pm.Normal()但不知道.dist()和.logp().
我目前正在努力解决如何按照APA-6建议报告的结果rstanarm::stan_lmer().
首先,我将在频率论方法中使用混合模型,然后尝试使用贝叶斯框架进行相同的操作.
以下是获取数据的可重现代码:
library(tidyverse)
library(neuropsychology)
library(rstanarm)
library(lmerTest)
df <- neuropsychology::personality %>%
select(Study_Level, Sex, Negative_Affect) %>%
mutate(Study_Level=as.factor(Study_Level),
Negative_Affect=scale(Negative_Affect)) # I understood that scaling variables is important
Run Code Online (Sandbox Code Playgroud)
现在,让我们以"传统"的方式拟合线性混合模型来测试性别(男/女)对负面情绪(负面情绪)的影响,以及研究水平(教育年限)作为随机因素.
fit <- lmer(Negative_Affect ~ Sex + (1|Study_Level), df)
summary(fit)
Run Code Online (Sandbox Code Playgroud)
输出如下:
Linear mixed model fit by REML t-tests use Satterthwaite approximations to degrees of
freedom [lmerMod]
Formula: Negative_Affect ~ Sex + (1 | Study_Level)
Data: df
REML criterion at convergence: 3709
Scaled residuals:
Min 1Q Median 3Q Max
-2.58199 -0.72973 0.02254 0.68668 2.92841 …Run Code Online (Sandbox Code Playgroud) bayesian ×10
r ×4
jags ×2
java ×2
python ×2
adaboost ×1
data-mining ×1
forecasting ×1
mcmc ×1
mixed-models ×1
naivebayes ×1
nlp ×1
open-source ×1
pymc3 ×1
rstan ×1
scala ×1
scikit-learn ×1
stan ×1
statistics ×1
tagging ×1
time-series ×1
twitter ×1
weka ×1