formula support for categorical endog variable in logistic regression
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
Direzione di ricerca
Inizia riproducendo i due esempi di formule smf.logit presenti nell’issue, confrontando la forma manuale con variabili dummy con C(sex) ~ C(smoker) + C(time). Studia la limitazione segnalata di patsy e determina quale dovrebbe essere il comportamento delle variabili endogene categoriali; il lavoro sarà completato quando la formula categoriale sarà supportata con risultati di regressione appropriati e una copertura della regressione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
patsy: '0.5.1'
https://github.com/statsmodels/statsmodels/issues/5552
SM: 0.9.0
For categorical endog variable in logistic regression, I still have to gerneate a dummay variable for it like the following.import pandas as pd import seaborn as sns import numpy as np import statsmodels.formula.api as smf # generate dummy df['male'] = df.sex.map({'Male': 1, 'Female': 0}) # regression formula = 'male ~ C(smoker) + C(time)' model = smf.logit(formula, data=df).fit() model.summary()If I just do
formula = 'C(sex) ~ C(smoker) + C(time)' model = smf.logit(formula, data=df).fit() model.summary()I will get
ValueError: operands could not be broadcast together with shapes (244,2) (244,)This is a little bit weird, since the formula support all categorical variables but the endog. I wonder if this could be a poential feature to imporve.
Btw, is there any current workaround for this issue if I wanna use formula?
@bashtage:
This is a patsy limit. You could just define a function C1
def C1(cat): return pd.get_dummies(cat, drop_first=True)and then use
formula = 'C1(sex) ~ C(smoker) + C(time)'
- Lingua principale
- Python
- Stelle
- 989
- Fork
- 107
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di pydata/patsy
-
VarLookupDict should implement __iter__, causes CPython crash when using statsmodels in marimo notebookForse già presa @kouyouqi123 l’ha presa 131 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
-
`build._eval_factor` error condition attempts to access attribute `dtype` on `DataFrame` object, but no such attribute existsForse già presa @kouyouqi123 l’ha presa 131 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 55/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
Tutte le issue di pydata/patsy
Issue simili
-
Broken link in index.rstApertadocumentation
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 65/100
ansys/pydpf-core#3547 ·
I maintainer di solito rispondono entro 1 giorno
-
core
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
vectorize-io/hindsight#5457 ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: LangChain drops OpenAI Responses text blocks from session recordingForse già presa @ktz03 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
volcengine/OpenViking#5806 ·
I maintainer di solito rispondono entro 1 giorno
-
HTML: <template> content is extracted as document textForse già presa @ryanmeowy l’ha presa oggi. Apertabug html
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
docling-project/docling#4714 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
APIv2 event data accepts a non-string reply and a NaN upper_boundForse già presa @awss1i l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
freedomofpress/securedrop#7946 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni