我创建了一个逻辑回归模型并用它来预测出勤率:
LogModel <- glm(formula = Attended ~ City + Duration,
family = binomial(logit), data = MyData)
prediction <- predict(LogModel, MyData, type = "response")
Run Code Online (Sandbox Code Playgroud)
brierscore()为了获得 Brier 分数,我应该在函数中使用哪些参数?
如果这个问题很简单,我很抱歉,但是,我找不到任何解决方案来解决我的问题。我想用 ggplot2 绘制逻辑回归线。问题是我无法使用,geom_abline因为我没有原始模型,只有每条回归线的斜率和截距。我已经使用这种方法进行线性回归,并且这对于 来说效果很好geom_abline,因为您可以为函数提供多个斜率和截距。
geom_abline(数据 = 估计值,aes(截距 = inter,斜率 = slo)
其中inter和slo是具有多个值的向量。
如果我对逻辑回归的系数尝试相同的方法,我将得到错误的回归线(线性)。我正在尝试使用 geom_line,但是,我无法使用该函数predict来生成预测值,因为我没有原始模型对象等。
有什么建议吗?
预先感谢,古斯塔沃
我愿意对我的数据集执行逻辑回归。我用:
glm.fit=glm(direccion~Profit, data=datos, family=binomial)
Minute ecopet TASA10 direccion Minute cl1 Day Profit
1 571 2160 5 1 571 51.85 2015-02-20 -0.03
2 572 2160 5 1 572 51.92 2015-02-20 0.04
3 573 2160 5 1 573 51.84 2015-02-20 -0.04
4 574 2160 5 1 574 51.77 2015-02-20 -0.11
5 575 2160 10 1 575 51.69 2015-02-20 -0.19
6 576 2165 5 1 576 51.69 2015-02-20 -0.16
7 577 2165 -5 0 577 51.64 2015-02-20 -0.28
8 578 2165 -10 0 …Run Code Online (Sandbox Code Playgroud) 我刚刚了解了受控变量对于我正在做的项目意味着什么,我试图找出 sci-kit learn 是否有受控变量选项。具体来说,Python 是否有逻辑回归的控制变量(而不是自变量)?
我用 google 搜索了一下,没有找到任何关于 Python 的信息。然而,我想的是更基本的,控制变量意味着对你感兴趣的群体(比如种族)进行分层,然后根据你的 x 和 y 对每个群体进行分析。如果这是正确的,那么我应该解释这些分层组的结果,对吧?
抱歉,我问了两个问题,但我试图获得有关这个受控小组想法和 Python 应用程序的更多信息
我正在尝试使用 Jupyter Notebook 绘制逻辑函数。我可以很好地绘制它,但是使用 scipy.optimize.curve_fit 的逻辑函数不起作用。它返回直线坐标。
如何绘制逻辑回归线?
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
%matplotlib inline
df = pd.read_csv('https://gist.githubusercontent.com/shinokada/76070a0927fa1fac01eeaed298757a26/raw/2707a1bd7cba80613a01a2026abeb9f587dbaee5/logisticdata.csv')
x=df.T.iloc[0]
y=df.T.iloc[1]
def logifunc(x,l,c,k):
return l / (1 + c*np.exp(-k*x))
popt, pcov = curve_fit(logifunc, x, y, p0=[-150,1,1])
print(*popt)
x_data = np.linspace(170,205,num=100)
print(logifunc(x_data, *popt))
plt.scatter(x,y,label='Logistic function')
plt.plot(x_data, logifunc(x_data, *popt), 'r-',label='Fitted function')
plt.title("Logistic")
plt.xlabel('x')
plt.ylabel('y')
plt.xlim(170,210)
plt.ylim(-210,-160)
plt.legend()
plt.show()
Run Code Online (Sandbox Code Playgroud)
我有一个像这样的数据框,有 10 列酒精(从酒精1到酒精10)
\nID Status matching Alcohol1 Alcohol2\n 1 1 1 1 0\n 2 0 1 0 1\n 3 0 2 0 1\n 4 1 2 0 0\nRun Code Online (Sandbox Code Playgroud)\n我有许多逻辑回归模型可以使用酒精列作为解释变量来运行。我创建了一个执行此操作的函数。
\n现在我想在一个数据框中汇总所有模型的结果。\n我需要估计系数、95% 置信区间的下限、上限和 p 值。我设法获得了估计系数和 p 值,但无法获得置信区间(或也适合的方差)(通常通过摘要获得)
\n以下是我使用的功能:
\nlibrary(broom)\nlibrary(purrr)\n\nf1 <- function(column) {\n tidy(clogit(\n as.formula(\n paste("status ~", column, "+ strata(matching)")),\n data = table\n ))\n }\n\nmodel_results <- map_dfr(\n set_names(names(table)[4:14]), \n f1\n)\nRun Code Online (Sandbox Code Playgroud)\n预期的结果会是这样的
\nterm estimate lower.95 upper.95 pvalue\nAlcohol1 \nAlcohol2 \n\xe2\x80\xa6 \nRun Code Online (Sandbox Code Playgroud)\n预先感谢您的帮助
\n当我尝试使用 glm 运行我的模型时出现此错误。为什么 R 不使用我的嵌套字符嵌套效果?
model <- glm(Propotion ~ Parasites_box * Parasites_nest + Day_of_year + Site + (1|Subsite/Nestbox/Cavity_ID), data = data.ex, family = binomial)
Error in Subsite/Trapnest : non-numeric argument to binary operator
Run Code Online (Sandbox Code Playgroud)
使用 glmer 给了我一个不同的警告:
model <- glmer(Propotion ~ Parasites_box * Parasites_nest + Day_of_year + Site + (1|Subsite/Nestbox/Cavity_ID), data = data.ex, family = binomial)
Error in (function (fr, X, reTrms, family, nAGQ = 1L, verbose = 0L, maxit = 100L, :
Downdated VtV is not positive definite
In addition: …Run Code Online (Sandbox Code Playgroud) 假设我有(x,y)样本制作的训练集.
为了应用生成算法,让我们说高斯判别,我必须假设
p(x|y) ~ Normal(mu, sigma) 为每一个可能的西格玛
或者我只需要知道是否x ~ Normal(mu, sigma)给出了y?
如何评估p(x | y)是否遵循多元正态分布对我来说足够(达到阈值)使用生成算法?
normal-distribution generative-programming machine-learning logistic-regression
我想进行逻辑回归:我有1个因变量和~10个预测变量.
我想在尝试每种组合时执行详尽的搜索,例如更改顺序和添加/删除预测变量等.例如:
y~x1 + x2 + x3 + x4 + x5
y~x2 + x1 + x3 + x4 + x5
y~x1 + x2 + x3
y~x5 + x1 + x2 + x3 + x4
y~x4 + x2
...等等.
在这种情况下,计算时间对我来说不是一个停止的问题:这主要是一项教育活动.
你知道我该怎么做吗?我用R.
编辑:要明确:这主要是一个教育练习:我想测试每个模型,所以我可以根据一些索引(如AUC或伪R²)对它们进行排序,以便向我的" 学生 "展示哪些预测器似乎有趣但没有科学意义.我打算执行bootstrap重采样以进一步测试"最狂野 "的模型.
我将逻辑回归模型拟合到R中的训练数据集,更具体地说是具有L1惩罚的LASSO回归.我用了这个glmnet包.模型的代码如下所示.
t1 <- Sys.time()
glmnet_classifier <- cv.glmnet(x = dtm_train_tfidf,
y = tweets_train[['sentiment']],
family = 'binomial',
# L1 penalty
alpha = 1,
# interested in the area under ROC curve
type.measure = "auc",
# 5-fold cross-validation
nfolds = 5,
# high value is less accurate, but has faster training
thresh = 1e-3,
# again lower number of iterations for faster training
maxit = 1e3)
print(difftime(Sys.time(), t1, units = 'mins'))
preds <- predict(glmnet_classifier, dtm_test_tfidf, type = 'response')[ ,1]
Run Code Online (Sandbox Code Playgroud)
现在我想绘制ROC曲线.但是,我无法弄清楚如何准确地绘制它.
当我 …
r ×7
ggplot2 ×1
glmm ×1
glmnet ×1
mixed-models ×1
python ×1
roc ×1
scikit-learn ×1
scipy ×1
tidy ×1