我已经将输入的字符串转换成了数组,现在我想将这个数组转换为独热编码,以便在模型中运行。
from sklearn.preprocessing import OneHotEncoder Smi = input("Enter Smile") inn = [Smi] details = np.array(inn) details = details.reshape(1,-1) encoder = OneHotEncoder(handle_unknown='ignore') encoder.fit(X) me = encoder.transform(details).toarray() me ValueError: Expected 2D array, got 1D array instead:
我还分享了我的Google Colab,以便更好地理解。
回答:
尝试以下方法:
# 首先拟合一个编码器X = np.array([":)",":(",":!",":}",":|"]).reshape(-1,1)print (X)encoder = OneHotEncoder(handle_unknown='ignore')encoder.fit(X)Smi = input("Enter Smile")# 假设你输入的是 :!details = np.array([Smi]).reshape(1,-1)print (encoder.transform(details).toarray())
输出:
[[':)'] [':('] [':!'] [':}'] [':|']]Enter Smile:![[1. 0. 0. 0. 0.]]