python - sklearn 库的 train_test_split 函数存在问题
问题描述
from sklearn.utils import shuffle
dataset,labels = shuffle(dataset,labels)
print("Shuffling of dataset is completed")
print(" ")
from sklearn.feature_extraction.text import TfidfVectorizer
vectorizer = TfidfVectorizer(tokenizer=lambda doc: doc, lowercase=False)
X = vectorizer.fit_transform([dataset])
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X,labels,test_size=0.1,stratify=labels)
print("Completing the splitting of data.")
print(" ")
这是我正在使用 sklearn 库构建的分类模型。
我收到函数train_test_split()的错误,其中错误状态:
ValueError:发现样本数量不一致的输入变量:[1, 88702]
我试图通过不同的方法来解决这个错误,比如改变 X 和 Y 的形状,但我仍然无法得到想要的结果。
解决方案
此错误意味着 X 向量的长度不等于标签向量的长度。如果您打印 X 向量的形状,我希望它的长度为 1。
好像是线
X = vectorizer.fit_transform([dataset])
应该改为
X = vectorizer.fit_transform(dataset)
推荐阅读
- python - Python 反编译 PYC 文件并引用其他文件
- vhdl - 在 VHDL 中如何检查 UNSIGNED(8 downto 0) 是未初始化还是未定义?
- java - 如何使用 char 和 integer 的嵌套 for 循环?
- laravel - 如何在多对多关系中显示查找表的值
- node.js - 使用 puppeteer.js 抓取 Twitter 帖子
- java - Android studio 设置视图的背景颜色
- unity3d - Unity如何创建自定义控制台
- python - Python - Visual Studio -> 跨文件编码问题 VS 项目
- node.js - 如果一个路径是另一个路径的子字符串,则快速使用失败
- api - EdX API:如何获取课程的线程和通讯?