使用sklearn创建多层感知机代码
时间: 2024-10-11 10:12:00 浏览: 40
多层感知机python代码
在Python中,你可以使用scikit-learn库(sklearn)来创建一个多层感知机(Multilayer Perceptron,MLP)。以下是使用sklearn库中`MLPClassifier`(对于分类任务)或`MLPRegressor`(对于回归任务)的一个简单示例:
### 分类任务(假设数据集已经预处理并分为X和y)
```python
from sklearn.neural_network import MLPClassifier
from sklearn.model_selection import train_test_split
# 将数据分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
# 定义MLP模型
mlp = MLPClassifier(hidden_layer_sizes=(100, 50), # 隐藏层大小
activation='relu', # 激活函数,默认为ReLU
solver='adam', # 解决器,如SGD、Adam等
max_iter=1000) # 迭代次数
# 训练模型
mlp.fit(X_train, y_train)
# 预测
predictions = mlp.predict(X_test)
# 评估模型
print("Accuracy:", mlp.score(X_test, y_test))
```
### 回归任务(同样假设数据集已预处理)
```python
from sklearn.neural_network import MLPRegressor
# 同样的数据分割
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
# 创建MLPRegressor
mlpr = MLPRegressor(hidden_layer_sizes=(100, 50),
activation='tanh', # 对于回归,常用tanh或linear激活
max_iter=1000)
# 训练
mlpr.fit(X_train, y_train)
# 预测
y_pred = mlpr.predict(X_test)
# 评估
print("Mean Squared Error:", mean_squared_error(y_test, y_pred))
```
阅读全文