Я не буду много писать здесь, потому что содержание почти такое же, как и в посте о задаче регрессии. Нам нужно только добавить новый шаг, который кодирует категориальную переменную в числовую, если она не является числовой.
В этом посте я буду использовать набор данных гендерной классификации. Он содержит восемь столбцов с полом в качестве цели. Вы можете получить доступ к набору данных здесь. Это шаг за шагом.
1. Импортируйте необходимые библиотеки
# Data processing import pandas as pd from sklearn.model_selection import train_test_split # Model from sklearn.linear_model import LogisticRegression # Evaluation from sklearn.metrics import confusion_matrix from sklearn.metrics import classification_report
2. Подготовьте набор данных
- Чтение данных
data = pd.read_csv("/kaggle/input/gender-classification-dataset/gender_classification_v7.csv") data.head()
- Кодировать целевую переменную
gender_map = { 'Male': 1, 'Female': 0 } data['gender'] = data['gender'].map(gender_map)
3. Разделение набора данных на обучение и проверку
features = [col for col in data.columns if col != 'gender'] target = ['gender'] X_train, X_val, y_train, y_val = train_test_split(data[features], data[target], test_size=0.2)
4. Подготовьте модели. Теперь я буду использовать модель LogisticRegression. В sklearn есть много других моделей классификаторов, вы можете прочитать документацию на веб-сайте sklearn.
# Initialize Model logreg = LogisticRegression() # Train Model logreg.fit(X_train, y_train)
5. Оценка
- Создать прогноз
y_pred = logreg.predict(X_val)
- Оценка эффективности
print('confusion matrix') print(confusion_matrix(y_val, y_pred)) print() print('classification report') print(classification_report(y_val, y_pred))
Полный код вы можете найти здесь.
Так просто, да? На этом пока все, в следующий раз напишу интересное, следите за новостями. Спасибо за чтение :)