独立したフィールドを文字列から算術表記に変換する必要があります。私は変換にOneHotEncoderを使用しています。私のデータセットには多くの独立した列があり、そのうちのいくつかは次のとおりです。
Country | Age
--------------------------
Germany | 23
Spain | 25
Germany | 24
Italy | 30
私は国の列を次のようにエンコードする必要があります
0 | 1 | 2 | 3
--------------------------------------
1 | 0 | 0 | 23
0 | 1 | 0 | 25
1 | 0 | 0 | 24
0 | 0 | 1 | 30
私はOneHotEncoderを使用して欲望変換を取得することに成功しました
#Encoding the categorical data
from sklearn.preprocessing import LabelEncoder
labelencoder_X = LabelEncoder()
X[:,0] = labelencoder_X.fit_transform(X[:,0])
#we are dummy encoding as the machine learning algorithms will be
#confused with the values like Spain > Germany > France
from sklearn.preprocessing import OneHotEncoder
onehotencoder = OneHotEncoder(categorical_features=[0])
X = onehotencoder.fit_transform(X).toarray()
現在、categories='auto'
を使用するための減価償却メッセージを取得しています。そうすると、国、年齢、給与など、すべての独立した列で変換が行われます。
データセットの第0列のみを変換する方法は?
私は同じ問題を抱えていて、次のことがうまくいきました:
OneHotEncoder(categories='auto', sparse=False)
お役に立てれば
次のコードを使用します:-
from sklearn.preprocessing import OneHotEncoder
from sklearn.compose import ColumnTransformer
columnTransformer = ColumnTransformer([('encoder', OneHotEncoder(), [0])], remainder='passthrough')
X = np.array(columnTransformer.fit_transform(X), dtype = np.str)
print(X)