需要源码和数据集请点赞关注收藏后评论区留言私信~~~
在本案例中,利用随机森林对泰坦尼克号乘客生还进行预测,并对预测模型进行指标测算与模型评价。
一、数据集准备与处理
本案例采用泰坦尼克号乘客数据集进行分析与挖掘,首先导入事先保存好的数据文件,也可以在以下网址下载
导入数据并显示前五条数据
查看数据的基本情况
输出结果显示了该数据集有1313条数据,并显示了各个属性的数据类型及非空值的个数
查看数据缺失值信息
可以明显看出 属性room ticket等中缺失值较多
特征选取。根据对该事件的了解,选取sex,age和pclass三个决定幸免与否的关键因素
对年龄字段进行空缺值填充
可以看出 待分析的数据中不再有缺失数据
查看pclass和生还数据survived的数据取值分布
针对性别 绘制年龄字段的箱线图
划分训练集和测试集 并将数据中的类别型特征进行编码
二、模型构建与性能评估
接下来构建随机森林模型 然后对分类器进行评估
可以看出 精度大概在百分之七十八左右 包括其他几种评估指标等等
三、代码
部分代码如下 需要全部源码请点赞关注收藏后评论区留言私信
import pandas as pd import numpy as np titanic=pd.read_csv('titanic.txt') # titanic=pd.read_csv('http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic.txt') titanic.head() titanic.info() titanic.i[['pclass', 'age', 'sex']] y = titanic['survived'] X.info() X['age'].fillna(X['age'].mean(), inplace=True) X.info() print(X['pclass'].value_counts()) print(y.value_counts()) from sklearn.model_selection 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.ftransform(X_test.to_dict(orient='record')) from sklearn.ensemble import RandomForestClassifier rfc=RandomForestClassifier() rfc.fit(X_train,y_train) rfc_y_pred=rfc.predict(X_test) from sklearn.metrics import classification_report print('The accuracy of random forest:',rfc.score(X_test,y_test)) print(classification_report(rfc_y_pred,y_test))
创作不易 觉得有帮助请点赞关注收藏~~~