删除变量在前还是划分训练测试集在前呀
时间: 2023-12-29 14:05:42 浏览: 29
删除缺失值和筛选数据一般都是在读取数据集后的第一步处理,因此在处理数据集时应该先删除缺失值和筛选数据,再将数据集划分成训练集和测试集。
因此,在我之前提供的代码中,删除缺失值和筛选数据的代码应该放在读取数据集后,而将数据集划分成训练集和测试集的代码应该放在数据预处理后。以下是修改后的代码:
```python
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
# 读取数据集
data = pd.read_csv('pig_price.csv')
# 数据预处理
data = data.dropna() # 删除缺失值
data = data[data['date'] >= '2019'] # 只保留2019年以后的数据
# 将日期转换为时间戳
data['timestamp'] = pd.to_datetime(data['date']).astype(np.int64) // 10**9
# 划分特征和标签
X = data['timestamp'].values.reshape(-1, 1)
y = data['price'].values.reshape(-1, 1)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
# 训练模型
lr = LinearRegression()
lr.fit(X_train, y_train)
# 预测测试集
y_pred = lr.predict(X_test)
# 可视化结果
plt.scatter(X_test, y_test, color='black')
plt.plot(X_test, y_pred, color='blue', linewidth=3)
plt.show()
# 预测未来30天的生猪价格
future_dates = pd.date_range(start='2022-01-01', end='2022-01-30')
future_timestamps = future_dates.astype(np.int64) // 10**9
future_prices = lr.predict(future_timestamps.reshape(-1, 1))
# 可视化预测结果
plt.plot(future_dates, future_prices, color='blue', linewidth=3)
plt.show()
```
希望解答清楚了您的疑问,如有其他问题请继续提问。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)