Я новичок в машинном обучении и пытаюсь практиковаться с scikit-learn в простом случае использования задачи классификации, т.е. на основе имени и национальности, система должна предложить, должен ли пол быть 1 или 2. у меня есть данные:
<br>
Name Nationality Gender<br>
John 201 1<br>
Sue 401 2<br>
Smith 401 1<br>
.... Millions of rows (but to start I'm just picking 5000 records)
<br>
Я получаю ошибку 'ValueError: не удалось преобразовать строку в число с плавающей точкой:' John '' при выполнении 'X_train = scaler.fit_transform (X_train)'
Я знаю, что это очень распространенная проблема, и алгоритмы работают с числами, а не с текстом. Я попытался просмотреть несколько постов и нашел людей, которые рекомендуют LabelEncoder или One Hot Encoder, но не в состоянии понять, как они здесь подходят, и получить простые строки кода, которые бы помогли решить эту проблему. Помощь оценена.
import sklearn
import pandas as pd
from sklearn.model_selection import train_test_split
data=pd.read_csv("D:\profile_gender_data.csv")
feature_names = ['FIRST_NAME_EN', 'PRS_NATIONALITY_ID']
X = data[feature_names]
y = data['GENDER_ID']
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
Ошибка: ValueError: не удалось преобразовать строку в число с плавающей точкой: 'John'