【tf系列3】tfLearn案例

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.DNNTFLearn中提供的一个模型wrapper相当于我们将很多功能包装起来,我们给它一个net结构,生成一个model对象,
然后调用model对象的训练、预测、存储等功能,DNN类有三个属性(成员变量):
trainerpredictorsession。在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])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值