模型搭建

模型搭建模型搭建处理完前面的数据我们就得到建模数据,下一步是选择合适模型在进行模型选择之前我们需要先知道数据集最终是进行监督学习还是无监督学习除了根据我们任务来选择模型外,还可以根据数据样本量以及特征的稀疏性来决定刚开始我们总是先尝试使用一个基本的模型来作为其baseline,进而再训练其他模型做对比,最终选择泛化能力或性能比较好的模型模型创建创建基于线性模型的分类模型(逻辑回归)创建基于树的分类模型(决策树、随机森林)查看模型的参数,并更改参数值,观察模型变化.提示逻辑回归不是
摘要由CSDN通过智能技术生成

模型搭建

模型搭建

  1. 处理完前面的数据我们就得到建模数据,下一步是选择合适模型
  2. 在进行模型选择之前我们需要先知道数据集最终是进行监督学习还是无监督学习
  3. 除了根据我们任务来选择模型外,还可以根据数据样本量以及特征的稀疏性来决定
  4. 刚开始我们总是先尝试使用一个基本的模型来作为其baseline,进而再训练其他模型做对比,最终选择泛化能
    力或性能比较好的模型
    在这里插入图片描述
    模型创建
  5. 创建基于线性模型的分类模型(逻辑回归)
  6. 创建基于树的分类模型(决策树、随机森林)
  7. 查看模型的参数,并更改参数值,观察模型变化
    .提示
  8. 逻辑回归不是回归模型而是分类模型,不要与 LinearRegression 混淆
  9. 随机森林其实是决策树集成为了降低决策树过拟合的情况
  10. 线性模型所在的模块为 sklearn.linear_model
  11. 树模型所在的模块为 sklearn.ensemble
    ** 切割训练集与测试集**
from sklearn.model_selection import train_test_split
X = data.drop(['Survived'],axis=1)
print(data.shape,X.shape)
y = data['Survived']
(891, 19) (891, 18)
# 数据集切割
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, stratify=y, random_state=0)
# 划分比例默认为0.25

逻辑回归模型

# 逻辑回归
from sklearn.linear_model import LogisticRegression
# 默认参数下拟合模型
lr = LogisticRegression()
lr.fit(X_train, y_train)

# 查看训练集和测试集score值
print("训练集score:{:.2f}".format(lr.score(X_train, y_train)))
print("测试集score: {:.2f}".format(lr.score(X_test, y_test)))
# str.format()格式化,在这里输出score结果的两位小数的值

随机森林模型

# 随机森林模型
# 调整参数后的随机森林分类模型
from sklearn.ensemble import RandomForestClassifier
rfc2 = RandomForestClassifier(n_estimators=100, max_depth=5)
rfc2.fit(X_train, y_train)
print("Training set score: {:.2f}".format(rfc2.score(X_train, y_train)))
print("Testing set score: {:.2f}".format(rfc2.score(X_test, y_test)))

模型评估
模型评估是为了明确模型的泛化能力。

交叉验证(cross-validation)是一种评估泛化性能的统计学方法,它比单次划分训练集和测试集的方法更加稳定、全面。数据被多次划分,并且需要训练多个模型。最常用的是 k 折交叉验证(k-fold cross-validation), k 通常取 5 或 10。
准确率(precision)度量的是被预测为正例的样本中有多少是真正的正例
召回率(recall)度量的是正类样本中有多少被预测为正类
f-分数是准确率与召回率的调和平均
ROC曲线
ROC的全称是Receiver Operating Characteristic Curve,中文名字叫“受试者工作特征曲线”。
ROC的全称是Receiver Operating Characteristic Curve,中文名字叫“受试者工作特征曲线”。
roc_curve:
roc_curve(y_true, y_score, pos_label=None, sample_weight=None, drop_intermediate=True)

y_true:数组,存储数据的标签,维度是样本数,两个值(只适用于二分类任务)
y_score:数组,存储数据的预测概率值,维度也是样本数
pos_label:整型或字符串,指定正样本是哪个
sample_weight:采样权重,可选参数
drop_intermediate:丢掉一些阈值,以便画roc曲线图
返回值:
fpr
tpr
thresholds:数组,对预测值排序后的score列表,作为阈值,排序从大到小

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值