导入excel数据用模糊神经网络预测数据代码python
时间: 2023-10-08 17:12:28 浏览: 96
以下是一个使用模糊神经网络预测Excel数据的Python代码示例:
首先,我们需要导入所需的包和库:
```python
import numpy as np
import pandas as pd
import skfuzzy as fuzz
from skfuzzy import control as ctrl
```
接下来,我们需要读取Excel数据并将其转换为NumPy数组:
```python
df = pd.read_excel('data.xlsx')
data = df.to_numpy()
```
然后,我们需要将数据集分成训练集和测试集:
```python
train_data = data[:80, :]
test_data = data[80:, :]
```
接下来,我们需要定义输入和输出变量及其范围:
```python
# 输入变量
input1 = ctrl.Antecedent(np.arange(0, 11, 1), 'input1')
input2 = ctrl.Antecedent(np.arange(0, 11, 1), 'input2')
# 输出变量
output = ctrl.Consequent(np.arange(0, 101, 1), 'output')
# 定义变量的模糊集
input1.automf(3)
input2.automf(3)
output.automf(3)
```
接下来,我们需要定义规则:
```python
# 定义规则
rule1 = ctrl.Rule(input1['poor'] | input2['poor'], output['poor'])
rule2 = ctrl.Rule(input2['average'], output['average'])
rule3 = ctrl.Rule(input1['good'] | input2['good'], output['good'])
# 定义控制系统
system = ctrl.ControlSystem([rule1, rule2, rule3])
```
然后,我们需要创建模糊控制器:
```python
controller = ctrl.ControlSystemSimulation(system)
```
接下来,我们需要使用训练数据来训练模糊神经网络:
```python
for i in range(len(train_data)):
controller.input['input1'] = train_data[i, 0]
controller.input['input2'] = train_data[i, 1]
controller.output['output'] = train_data[i, 2]
controller.compute()
rule1.view(sim=controller)
rule2.view(sim=controller)
rule3.view(sim=controller)
controller.control_system
```
最后,我们可以使用测试数据来测试我们的模型:
```python
# 使用测试数据测试模型
for i in range(len(test_data)):
controller.input['input1'] = test_data[i, 0]
controller.input['input2'] = test_data[i, 1]
controller.compute()
print("Predicted output: ", controller.output['output'], " Actual output: ", test_data[i, 2])
```
以上就是一个使用模糊神经网络预测Excel数据的Python代码示例。
阅读全文