调用sklearn模型遇到Unknown label type: continuous 的解决办法

调用sklearn模型的时候 报错“Unknown label type: ‘continuous’ “的解决办法

刚刚掌柜在进行模型预测的时候遇到这样的报错:
在这里插入图片描述
为什么会这样呢?掌柜搜过类似问题的解法,发现在StackOverflow上面有个解释的很清楚:
在这里插入图片描述

原来是因为目标列是真实地数字,不能作为分类问题的标签进行运算。那么问题又来了:为什么不能作为分类标签呢? 再看下面那句话,其实也是sklearn官方文档中地原话:
在这里插入图片描述哦,原来在用sklearn做分类任务的时候,y 应该是整数或者字符串型的向量。至此,这个问题终于得到解答😀,下面

import pandas as pd from sklearn.preprocessing import LabelEncoder,StandardScaler from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsClassifier data = pd.read_excel('valid.xlsx') def deleta(data): data = str(data) for i in data: if '%' in i: data = data.strip('%') else: data = data return data del data['电影id'] data['2星占比'] = data['2星占比'].apply(deleta) data['1星占比'] = data['1星占比'].apply(deleta) data['主演'] = data['主演'].str.split(',').apply(lambda x: x[0]) data['类型'] = data['类型'].str.split('/').apply(lambda x: x[0]) data['地区'] = data['地区'].str.split('/').apply(lambda x: x[0]) data['语言'] = data['语言'].str.split('/').apply(lambda x: x[0]) data['上映时间'] = data['上映时间'].astype(str).apply(lambda x: x[:4]) for i in data.columns: if data[i].dtype == 'object': enconder = LabelEncoder() data[i] = enconder.fit_transform(data[i]) else: data[i] = pd.to_numeric(data[i]) datas = pd.read_excel('pre.xlsx') datass = datas[datas.columns[:-1]] score = datas['评分'] x_train, x_test, y_train, y_test = train_test_split(datass, score, test_size=0.2, random_state=50) transform = StandardScaler() x_train = transform.fit_transform(x_train) x_test = transform.transform(x_test) es = KNeighborsClassifier(n_neighbors=32) es.fit(x_train, y_train) predict = es.predict(y_test) print(predict)报错ValueError: Unknown label type: continuous. Maybe you are trying to fit a classifier, which expects discrete classes on a regression target with continuous values.
最新发布
03-09
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值