def __init__(self, n_values, feature_indices):
import warnings
from sklearn.preprocessing import OneHotEncoder
if not isinstance(n_values, np.ndarray):
n_values = np.array(n_values)
if not isinstance(feature_indices, np.ndarray):
feature_indices = np.array(feature_indices)
assert feature_indices.size > 0
assert feature_indices.shape == n_values.shape
for nv in n_values:
if nv <= 2:
raise Exception("Categorical features must have 3+ labels")
self.feature_indices = feature_indices
self.n_values = n_values
with warnings.catch_warnings():
warnings.simplefilter("ignore")
self.encoder = OneHotEncoder(n_values=n_values, sparse=False)
self.columnlabels = None
self.xform_start_indices = None
评论列表
文章目录