Pima Indians Diabetes
1. Number of times pregnant
2. Plasma glucose concentration a 2 hours in an oral glucose tolerance test
3. Diastolic blood pressure (mm Hg)
4. Triceps skin fold thickness (mm)
5. 2-Hour serum insulin (mu U/ml)
6. Body mass index (weight in kg/(height in m)^2)
7. Diabetes pedigree function
8. Age (years)
9. Class variable (0 or 1)
MLP多层感知机模型结构
代码实现
from keras.models import Sequential
from keras.layers import Dense
from sklearn.model_selection import train_test_split
from sklearn import metrics
import numpy as np
#设置随机数种子
np.random.seed(7)
dataset = np.loadtxt("pima-indians-diabetes.csv",delimiter=",")
x = dataset[:, 0 : 8]
y = dataset[:, 8 ]
#数据集划分
x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.3,random_state=10)
#构造模型
model = Sequential()
model.add(Dense(12, input_dim = 8, activation = "relu" ))
model.add(Dense(8,activation = "relu"))
model.add(Dense(1,activation="sigmoid"))
#编译模型
model.compile(loss="binary_crossentropy",optimizer="adam",metrics=["accuracy"])
#训练模型
model.fit(x=x_train,y=y_train,epochs=150,batch_size=10)
#模型评估
scores=model.evaluate(x=x_test,y=y_test)
print(model.metrics_names,scores)
#计算AUC
y_pred=model.predict(x_test)
print("auc :",metrics.roc_auc_score(y_test,y_pred))