泰坦尼克号幸存者预测 python 详解
泰坦尼克号幸存数据,压缩包第一个
#读取数据
import pandas as pd
data = pd.read_csv(r"C:\Users\lhf\PycharmProjects\python+MachineLeaning\泰坦尼克号数据\data.csv")
print(data.info())
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 12 columns):
PassengerId 891 non-null int64
Survived 891 non-null int64
Pclass 891 non-null int64
Name 891 non-null object
Sex 891 non-null object
Age 714 non-null float64
SibSp 891 non-null int64
Parch 891 non-null int64
Ticket 891 non-null object
Fare 891 non-null float64
Cabin 204 non-null object
Embarked 889 non-null object
dtypes: float64(2), int64(5), object(5)
memory usage: 66.2+ KB
None
#处理数据
#1.筛选特征 名字不重要,Cabin缺太多,票号不重要
data.drop(["Name","Cabin","Ticket"],inplace= True,axis=1)#将要删除的那一列的名字放到列表中,inplace=True表示生成的新的数据代替旧的数据,axis=1 删除列#2.处理缺失值 Age缺很多数据,
data["Age"] = data["Age"].fillna(data["Age"].mean()) #用年龄的平均值填补缺失值 注意是方括号!!!#Embarked 缺两个数据 ,把缺的两行删除
data = data.dropna()#删除有缺失值的行 默认是axis = 0#3.数据中出现非数字的数据,将它转换成数字,有两种方法
#3.1 第一种方法
label = data["Embarked"].unique().tolist() #取出Embarked中所有的取值并转化成列表------类似于集合形式
data["Embarked"] = data["Embarked"].apply(lambda x:label.index(x))
#3.2 第二种方法
data["Sex"] = (data["Sex"] == "male").astype("int") #将男人=1,女人=0#4.分离特征和标签
x = data.iloc[:,data.columns != "Survived"] #取出data数据中列名不为"Survived"的其他列
y = data.iloc[:,data.columns == "Survived"] #取出data数据中列名为"Survived"的列#训练集,测试集划分
from sklearn.model_selection import train_test_split
Xtrain,Xtest,Ytrain,Ytest = train_test_split(x,y,test_size=0.3) #划分后数据索引会变混乱 Xtrain,Xtest把x分了7:3,Ytrain,Ytest把y分了7:3
for i in [Xtrain,Xtest,Ytrain,Ytest]:i.index = range(i.shape[0]) #将索引改成0-621
#网格搜索 能帮助我们同时调整多个参数的技术 枚举技术
parameters = {"criterion":("gini","entropy"),"splitter":("best","random"),"max_depth":list(range(1,10)),"min_samples_leaf":list(range(1,50,5)),"min_impurity_decrease":list(np.linspace(0,0.5,20))}
clf = DecisionTreeClassifier(random_state= 25)
GS = GridSearchCV(clf,parameters,cv=10) #GridSearchCV同时满足了fit,score,cross_val_score
GS = GS.fit(Xtrain,Ytrain)
print(GS.best_params_) #从我们输入的参数和参数列表中,返回最佳组合 最佳参数组合
print(GS.best_score_)#网格搜索后的模型的评价标准
{'criterion': 'gini', 'max_depth': 5, 'min_impurity_decrease': 0.0, 'min_samples_leaf': 1, 'splitter': 'best'}
0.8408360128617364
泰坦尼克号幸存者预测 python 详解相关推荐
- python泰坦尼克号数据预测_泰坦尼克号幸存者预测 python 详解
泰坦尼克号幸存数据,压缩包第一个 #读取数据 import pandas as pd data = pd.read_csv(r"C:\Users\lhf\PycharmProjects\py ...
- Keras LSTM实现多维输入输出时序预测实践详解
自古以来,我们就希望预知未来,现如今,随着大数据人工智能技术的发展,我们早已经不满足传统的同比.环比等数据分析方法,但是时间序列趋势预测的传统算法又很专业,很难用于日常生产经营中. 深度学习神经网络为 ...
- python input与返回值-Python 详解基本语法_函数_返回值
Python 详解基本语法 概要: 函数的返回值是函数重要的组成部分.函数的根本在于实现程序的部分功能,所以很多时候我们需要将函数执行后的结果返回给程序再由程序作出进一步的操作.可以说是函数的返回值令 ...
- python选择排序从大到小_经典排序算法和Python详解之(一)选择排序和二元选择排序...
本文源自微信公众号[Python编程和深度学习]原文链接:经典排序算法和Python详解之(一)选择排序和二元选择排序,欢迎扫码关注鸭! 扫它!扫它!扫它 排序算法是<数据结构与算法>中最 ...
- 决策树入门案例:泰坦尼克号幸存者预测
决策树 1 概述 1.1 决策树是如何工作的 1.2 分类树 DecisionTreeClassifier 1.3 回归树 DecisionTreeRegressor 1.4 案例练习 1. 用回归树 ...
- 机器学习-泰坦尼克号幸存者预测
机器学习-泰坦尼克号幸存者预测 泰坦尼克灾难数据描述 PassengerId:乘客的ID号,这个是顺序编号,用来唯一标识一名乘客.这个特征和幸存与否无关,我们不使用这个特征. Survived:1表示 ...
- 特征工程实践:泰坦尼克号幸存者预测
文章目录 泰坦尼克号幸存者预测 泰坦尼克号幸存者预测 数据集下载地址:https://www.kaggle.com/c/titanic/data . 本案例主要展示特征工程对数据集的处理方法,模型只选 ...
- #泰坦尼克号幸存者预测
泰坦尼克号幸存者预测 泰坦尼克号训练数据见百度网盘: 链接:https://pan.baidu.com/s/1yHvYb2usyW24LqacHk9-Dw 提取码:p1do import pandas ...
- mpc模型预测控制原理详解
mpc模型预测控制原理详解 前言 mpc算法步骤 mpc算法推导 前言 本文是对mpc模型预测控制学习的记录,主要参照了DR_CAN老师的视频进行学习.视频专栏链接:DR_CAN老师mpc视频专栏.在 ...
最新文章
- iOS审核秘籍】提审资源检查大法
- 自动化运维之PSSH
- Hibernate介绍
- linux拒绝tcp链接,Linux 内核 TCP SACK 拒绝服务问题
- 【转】Office365完整离线安装包下载及自定义安装教程
- 阿里P8架构师谈:架构设计经验汇总
- Openshift 4.4 静态 IP 离线安装系列:准备离线资源
- 史上最全提现模块案例分解
- 华为发布会: 牛逼鸿蒙,吹水的大会
- Canalys:尽管面临供应压力 2021年智能手机的出货量仍预计增长12%
- 程序员做到年薪60万也不去炫富,背后原因曝光,麻烦做个人吧
- 网站前端和后台性能优化的34条经验和方法
- ftp文件服务器坑,Java实现FTP上传文件到Linux服务器的那些坑
- adprw指令通讯案例_S7200和威纶通触摸屏MODBUS RTU协议通讯
- 嵌入式系统课程大作业设计报告
- Newtonsoft.Json.Linq 简单使用
- 【论文】文本相似度计算方法综述
- 有没有英语语音测试软件,没有雅思的高分女朋友虐你英语,就善用手机的app录音自测练习...
- 7.25 10figting!
- Adaptive Context Network for Scene Parsing