Python 如何使用smf.mnlogit.predict()进行适当的预测/分类?
我很好奇是否有人能帮助我了解一种有效的方法,可以使用.predict()获得单个预测向量,用于使用Python 如何使用smf.mnlogit.predict()进行适当的预测/分类?,python,logistic-regression,statsmodels,multinomial,Python,Logistic Regression,Statsmodels,Multinomial,我很好奇是否有人能帮助我了解一种有效的方法,可以使用.predict()获得单个预测向量,用于使用statsmodels.formula.api.mnlogit() 这将输出100行x 4列的矩阵形状: 我猜这是df.anists.unique()中四个输出变量之一的值的分类概率 我猜我会创建一个函数,使用.predict()输出?预测的行中的最高概率分数,将每个值分配给四个DV中的一个。argmax(1)将为您提供具有最高预测概率的选择索引。或者可能np.asarray(预测)。argmax(
statsmodels.formula.api.mnlogit()
这将输出100行x 4列的矩阵形状:
我猜这是df.anists.unique()
中四个输出变量之一的值的分类概率
我猜我会创建一个函数,使用
.predict()
输出?预测的行中的最高概率分数,将每个值分配给四个DV中的一个。argmax(1)
将为您提供具有最高预测概率的选择索引。或者可能np.asarray(预测)。argmax(1)
谢谢@Josef-np.asarray(预测)。argmax(1)
效果很好@Josef你知道我怎样才能找出每个索引对应的依赖值吗?例如,索引0='dog',等等?它应该在mod.model.data.ynames
中,但也应该在一些返回中,例如summary和mod.params
DataFrame中作为索引。
import pandas as pd, statsmodels.formula.api as smf
df = pd.DataFrame({'age': np.random.choice([20, 30, 23, 40, 39, 27], size = 100, replace = True),
'animal': np.random.choice(['dog', 'parrot', 'cat', 'turtle'], size = 100,
replace = True)})
mod = smf.mnlogit('animal ~ age', df).fit()
predictions = mod.predict(df['age'])
print(predictions)