Tensorflow案例分析(1)—— 使用逻辑回归进行泰坦尼克号预测

本案例提供的数据集可以在Kaggle官网进行下载:https://www.kaggle.com/c/titanic

基本思路:挑选数据集中有关联的属性作为特征,并对特征进行数据清洗、残缺值填充等操作,使用经过特征工程处理过的训练集训练好一个逻辑回归模型,并使用这个逻辑模型对测试集进行预测,预测结果保存到一个csv文件,并将csv文件提交到官网。

一.引入包

from __future__ import print_function, division
import tensorflow as tf
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn  #这是一个可视化的展示库
import random
from sklearn.ensemble import RandomForestRegressor
import sklearn.preprocessing as preprocessing
from numpy import array
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import Imputer

可以观察训练集的数据字段

data=pd.read_csv('G:\Machine-learning\\tensorflow-train-project(jupyter)\kaggele-project6-tairanprediction\dataset\\train.csv')
print(data.columns)

二.预处理函数

创建准备进行数据预处理的函数:年龄信息补全函数、属性转换为数值的函数、属性值归一化函数。

1.缺失值补全函数

def set_missing_ages(data):
    age_df=data[['Age','Fare','Parch','SibSp','Pclass']]  #抽取一部分特征作为年龄相关特征时使用
    known_age=age_df[age_df.Age.notnull()].as_matrix()#   这是一种抽离,把知道年龄的数据抽取出来作为一个矩阵
    #print('known_age:',known_age)
    unknown_age=age_df[age_df.Age.isnull()].as_matrix()  
    #接下来使用的是RandomForestClassifier算法来补全年龄特征
    y=known_age[:,0]
    x=known_age[:,1:]
    #创建补全算法,并进行数据喂养  随机森林中参数意义为:n_estimators 子模型个数 
    rfr=RandomForestRegressor(random_state=0,n_estimators=2000,n_jobs=-1)
    rfr.fit(x,y)
    predictedAges=rfr.predict(unknown_age[:,1::])#对不知道年龄的矩阵,使用其特征进行年龄的预测
    data.loc[(data.Age.isnull()),'Age']=predictedAges#这是针对DateFrame的定位并填充残缺值的方式
    return data

2.属性转换为数值的函数

def attribute_to_number(data):
    #前三行会对属性进行独热编码
    dummies_Pclass=pd.get_dummies(data['Pclass'],prefix='Pclass')#get
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值