LSTM训练集和测试集不在一个csv文件中
时间: 2024-04-17 16:28:08 浏览: 110
RNN LSTM实战-人名分类器所用的data.zip
如果训练集和测试集不在同一个CSV文件中,你可以按照以下方式修改代码来加载不同的数据文件:
1. 导入所需的库:
```python
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from keras.models import Sequential
from keras.layers import LSTM, Dense
```
2. 加载训练集和测试集数据文件:
```python
train_data = pd.read_csv('train_dataset.csv') # 读取训练集数据文件
test_data = pd.read_csv('test_dataset.csv') # 读取测试集数据文件
X_train = train_data.iloc[:, :-1].values # 提取训练集特征列
y_train = train_data.iloc[:, -1].values # 提取训练集标签列
X_test = test_data.iloc[:, :-1].values # 提取测试集特征列
y_test = test_data.iloc[:, -1].values # 提取测试集标签列
scaler = StandardScaler() # 标准化特征数据
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
```
3. 构建LSTM模型:
```python
model = Sequential()
model.add(LSTM(units=50, return_sequences=True, input_shape=(X_train.shape[1], 1)))
model.add(LSTM(units=50))
model.add(Dense(units=1, activation='sigmoid'))
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
```
4. 训练模型:
```python
model.fit(X_train.reshape((X_train.shape[0], X_train.shape[1], 1)), y_train, epochs=10, batch_size=32)
```
5. 在测试集上进行预测:
```python
y_pred = model.predict(X_test.reshape((X_test.shape[0], X_test.shape[1], 1)))
```
以上代码示例演示了如何加载不同的训练集和测试集数据文件进行LSTM模型的训练和预测。请确保训练集和测试集的特征列和标签列在相应的数据文件中,并调整代码中的文件路径和数据处理部分以适应你的数据。
阅读全文