我已经通过sklearn OneHotEncoding方法转换了训练和测试数据集。但是,转换结果具有不同的类型形状。所以不可能应用于其他算法,如逻辑回归。
如何根据训练数据集的形状重塑测试数据?
最好的关注,克里斯
template<class KeyType, class ItemType>
class AVL
{
protected:
template<class KeyType, class ItemType>
class AVLNode
{
public:
AVLNode(KeyType key, ItemType item) :
m_Balance(0), m_Depth(0),
m_Key(key), m_Data(item),
m_pLeft(0), m_pRight(0)
{
}
KeyType m_Key;
ItemType m_Data;
AVLNode* m_pLeft;
AVLNode* m_pRight;
};
AVLNode<KeyType, ItemType>* m_pRoot;
public:
AVL() : m_pRoot(0) { }
~AVL() { }
};
答案 0 :(得分:1)
非常感谢你,Vivek!由于你的帮助,我已经解决了这个问题。
def data_transformation2(data, data_test, dummy):
le = LabelEncoder()
# Encoding the columns with multiple categorical levels
for col in dummy:
le.fit(data[col])
data[col] = le.transform(data[col])
for col in dummy:
le.fit(data_test[col])
data_test[col] = le.transform(data_test[col])
enc = OneHotEncoder()
dummy_data = np.array(data[dummy])
dummy_data_test = np.array(data_test[dummy])
enc.fit(dummy_data)
dummy_data = enc.transform(dummy_data).toarray()
dummy_data_test = enc.transform(dummy_data_test).toarray()
print(dummy_data.shape)
print(dummy_data_test.shape)