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案例
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.