我正在尝试根据预先指定的标签对数据进行分类。
以下是两个列的展示:
room_class room_clusterStandard single sea view StandardDeluxe twin Single DeluxeSuite Superior room ocean view SuiteSuperior Double twin SuperiorDeluxe Double room Deluxe
如上所示,room_cluster 是标签集的一部分。
代码片段如下:
le = preprocessing.LabelEncoder()datar = df#### 将数据分成特征和标签x = datar.room_classy = datar.room_cluster#### 使用标签编码器将字符串转换为'整数'le.fit(x)addv = le.transform(x)asb = addv.reshape(-1,1)#### 将数据分成训练集和测试集,然后使用KNNx_train,x_test,y_train,y_test=train_test_split(asb,y,test_size=0.40)classifier=neighbors.KNeighborsClassifier(n_neighbors=3)classifier.fit(x_train,y_train)predictions = classifier.predict(x_test)#### 检查准确率print(accuracy_score(y_test,predictions))
我在测试数据上得到的准确率只有78%,代码中是否有影响准确率的问题。
如何使用这个模型对自定义特征进行预测,例如:
输入 : ‘Suite Single sea view’
输出 : ‘Suite’
输入 : ‘Superior Suite twin’
输出 : ‘Superior’
回答:
我的代码编写得比较粗糙,请见谅。
参考文献: