用python ml 将训练集分类,一部分训练一部分测试 不重新排序
时间: 2024-10-14 09:03:44 浏览: 14
在Python机器学习中,通常我们会将数据划分为训练集和测试集,这是评估模型性能的重要步骤之一。当你想保持原始数据的顺序,不重新打乱,可以按照以下步骤操作:
1. **导入所需的库**:
```python
import pandas as pd
from sklearn.model_selection import train_test_split
```
2. **加载数据**:
假设你有一个Pandas DataFrame `df` 包含你的数据。
```python
df = pd.read_csv('your_data.csv') # 替换为你的数据文件路径
```
3. **划分数据**:
使用`train_test_split`函数,并指定`test_size`(测试集比例)、`random_state`(为了保证结果可复现,设置相同的随机种子),以及`stratify`(如果有的特征需要保持类别分布平衡)。记住,不传递`shuffle=True`会保留原有的行顺序。
```python
X = df.drop('target_column', axis=1) # 假设'target_column'是目标列
y = df['target_column']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42, stratify=y)
```
4. **开始训练**:
现在你可以选择一个模型(如`sklearn.linear_model.LogisticRegression`),并用训练集进行训练。
```python
model = LogisticRegression()
model.fit(X_train, y_train)
```
5. **评估模型**:
最后,用测试集评估模型性能。
```python
predictions = model.predict(X_test)
```
阅读全文