enter image description hereIt all seems right to me but it doesn't work. The label has been converted to numbers but he sees it as not converted giving me this error message: ValueError: could not convert string to float: 'veryhigh' Some idea? I don't see where I'm wrong. Thank you!
import pandas as pd
import numpy as np
data = pd.read_csv('ohe_label_encoder.csv')
data.head(3)
X = data.drop('Class', axis = 1)
y = data['Class']
# I convert the Class label into numbers
from sklearn.preprocessing import LabelEncoder
label = LabelEncoder()
data['Class'] = label.fit_transform(data['Class'])
data[:1]
# I convert the Color and Material features into numbers
from sklearn.preprocessing import OneHotEncoder
from sklearn.compose import ColumnTransformer
categorical_features = ['Colour','Material']
one_hot = OneHotEncoder()
transformer = ColumnTransformer([('one_hot',
one_hot,
categorical_features)],
remainder = 'passthrough')
transformed_X = transformer.fit_transform(X)
transformed_X.toarray()[:1]
pd.DataFrame(transformed_X.toarray())[:1]
# I train the net
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
model = RandomForestRegressor()
X_train, X_test, y_train, y_test = train_test_split(transformed_X, y, test_size = 0.2)
model.fit(X_train, y_train)[enter image description here][1]