昨天data mining的作业是使用logistics regression model和SVM model预测泰坦尼克号生还情况。设计到了logistics regression model,SVM model, confusion matrix的画法,ROC curve and AUC。
实验数据
数据网址:http://biostat.mc.vanderbilt.edu/wiki/Main/DataSets
下载其中的 titanic3.csv 作为实验数据。
数据的属性如下
pclass:Passenger Class (1 = 1st; 2 = 2nd; 3 = 3rd)
survived:Survival (0 = No; 1 = Yes)
name:Name
sex:Sexage
Agesibsp:Number of Siblings/Spouses Aboard
parch:Number of Parents/Children Aboard
ticket:Ticket Number
fare:Passenger Fare
cabin:Cabin
embarked:Port of Embarkation(C = Cherbourg; Q = Queenstown; S = Southampton)
boat:Lifeboat
body:Body
Identification:Number
home.dest:Home/Destination
读入数据
在读入前我们需要注意到数据集里有很多的缺失值,这些缺失值有两种情况:NA 和 空值,其中空值相当于c(“”),为了后期处理方便,我们在读入的时候将缺失值全部用NA替代。
titanic = read.csv("C:/Users/Administrator/Desktop/titanic3.csv",head = T,na.strings=c(""));
读入以后,我们将数据集分割为80%的training set 和%20 的test set。为了确保每次分割都相同,我们需要设置seed为1(set.seed(1))。
set.seed(1);
training = titanic[sort(sample(nrow(titanic),0.8*nrow(titanic),replace=F)),];
set.seed(1);
test = titanic[-sample(nrow(titanic),0.8*nrow(titanic),replace=F),];
数据清洗
由于我们作业的要求是清洗在分割