title: RF初阶—随机森林预测泰坦尼克号乘客存活情况
categories: ML
date: 2019-12-21 10:56:11
数据集来源于kaggle(著名的机器学习数据下载中心),Titanic数据集包括三个csv文件,分别是训练数据集,测试数据集和测试结果集。
#coding=utf-8
#20191220
#Author:wuqifan
#随机森林
from sklearn import preprocessing
from sklearn.preprocessing import Imputer
from sklearn.metrics import accuracy_score
import numpy as np
import matplotlib.pyplot as plt
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
import seaborn as sns
from sklearn import model_selection #sklearn在新版本已经抛弃cross_validation,改成model_selection
import pandas as pd
# 加载数据
##### 加载训练和测试数据
#####--------------------------------------------------------------------------------------------------
#这里读入数据的时候我们没有做任何的处理(像去除空值这些)
train = pd.read_csv("./Titanic_Dataset/train.csv",dtype={
"Age":np.float64},)
test = pd.read_csv("./Titanic_Dataset/test.csv",dtype={
"Age":np.float64},)
#查看样本数和特征数
# train_num,train_var_num=np.shape(train)
# test_num,test_var_num=np.shape(test)
# print("训练集:有",train_num,"个样本","每个样本有",train_var_num,"个变量.")
# print("测试集:有",test_num,"个样本","每个样本有",test_var_num,"个变量.")
# print(train.info()) #查看数据的缺失情况
# print(test.info())
# print(train.describe()) #查看数据的描述性信息(总数,均值,方差,最大最小值等)
# ------------------------------------------------绘图------------------------------------------------------
#------------我们要通过绘图来观察训练数集的基本情况哦,我们先从登舱口Embarked开始,来绘制二维柱状图,不同性别在不同登舱口的生存情况
# sns.barplot(x='Embarked',y='Survived',hue='Sex',data=train) #可见,无论哪个港口上岸,星星获救的概率高出男性。至于哪个港口上船的生存率