机器学习入门实战——决策树算法实战Titanic数据集
生活随笔
收集整理的這篇文章主要介紹了
机器学习入门实战——决策树算法实战Titanic数据集
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
關(guān)于決策樹的理論知識可以查看:決策樹
Titanic數(shù)據(jù)集概述
??RMS泰坦尼克號的沉沒是歷史上最臭名昭著的沉船之一。 1912年4月15日,在首航期間,泰坦尼克號撞上一座冰山后沉沒,2224名乘客和機(jī)組人員中有1502人遇難。這一聳人聽聞的悲劇震撼了國際社會,導(dǎo)致了更好的船舶安全條例。預(yù)測是否有乘客幸存下來的泰坦尼克號。
代碼實(shí)戰(zhàn)
首先,一如既往導(dǎo)入數(shù)據(jù)集,并查看一下部分?jǐn)?shù)據(jù)
import pandas as pdtitanic = pd.read_csv('http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic.txt') titanic.head()
info可以查看一下數(shù)據(jù)集的基本信息,我們可以看到數(shù)據(jù)集中有部分缺失值
我們從中選取三個(gè)特征來對數(shù)據(jù)進(jìn)行預(yù)測
X = titanic[['pclass','age','sex']] y = titanic['survived']X.info() > <class 'pandas.core.frame.DataFrame'> > RangeIndex: 1313 entries, 0 to 1312 > Data columns (total 3 columns): > pclass 1313 non-null object > age 633 non-null float64 > sex 1313 non-null object > dtypes: float64(1), object(2) > memory usage: 30.9+ KBage具有缺失值,所以我們要對缺失值進(jìn)行處理
X['age'].fillna(X['age'].mean(),inplace=True) X.info() > <class 'pandas.core.frame.DataFrame'> > RangeIndex: 1313 entries, 0 to 1312 > Data columns (total 3 columns): > pclass 1313 non-null object > age 1313 non-null float64 > sex 1313 non-null object > dtypes: float64(1), object(2) > memory usage: 30.9+ KB之后就是將數(shù)據(jù)集劃分成訓(xùn)練集和測試集
from sklearn.cross_validation import train_test_split X_train,X_test,Y_train,Y_test = train_test_split(X,y,test_size=0.25,random_state=33)from sklearn.feature_extraction import DictVectorizer vec = DictVectorizer(sparse=False)X_train = vec.fit_transform(X_train.to_dict(orient='record')) print(vec.feature_names_) X_test = vec.fit_transform(X_test.to_dict(orient='record'))[‘a(chǎn)ge’, ‘pclass=1st’, ‘pclass=2nd’, ‘pclass=3rd’, ‘sex=female’, ‘sex=male’]
導(dǎo)入決策樹模型,并進(jìn)行預(yù)測
from sklearn.tree import DecisionTreeClassifierdtc = DecisionTreeClassifier() dtc.fit(X_train,Y_train) y_predict = dtc.predict(X_test)最后,檢查一下模型的效果
from sklearn.metrics import classification_reportprint(dtc.score(X_test,Y_test)) print(classification_report(y_predict,Y_test,target_names=['died','survived']))
代碼參考:《Python機(jī)器學(xué)習(xí)及實(shí)踐:從零開始通往Kaggle競賽之路》
總結(jié)
以上是生活随笔為你收集整理的机器学习入门实战——决策树算法实战Titanic数据集的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lattice绘图工具
- 下一篇: RxView学习及实现按钮防抖功能