统计学习混淆表变量

问题描述 投票:0回答:1

我的混淆表中出现了一个额外的变量,不确定它来自哪里。 数据集“默认”具有以下列:默认、学生、收入、余额 变量“默认”有两个值:“是”和“否”

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import statsmodels.api as sm
from ISLP import load_data
from ISLP.models import (ModelSpec as MS,
                         summarize,
                         poly)
from ISLP import confusion_table



Default = load_data('Default')
vars = Default.columns.drop(['default'])
y = Default['default'] == 'Yes'
design = MS(vars)
X = design.fit_transform(Default)
glm = sm.GLM(y,
             X,
             family = sm.families.Binomial())
results = glm.fit()
summarize(results)
probs = results.predict()
labels = np.array(['No']*10000)
labels[probs>0.5] = 'Yes'
confusion_table(labels,Default.default)

在输出中,我得到一个 3x3 表格,其中包含变量“No”、“Yes”和“Ye”

我希望混淆表值仅为“是”和“否”。不知何故,numpy.array“标签”设置为“Ye”而不是“Yes”。

python numpy machine-learning statistics statsmodels
1个回答
0
投票

Numpy 可能会推断

labels = np.array(['No']*10000)
的数据类型为 2 个字符,因为数组的所有元素都有两个字符。

尝试

labels = np.array(['No']*10000, dtype='<U3')

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.