Как обучить модель прогнозированию должностей с помощью многоклассового набора данных?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как обучить модель прогнозированию должностей с помощью многоклассового набора данных?

Сообщение Anonymous »

Я работаю над проектом по прогнозированию должностей на основе набора данных, содержащего 39 функций и 33 уникальных должностей в качестве целевых меток. Набор данных содержит 20 000 строк и включает как числовые, так и категориальные столбцы.
Вот краткое описание набора данных:
  • Числовые характеристики (14): Процентное соотношение академических предметов (например, операционные системы, алгоритмы), рейтинг логических коэффициентов, посещенных хакатонов и т. д.
  • Двоичные функции (16): Такие вопросы, как «может ли система работать долгое время?», «способность к самообучению?» и т. д.
  • Категорические характеристики (8): Включает «сертификаты», «оценку памяти», «интересную область карьеры» и т. д.
  • Целевая переменная: Рекомендуемая должность (например, «Разработчик баз данных», «Инженер-программист» и т. д.).
Проблема:

Я предварительно обработал набор данных и попробовал такие модели обучения, как Random Forest, SVM и XGBoost, но точность остается неизменно низкой (около 3%). Я подозреваю, что проблема может быть связана с предварительной обработкой, выбором модели или настройкой гиперпараметра.
Конвейер предварительной обработки:

Вот как Я предварительно обрабатываю данные:

Код: Выделить всё

from sklearn.compose import ColumnTransformer
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import OrdinalEncoder, OneHotEncoder, MinMaxScaler

def transform_data(df):
X = df.drop('Suggested Job Role', axis=1)
y = df['Suggested Job Role']

# Feature types
two_category_features = ['can work long time before system?', 'self-learning capability?',
'Extra-courses did', 'talenttests taken?', 'olympiads', 'Job/Higher Studies?',
'Taken inputs from seniors or elders', 'interested in games', 'Salary Range Expected',
'In a Realtionship?', 'Gentle or Tuff behaviour?', 'Management or Technical',
'Salary/work', 'hard/smart worker', 'worked in teams ever?', 'Introvert']

categorical_features = ['certifications', 'workshops', 'reading and writing skills',
'memory capability score', 'Interested subjects',
'interested career area ', 'Type of company want to settle in?',
'Interested Type of Books']

numeric_features = ['Acedamic percentage in Operating Systems', 'percentage in Algorithms',
'Percentage in Programming Concepts', 'Percentage in Software Engineering',
'Percentage in Computer Networks', 'Percentage in Electronics Subjects',
'Percentage in Computer Architecture', 'Percentage in Mathematics',
'Percentage in Communication skills', 'Logical quotient rating',
'hackathons', 'coding skills rating', 'public speaking points', 'Hours working per day']

# Preprocessing pipelines
two_category_transformer = Pipeline(steps=[
('ordinal', OrdinalEncoder())
])
categorical_transformer = Pipeline(steps=[
('onehot', OneHotEncoder(handle_unknown='ignore'))
])
numeric_transformer = Pipeline(steps=[
('minmax', MinMaxScaler())
])

# Combine transformations
preprocessor = ColumnTransformer(transformers=[
('two_cat', two_category_transformer, two_category_features),
('cat', categorical_transformer, categorical_features),
('minmax', numeric_transformer, numeric_features)
])

transformed_X = preprocessor.fit_transform(X)
return transformed_X, y
Опробованные модели:
  • Случайный лес: Использование параметры по умолчанию.
  • SVM: Пробовано с ядром RBF, гиперпараметры по умолчанию.
  • XGBoost: > Параметры по умолчанию.
Несмотря на попытку моделей точность составляет около 3 %.

Вопросы:
  • Почему модели могут работать неэффективно в этом наборе данных?
  • Есть ли конкретные методы или подходы, которые мне следует попробовать (например, настройка гиперпараметров, функция отбор, передискретизация)?
  • Как мне лучше справиться с высокая кардинальность целевой переменной (33 уникальные должности)?


Подробнее здесь: https://stackoverflow.com/questions/793 ... ss-dataset
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»