1. 程式人生 > >R語言練習-利用決策樹模型分析泰坦尼克生還率(1)

R語言練習-利用決策樹模型分析泰坦尼克生還率(1)

R語言練習-利用決策樹模型分析泰坦尼克生還率

一、資料預處理

列名 含義
pclass 將1/2/3等艙分別儲存在1/2/3
survived 是否生還
name 姓名
sex 性別
age 年齡
sibsp 同城的兄弟或者配偶數
parch 同城的父母或者子女數
ticket 票號
fare 票價
cabin 艙號
embarked 登陸地:C(Cherbourg,瑟堡),Q(Queenstown,皇后鎮),S(Southampton,南安普頓)

1.讀入資料,將不適合的列刪除,保留適合進行建模的列。
*> #讀入資料

titanic<-read.csv(“E:/資料分析/程式設計/R/file/資料/titanic3.csv”)

去掉後3列,不適合建模

titanic<-titanic[,!names(titanic)%in%c(“body”,”boat”,”home.dest”)]
str(titanic)*

2.轉換每列的資料型別轉換成適合的資料型別,例如pclass現在是int型,需要轉換成字元型

titanicpclass<as.factor(titani

cpclass)
titanicname<as.character(titanicname)
titanicticket<as.character(titanicticket)
titaniccabin<as.character(titaniccabin)
titanicsurvived<factor(titanicsurvived,levels=c(0,1),labels=c(“dead”,”survived”))
str(titanic) #檢視型別

將embarked中的“”(空字元)異常值修改為NA

levels(titanice

mbarked)levels(titanicembarked)[1]<-NA
table(titanic$embarked,useNA=”always”)

將cabin中的空字串更換為NA

titaniccabin<ifelse(titaniccabin==”“,NA,titanic$cabin)

3.分離資料,把資料分成測試資料和訓練資料

library(caret)
set.seed(137)
test_idx<-createDataPartition(titanicsurvived,p=0.1)Resample1
titanic.test<-titanic[test_idx,]
titanic.train<-titanic[-test_idx,]

4.用caret包中的createFolds()進行分割,分成10層交叉資料

create_ten_fold_cv<-function(){
+ set.seed(137)
+ lapply(createFolds(titanic.train$survived,k=10),function(idx){
+ return(list(train=titanic.train[-idx,],
+ validation=titanic.train[idx,]))
+ })
+ }

相關推薦

R語言練習-利用決策模型分析生還1

R語言練習-利用決策樹模型分析泰坦尼克生還率 一、資料預處理 列名 含義 pclass 將1/2/3等艙分別儲存在1/2/3 survived 是否生還 name 姓名 sex 性別

大資料入門——使用決策模型預測號乘客的生還情況

#資料查驗 import pandas as pd titanic=pd.read_csv('http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataS

機器學習之路: python 決策分類 預測號乘客是否幸存

現象 info n) 指標 ssi 直觀 learn 保持 afr 使用python3 學習了決策樹分類器的api 涉及到 特征的提取,數據類型保留,分類類型抽取出來新的類型 需要網上下載數據集,我把他們下載到了本地, 可以到我的git下載代碼和數據集: https

【SciKit-Learn學習筆記】4:決策擬合號資料集並提交到Kaggle

學習《scikit-learn機器學習》時的一些實踐。 決策樹擬合泰坦尼克號資料集 這裡用繪製引數-score曲線的方式去直觀看出模型引數對模型得分的影響,作者使用了GridSearchCV來自動做k-fold交叉驗證,並且能在多組模型引數中找到最優的一組和最優值(用平均s

Python機器學習入門1.8《使用整合模型預測號乘客的生還情況預測》

# -*- coding: utf-8 -*- """ Created on Fri Oct 19 08:11:26 2018 @author: asus """ import pandas as pd titanic=pd.read_csv('http://biosta

python 分析生還

泰坦尼克號資料集,是kaggle(Titanic: Machine Learning from Disaster)上入門機器學習(ML)的一個好的可選資料集,當然,也是不錯的練習資料分析的資料集。對 python ,在資料分析方面,作為一柄利器,涵蓋了「資料獲取→資料處理→資

Kaggle專案案例分析 號生存預測

一、資料來源及說明 1.1 資料來源  來自Kaggle的非常經典資料專案   Titanic:Machine Learning1.2 資料說明 資料包含train.csv 和test.csv 兩個檔案資料集,一個訓練用,一個測試用。train文件資料是用來分析和建模,包含泰

R語言學習(三)——決策分類

分類 分類(Classification)任務就是通過學習獲得一個目標函式(Target Function)f, 將每個屬性集x對映到一個預先定義好的類標號y。 分類任務的輸入資料是記錄的集合,每條記錄也稱為例項或者樣例。用元組(X,y)表示,其中,X 是屬性集合,y是一個特殊的

R語言號隨機森林模型案例資料分析

採取大量單獨不完美的模型,他們的一次性錯誤可能不會由其他人做出。如果我們對所有這些模型的結果進行平均,我們有時可以從它們的組合中找到比任何單個部分更好的模型。這就是整體模型的工作方式,他們培養了許多不同的模型,並讓他們的結果在整個團隊中得到平均或投票。 我們現在很清楚決策樹

【大資料部落】r、 weka從決策模型看員工為什麼離職?

馬雲說:“員工離職的原因總是隻有兩個:錢,沒有到位;心委屈了。” 現在很多老闆都抱怨說,年輕人的流動率太高了,員工覺得老闆的錢太少了,最後還是多指責。 為什麼我們最好和最有經驗的員工過早離職? 到底如何解決這個困境? 拓端資料tecdat使用資料分析員工離開的原

R語言泊松Poisson迴歸模型分析案例

這個問題涉及馬蹄蟹研究的資料。研究中的每隻雌性馬蹄蟹都有一隻雄性螃蟹貼在她的巢穴中。這項研究調查了影響雌蟹是否有其他男性居住在她附近的因素。被認為影響這一點的解釋變數包括雌蟹的顏色(C),脊椎狀況(S),體重(Wt)和甲殼寬度(W)。資料檔案:crab.txt。我們將首先擬合

R語言開發之決策瞭解下

決策樹是以樹的形式表示選擇及其結果的圖形,圖中的節點表示事件或選擇,並且圖形的邊緣表示決策規則或條件。 它主要用於使用R的機器學習和資料探勘應用程式。 使用決策的例子我們可以看下。 將接收的郵件預測是否為垃圾郵件,根據這些資訊中的因素,預測腫瘤是癌症或預測貸款作為良好或

生存概率分析決策的應用

決策樹(decision tree)是一個樹結構(可以是二叉樹或非二叉樹)。其每個非葉節點表示一個特徵屬性上的測試,每個分支代表這個特徵屬性在某個值域上的輸出,而每個葉節點存放一個類別。使用決策樹進行決策的過程就是從根節點開始,測試待分類項中相應的特徵屬性,並按照其值選擇輸出分支,直到到達葉子節點,

(決策)號生還者簡單預測

import pandas as pd titanic=pd.read_csv('http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic.txt') X=titanic[['pclass','age','sex']] y=

機器學習--決策號生存預測

決策樹是一個類似於流程圖的樹結構,分支節點表示對一個特徵進行測試,根據測試結果進行分類,樹葉節點代表一個類別。 要判斷從哪個特徵進行分裂,就要對資訊進行量化,量化的方式有: ID3: 資訊增益 條件熵: 其中pi=P(X=xi),X,Y代表了兩個事件,而它們之間有

利用python對號資料集進行分析

一、資料來源 資料集來自於Kaggle。Kaggle是一個數據分析建模的應用競賽平臺。當然也可以從其它地方下。 二、相關工具 2.1 Python 3.5.2 2.2 Anaconda 3 三、牛刀小試 3.1 匯入訓練資料集 import pandas as

【Kaggle筆記】預測號乘客生還情況決策

資料集 程式碼 # -*- coding: utf-8 -*- """ 泰坦尼克號乘客生還情況預測 模型 決策樹 """ # 匯入pandas用於資料分析。 import panda

決策生還預測

   row.names pclass  survived  \ 0          1    1st         1 1          2    1st         0 2          3    1st         0 3          4    1st         0 4

機器學習:決策cart演算法在分類與迴歸的應用

#include #include #include #include #include #include #include #include #include #include #include using namespace std; //置信水平取0.95時的卡方表 const double CHI

利用python進行資料分析》第十章 時間序列

stamp = ts.index[2] print ts[stamp],'\n' #還有更方便的用法,傳入可以被解釋為日期的字串 print ts['1/10/2011'] print ts['20110110'],'\n' #對於較長的時間序列,只需傳入“年”或“年月”即可輕鬆選取資料切片 long_ts