首页 > 解决方案 > LabelEncoder fit_transform() 函数中的问题

问题描述

尝试执行以下代码时出现以下错误。

class LabelOneHotEncoder():
    def __init__(self):
        self.ohe = OneHotEncoder()
        self.le = LabelEncoder()
    def fit_transform(self, x):
        features = self.le.fit_transform( x)
        return self.ohe.fit_transform( features.reshape(-1,1))
    def transform( self, x):
        return self.ohe.transform( self.le.transform( x.reshape(-1,1)))
    def inverse_tranform( self, x):
        return self.le.inverse_transform( self.ohe.inverse_tranform( x))
    def inverse_labels( self, x):
        return self.le.inverse_transform( x)

y = list(map(ImageToLabelDict.get, train_images))
lohe = LabelOneHotEncoder()
y_cat = lohe.fit_transform(y)

错误

perm = ar.argsort(kind='mergesort' if return_index else 'quicksort')
TypeError: '<' not supported between instances of 'NoneType' and 'NoneType'

标签: pythonpython-3.xscikit-learn

解决方案


你的问题很混乱...

很多变量都不见了。

我猜它可能发生在ar. ar生成的可能LabelOneHotEncoder有一些np.NaN值。data当您将需要转换的模型转换为没有某些特征/值的模型时,我可能会发生这种情况。

One word: your training data is bigger than the transformed data.

推荐阅读