机器学习:随机森林预测泰坦尼克数据

简介: 机器学习:随机森林预测泰坦尼克数据

随机森林

1、集成学习方法

集成学习通过建立几个模型组合来解决单一预测问题

工作原理:生成多个分类器/模型,各自独立地学习和做出预测

这些预测最后结合成单预测,因此优于任何一个单分类做出的预测

2、随机森林

包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定

3、随机森林算法

单个树建立

(1)随机在N个样本中选择一个样本,重复N次,样本有可能重复

(2)随机在M个特征中选出m个特征 m<

建立多棵树,样本,特征大多不一样

4、随机有放回抽样 bootstrap抽样

随机:避免每棵树都一样

有放回:每棵树和其他树有交集

5、参数调优

树木数量:120, 200, 300, 500, 800, 1200

最大深度:5, 8, 15, 25 ,30

6、随机森林的优点

在当前所有算法中,具有极好的准确率

能够有效地运行在大数据集上

能够处理具有高纬特征的输入样本,而且不需要降维

能够评估各个特征在分类问题上的重要性

代码示例

import pandas as pd
from sklearn.feature_extraction import DictVectorizer
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.ensemble import RandomForestClassifier
# 读取数据
train = pd.read_csv("source/train.csv")
# 选取数据集和目标集
data = train[["Pclass", "Sex", "Age"]]
target = train["Survived"]
# 缺失值处理
pd.set_option('mode.chained_assignment', None)
data["Age"].fillna(data["Age"].mean(), inplace=True)
data["Pclass"].replace(1, "low", inplace=True)
data["Pclass"].replace(2, "middle", inplace=True)
data["Pclass"].replace(3, "high", inplace=True)
# 拆分数据集成训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(
    data, target, test_size=0.25)
# 特征工程,类别-> One-Hot编码
dct = DictVectorizer(sparse=False)
X_train = dct.fit_transform(X_train.to_dict(orient="records"))
X_test = dct.transform(X_test.to_dict(orient="records"))
print(dct.get_feature_names())
# 随机森林预测 超参数调优
rf = RandomForestClassifier()
# 网格搜索与交叉验证
params = {
    "n_estimators": [10, 60, 100, 120, 150, 200],
    "max_depth": [3, 5, 8, 15, 25, 30]
}
gs = GridSearchCV(rf, params, cv=2)
gs.fit(X_train, y_train)
print(gs.score(X_test, y_test))
print(gs.best_params_)
"""
0.8251121076233184
{'max_depth': 3, 'n_estimators': 60}
"""


相关文章
|
1月前
|
机器学习/深度学习 数据采集 算法
量子机器学习入门:三种数据编码方法对比与应用
在量子机器学习中,数据编码方式决定了量子模型如何理解和处理信息。本文详解角度编码、振幅编码与基础编码三种方法,分析其原理、实现及适用场景,帮助读者选择最适合的编码策略,提升量子模型性能。
164 8
|
6月前
|
机器学习/深度学习 算法 数据挖掘
PyTabKit:比sklearn更强大的表格数据机器学习框架
PyTabKit是一个专为表格数据设计的新兴机器学习框架,集成了RealMLP等先进深度学习技术与优化的GBDT超参数配置。相比传统Scikit-Learn,PyTabKit通过元级调优的默认参数设置,在无需复杂超参调整的情况下,显著提升中大型数据集的性能表现。其简化API设计、高效训练速度和多模型集成能力,使其成为企业决策与竞赛建模的理想工具。
207 12
PyTabKit:比sklearn更强大的表格数据机器学习框架
|
9月前
|
机器学习/深度学习 数据采集 JSON
Pandas数据应用:机器学习预处理
本文介绍如何使用Pandas进行机器学习数据预处理,涵盖数据加载、缺失值处理、类型转换、标准化与归一化及分类变量编码等内容。常见问题包括文件路径错误、编码不正确、数据类型不符、缺失值处理不当等。通过代码案例详细解释每一步骤,并提供解决方案,确保数据质量,提升模型性能。
373 88
|
9月前
|
机器学习/深度学习 数据采集 算法
机器学习在生物信息学中的创新应用:解锁生物数据的奥秘
机器学习在生物信息学中的创新应用:解锁生物数据的奥秘
796 36
|
9月前
|
机器学习/深度学习 人工智能
Diff-Instruct:指导任意生成模型训练的通用框架,无需额外训练数据即可提升生成质量
Diff-Instruct 是一种从预训练扩散模型中迁移知识的通用框架,通过最小化积分Kullback-Leibler散度,指导其他生成模型的训练,提升生成性能。
253 11
Diff-Instruct:指导任意生成模型训练的通用框架,无需额外训练数据即可提升生成质量
|
7月前
|
机器学习/深度学习 传感器 数据采集
基于机器学习的数据分析:PLC采集的生产数据预测设备故障模型
本文介绍如何利用Python和Scikit-learn构建基于PLC数据的设备故障预测模型。通过实时采集温度、振动、电流等参数,进行数据预处理和特征提取,选择合适的机器学习模型(如随机森林、XGBoost),并优化模型性能。文章还分享了边缘计算部署方案及常见问题排查,强调模型预测应结合定期维护,确保系统稳定运行。
752 0
|
9月前
|
人工智能 Kubernetes Cloud Native
跨越鸿沟:PAI-DSW 支持动态数据挂载新体验
本文讲述了如何在 PAI-DSW 中集成和利用 Fluid 框架,以及通过动态挂载技术实现 OSS 等存储介质上数据集的快速接入和管理。通过案例演示,进一步展示了动态挂载功能的实际应用效果和优势。
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
模型训练数据-MinerU一款Pdf转Markdown软件
MinerU是由上海人工智能实验室OpenDataLab团队开发的开源智能数据提取工具,专长于复杂PDF文档的高效解析与提取。它能够将含有图片、公式、表格等多模态内容的PDF文档转化为Markdown格式,同时支持从网页和电子书中提取内容,显著提升了AI语料准备的效率。MinerU具备高精度的PDF模型解析工具链,能自动识别乱码,保留文档结构,并将公式转换为LaTeX格式,广泛适用于学术、财务、法律等领域。
1412 4
|
11月前
|
机器学习/深度学习 数据采集 数据处理
谷歌提出视觉记忆方法,让大模型训练数据更灵活
谷歌研究人员提出了一种名为“视觉记忆”的方法,结合了深度神经网络的表示能力和数据库的灵活性。该方法将图像分类任务分为图像相似性和搜索两部分,支持灵活添加和删除数据、可解释的决策机制以及大规模数据处理能力。实验结果显示,该方法在多个数据集上取得了优异的性能,如在ImageNet上实现88.5%的top-1准确率。尽管有依赖预训练模型等限制,但视觉记忆为深度学习提供了新的思路。
197 2
|
机器学习/深度学习 存储 人工智能
揭秘机器学习背后的神秘力量:如何高效收集数据,让AI更懂你?
【10月更文挑战第12天】在数据驱动的时代,机器学习广泛应用,从智能推荐到自动驾驶。本文以电商平台个性化推荐系统为例,探讨数据收集方法,包括明确数据需求、选择数据来源、编写代码自动化收集、数据清洗与预处理及特征工程,最终完成数据的训练集和测试集划分,为模型训练奠定基础。
306 3