import numpy as np import tflearn # Download the Titanic dataset from tflearn.datasets import titanic import numpy as np titanic.download_dataset('titanic_dataset.csv') # Load CSV file, indicate that the first column represents labels from tflearn.data_utils import load_csv data, labels = load_csv('titanic_dataset.csv', target_column=0, categorical_labels=True, n_classes=2) for i in range(len(labels)): print(labels[i]) print(data[i]) def preprocess(data,columns_to_ignore): #将要删除的列逆序排列 for id in sorted(columns_to_ignore, reverse=True): [r.pop(id) for r in data] #将female转为1 ,male转为0 for i in range(len(data)): data[i][1]=1 if data[i][1]=='female' else 0 return np.array(data,dtype=np.float32) to_ignore=[1,6] data=preprocess(data,to_ignore) #构建神经网络 net=tflearn.input_data(shape=[None,6]) net=tflearn.fully_connected(net,32) net=tflearn.fully_connected(net,32) net=tflearn.fully_connected(net,2,activation='softmax') net=tflearn.regression(net) """ 其中tflearn.DNN是TFLearn中提供的一个模型wrapper, 相当于我们将很多功能包装起来,我们给它一个net结构,生成一个model对象, 然后调用model对象的训练、预测、存储等功能,DNN类有三个属性(成员变量): trainer,predictor,session。在fit()函数中n_epoch=10表示整个训练数据集将会用10遍, batch_size=16表示一次用16个数据计算参数的更新。""" model=tflearn.DNN(net) model.fit(data,labels,n_epoch=10,batch_size=16,show_metric=True) # 最后利用训练得到的模型进行预测 dicaprio = [3, 'Jack Dawson', 'male', 19, 0, 0, 'N/A', 5.0000] winslet = [1, 'Rose DeWitt Bukater', 'female', 17, 1, 2, 'N/A', 100.0000] # Preprocess data dicaprio, winslet = preprocess([dicaprio, winslet], to_ignore) # Predict surviving chances (class 1 results) pred = model.predict([dicaprio, winslet]) #进行预测的结果为[死亡概率,存活概率] print("DiCaprio Surviving Rate:", pred[0][1]) print("Winslet Surviving Rate:", pred[1][1])
【tf系列3】tfLearn案例
最新推荐文章于 2019-09-27 16:37:55 发布