官方API文档
模型参数:
hidden_layer_sizes=100, ), #隐藏层数
activation='relu', #激活函数
learning_rate_init=0.001, #学习率
max_iter=200, #最大迭代次数
random_state=None, #随机状态(如果有,可以保证结果一样)
fit
fit(参数,目标值)#目标值即为结果
predict(参数)#模型预测 参数即为根据什么来推测结果
实例1:
from sklearn.neural_network import MLPClassifier
import pandas as pd
import numpy as np
from sklearn.neural_network import MLPRegressor
data_tr=pd.read_csv("BPdata_tr.txt")
data_te=pd.read_csv("BPdata_te.txt")
model =MLPRegressor(hidden_layer_sizes=(4,),random_state=10)#构建模型
model.fit(data_tr.iloc[:,:2],data_tr.iloc[:,2])#模型训练
pre=model.predict(data_te.iloc[:,:2])#模型预测
err=np.abs(pre*data_te.iloc[:,2]).mean()#模型评估
实例2(基于sklearn的神经网络分类鸢尾花数据)
from sklearn.neural_network import MLPClassifier
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split#用于划分测试集与训练集
data=pd.read_csv("data/datasets-uci-iris.csv",header=None)#读取数据
print(data.head())
class_mapping = {label:idx for idx,label in enumerate(set(data[4]))}
data[4] = data[4].map(class_mapping)#将类别属性转换为数值属性,方便用于模型评估
print(data.head())
model=MLPClassifier(hidden_layer_sizes=(10,10,4,),random_state=10,learning_rate_init = 0.01)#模型初始化
X_train, X_test, y_train, y_test=train_test_split(data.iloc[:,:4],data.iloc[:,4],test_size = 0.6)#随机划分测试集与训练集
model.fit(X_train,y_train)#模型训练
pre=model.predict(X_test)#模型预测
print(pre)