泰坦尼克之灾数据分析

Machine learning:Titanic数据分析(一)导

2020-02-28  本文已影响0人  zhk779

下一节:特征关系分析

一、导览

泰坦尼克之灾数据集
本文译自kaggle上的处理泰坦尼克号数据集的这篇Notebook,适合机器学习的初学者了解特征提取到模型训练的整个过程,主要侧重于基础的特征选择,提供了一些常见的特征提取思路。

1、通常的数据分析步骤

(1)问题的提出和定义
(2)获得训练和测试数据
(3)数据预处理(校正、清洗)
(4)分析、模式定义、探索数据
(5)建模、预测、解决问题
(5)可视化、报告并展示问题解决步骤和最终解决方案
(6)应用、提交预测结果

2、目标

(1)分类: 对样本进行分类并尝试理解不同类样本之间的隐藏关系
(2)关联性分析:了解数据集中的数据和结果有何关系
(3)转化:有些模型可能需要我们将非数值型分类数据转化为数值型数据
(4)完整数据:填充缺失或错误的数据,在无法完善的情况下可能会把数据删除。
(5)创造数据:根据已有数据创造新特征
(6)绘制图表:数据可视化

二、正式开始数据分析

1、import (没啥可说的)

# data analysis and wrangling
import pandas as pd
import numpy as np
import random as rnd

# visualization
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline

# machine learning
from sklearn.linear_model import LogisticRegression
from sklearn.svm import SVC, LinearSVC
from sklearn.ensemble import RandomForestClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.naive_bayes import GaussianNB
from sklearn.linear_model import Perceptron
from sklearn.linear_model import SGDClassifier
from sklearn.tree import DecisionTreeClassifier

2、读取数据

train_df = pd.read_csv('../input/train.csv')
test_df = pd.read_csv('../input/test.csv')
combine = [train_df, test_df]

看看有哪些字段:

print(train_df.columns.values)
所有特征
train_df.head()
head
train_df.tail()
tail

接下来对各个特征的数值类型进行分类,以备后续进行数据处理:

(1)哪些数据是类别型数据呢?
类别型特征(无先后顺序):Survived, Sex, Embarked
类别型特征(有先后顺序):Pclass

(2)哪些数据是数值类型呢?
数值型数据(连续型):Age, Fare
数值型数据(离散型):SibSp, Parch

(3)哪些数据是混合型数据呢?
Ticket 、Cabin

(4)哪些数据可能包含错误值或者书写错误?
name(由于书写格式不同,可能出现书写错误)

train_df.info()
print('_'*40)
test_df.info()
空值、类型分析

(5)哪些数据有空值?(需要填充数据)
训练数据中:Cabin > Age > Embarked
测试数据中:Cabin > Age > Fare

(6)数据的类型分别是什么?
7个是整型或浮点型(测试集中为6个,缺少了目标值Survived)
5个是字符型

下一节:特征关系分析

上一篇 下一篇

猜你喜欢

热点阅读