sklearn train_test_split 困惑
sklearn train_test_split confusion
我收到一个错误 运行 代码。可能的错误是什么?
X = [['Item_Identifier', 'Item_Weight', 'Item_Fat_Content', 'Item_Visibility',
'Item_Type', 'Item_MRP', 'Outlet_Identifier',
'Outlet_Establishment_Year', 'Outlet_Size', 'Outlet_Location_Type',
'Outlet_Type']]
y = ['Item_Outlet_Sales']
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, train_size=0.80,test_size=0.20)
我遇到的错误:
ValueError: With n_samples=1, test_size=0.2 and train_size=0.8, the resulting train set will be empty. Adjust any of the aforementioned parameters.
您的 X 和 y 数据实际上是什么?他们真的是那些字符串吗?还是您将文本用作占位符?
您有一个列表列表作为 X 数据。这就是为什么代码将其解释为好像只有一个样本。这就是为什么它告诉你 n_sample = 1 并且当你拆分时训练数据将为空。删除 X 中的内部括号,并为 X 设置一个类似于 array/list 的数据结构。然后它应该可以工作。
我相信您正在处理 pandas data frame
,并且您的 X
、y
如行所示:
X = [['Item_Identifier', 'Item_Weight', 'Item_Fat_Content', 'Item_Visibility', 'Item_Type', 'Item_MRP', 'Outlet_Identifier', 'Outlet_Establishment_Year', 'Outlet_Size', 'Outlet_Location_Type', 'Outlet_Type']]
y = ['Item_Outlet_Sales']
只是列表,它们是真实列名的索引,不包含有效的训练数据。如果您的数据框名称是 df
,由行创建,df = Dataframe(your_data)
,您应该尝试:
X = df[['Item_Identifier', 'Item_Weight', 'Item_Fat_Content', 'Item_Visibility', 'Item_Type', 'Item_MRP', 'Outlet_Identifier', 'Outlet_Establishment_Year', 'Outlet_Size', 'Outlet_Location_Type', 'Outlet_Type']]
y = df[['Item_Outlet_Sales']]
用于提取 X
、y
数据。
我收到一个错误 运行 代码。可能的错误是什么?
X = [['Item_Identifier', 'Item_Weight', 'Item_Fat_Content', 'Item_Visibility',
'Item_Type', 'Item_MRP', 'Outlet_Identifier',
'Outlet_Establishment_Year', 'Outlet_Size', 'Outlet_Location_Type',
'Outlet_Type']]
y = ['Item_Outlet_Sales']
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, train_size=0.80,test_size=0.20)
我遇到的错误:
ValueError: With n_samples=1, test_size=0.2 and train_size=0.8, the resulting train set will be empty. Adjust any of the aforementioned parameters.
您的 X 和 y 数据实际上是什么?他们真的是那些字符串吗?还是您将文本用作占位符?
您有一个列表列表作为 X 数据。这就是为什么代码将其解释为好像只有一个样本。这就是为什么它告诉你 n_sample = 1 并且当你拆分时训练数据将为空。删除 X 中的内部括号,并为 X 设置一个类似于 array/list 的数据结构。然后它应该可以工作。
我相信您正在处理 pandas data frame
,并且您的 X
、y
如行所示:
X = [['Item_Identifier', 'Item_Weight', 'Item_Fat_Content', 'Item_Visibility', 'Item_Type', 'Item_MRP', 'Outlet_Identifier', 'Outlet_Establishment_Year', 'Outlet_Size', 'Outlet_Location_Type', 'Outlet_Type']]
y = ['Item_Outlet_Sales']
只是列表,它们是真实列名的索引,不包含有效的训练数据。如果您的数据框名称是 df
,由行创建,df = Dataframe(your_data)
,您应该尝试:
X = df[['Item_Identifier', 'Item_Weight', 'Item_Fat_Content', 'Item_Visibility', 'Item_Type', 'Item_MRP', 'Outlet_Identifier', 'Outlet_Establishment_Year', 'Outlet_Size', 'Outlet_Location_Type', 'Outlet_Type']]
y = df[['Item_Outlet_Sales']]
用于提取 X
、y
数据。