对于以上数据,下一步我应该如何将数据集分成训练集和测试集
时间: 2023-07-09 11:45:38 浏览: 86
python中如何实现将数据分成训练集与测试集的方法
对于这个数据集,可以使用 `train_test_split()` 函数将数据集分成训练集和测试集。示例代码如下:
```python
from sklearn.model_selection import train_test_split
# 读取数据集
df = pd.read_csv("C:\\Users\\flx12\\Desktop\\大三下\\数据挖掘\\第二次上机作业\\Train.csv")
# 对分类变量进行 LabelEncoder 编码
le = LabelEncoder()
df['Gender'] = le.fit_transform(df['Gender'].astype(str))
df['Ever_Married'] = le.fit_transform(df['Ever_Married'].astype(str))
df['Graduated'] = le.fit_transform(df['Graduated'].astype(str))
df['Profession'] = le.fit_transform(df['Profession'].astype(str))
df['Spending_Score'] = le.fit_transform(df['Spending_Score'].astype(str))
df['Var_1'] = le.fit_transform(df['Var_1'].astype(str))
df['Segmentation'] = le.fit_transform(df['Segmentation'].astype(str))
# 分离特征矩阵 X 和目标向量 y
X = df.drop('Segmentation', axis=1)
y = df['Segmentation']
# 将数据集分成训练集和测试集,比例为 8:2
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
```
在这个示例代码中,首先使用 `LabelEncoder()` 函数将分类变量转换为数值变量。然后,使用 `drop()` 函数将目标向量分离出来,并将剩余的特征矩阵作为 `X`。接着,使用 `train_test_split()` 函数将数据集分成训练集和测试集,比例为 8:2,即测试集占总数据集的 20%。最后,将分离出来的训练集和测试集存储在 `X_train`、`X_test`、`y_train` 和 `y_test` 变量中。
阅读全文