Для этого вы можете использовать countVectorizer, даже если ваши данные не являются документами.
Рассмотрим, например, ваш словарь функций JavaScript как vocab_functions
.Ваши входные функции присутствуют в пяти столбцах информационного кадра следующим образом
df[func1],df[func2],df[func3],df[func4],df[func5]
Объедините все имена функций с пробелом между ними, чтобы сформировать новый столбец
df['input_func']
Теперь примените countVectorizer к этомустолбец,
from sklearn.feature_extraction.text import CountVectorizer
corpus = [
'func_asb func_asdnl func_15 func_sx funcd3d',
'func_11 func_sav3 func_fdasvb15 func_saax funcdnlvasdd',
]
vectorizer = CountVectorizer()#add --- vocabulary=vocab_functions
X = vectorizer.fit_transform(corpus) # replace with df['input_func']
X.todense()
#
matrix([[0, 1, 1, 1, 0, 0, 0, 1, 1, 0],
[1, 0, 0, 0, 1, 1, 1, 0, 0, 1]], dtype=int64)
Передать этот X в дерево решений, которое будет иметь размерность 200.