首页 > 解决方案 > 使用 RFC 解决泰坦尼克号(Kaggle)数据集,未知标签类型:“未知”

问题描述

我正在使用 RFC 解决 Titanic Kaggle 数据集,在将数据拟合到模型时出现错误消息“未知标签类型:'未知'”。我觉得错误在 y 中,但我找不到任何东西。

data = pd.read_csv('train.csv')
data = data.fillna(data.mean())
data = data.replace('male',1)
data = data.replace('female',0)
data = data.replace('S',0)
data = data.replace('C',1)
data = data.replace('Q',2)
data['Embarked'] = data['Embarked'].fillna('S')
data = data[data.Embarked != 'S']
y = data.Survived
np.unique(y)
features = ['Pclass','Sex','Age','Fare','SibSp','Parch','Embarked']
X = data[features]
trainX,trainY,valX,valY = train_test_split(X,y,random_state = 1)  
titanmodel = RandomForestClassifier(random_state = 1)
titanmodel.fit(trainX,trainY)  


带有错误ValueError: Unknown label type: 'unknown'的模型拟合部分
另外,如果您有任何更好的解决方法,请告诉。提前致谢

标签: pythonpandaskaggle

解决方案


train_test_split()的结果是 X_train, X_test, y_train, y_test 并且您在代码中以不同的顺序分配值。

换行:

trainX,trainY,valX,valY = train_test_split(X,y,random_state = 1)  

通过这个:

trainX,valX,trainY,valY = train_test_split(X,y,random_state = 1)  

您将能够使用正确的参数拟合模型。


推荐阅读