动手学数据分析(5)--模型的建立和评价

1.模型的搭建

1.1 得到建模数据

#读取原始数据
train = pd.read_csv('train.csv')

#读取清洗过的数据集
data = pd.read_csv('clear_data.csv')

1.2 选择合适的模型

在进行模型选择之前我们需要先知道数据集最终是进行监督学习还是无监督学习

机器学习主要分为两类

  1. 监督学习:教计算机如何去完成预测任务(有反馈),预先给一定数据量的输入和对应的结果即训练集,建模拟合,最后让计算机预测未知数据的结果。
  2. 无监督学习:相对于监督学习,训练集不会有人为标注的结果(无反馈),我们不会给出结果或无法得知训练集的结果是什么样,而是单纯由计算机通过无监督学习算法自行分析,从而“得出结果”。计算机可能会把特定的数据集归为几个不同的簇,故叫做聚类算法

两者的区别主要是是否需要人工参与数据结果的标注

模型的选择一方面是通过我们的任务来决定的。 除了根据我们任务来选择模型外,还可以根据数据样本量以及特征的稀疏性来决定 刚开始我们总是先尝试使用一个基本的模型来作为其baseline,进而再训练其他模型做对比,最终选择泛化能力或性能比较好的模型 我们这里使用一个机器学习最常用的一个库(sklearn)来完成我们的模型的搭建

1.3 切割训练集和测试集

# 这里使用留出法划分数据集
# 留出法直接将数据集划分为两个互斥的集合,其中一个集合作为训练集,留下的集合作为测试集
# 将数据集分为自变量和因变量
# 按比例切割训练集和测试集(一般测试集的比例有30%、25%、20%、15%和10%)
# test_size=0.30
# 使用分层抽样
# random_state=0
# 设置随机种子以便结果能复现

# 一般先取出X和y后再切割,有些情况会使用到未切割的,这时候X和y就可以用,x是清洗好的数据,y是我们要预测的存活数据'Survived'
X = data
y = train['Survived']

# 对数据集进行切割,按照y的比例进行分割,随机种子为0
X_train, X_test, y_train, y_test = train_test_split(X, y, stratify=y, random_state=0)
# 查看数据形状
print(X_train.shape, X_test.shape)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值