当前位置: 首页 > wzjs >正文

深圳做公司英文网站多少钱培训机构还能开吗

深圳做公司英文网站多少钱,培训机构还能开吗,辽宁建设工程信息网招标,o元做网站以下是一个使用 随机森林(RF) 和 XGBoost 解决结构化数据分类问题的完整案例(以泰坦尼克号生存预测为例),包含数据处理、建模和结果分析: 案例:泰坦尼克号乘客生存预测 目标:根据乘客…

以下是一个使用 随机森林(RF) 和 XGBoost 解决结构化数据分类问题的完整案例(以泰坦尼克号生存预测为例),包含数据处理、建模和结果分析:

 

案例:泰坦尼克号乘客生存预测

 

目标:根据乘客特征(如年龄、船舱等级等)预测生存与否(0=遇难,1=存活)。

 

一、数据准备

 

1. 加载数据

 

import pandas as pd

train = pd.read_csv("train.csv") # 训练集

test = pd.read_csv("test.csv") # 测试集

 

 

2. 数据清洗

 

- 缺失值处理:

- 年龄(Age):用中位数填充。

- 登船港口(Embarked):用众数填充。

- 船舱等级(Fare):用均值填充测试集缺失值。

 

train['Age'].fillna(train['Age'].median(), inplace=True)

train['Embarked'].fillna(train['Embarked'].mode()[0], inplace=True)

test['Age'].fillna(test['Age'].median(), inplace=True)

test['Fare'].fillna(test['Fare'].mean(), inplace=True)

 

 

- 特征工程:

- 提取船舱首字母(如Cabin='C85' → 'C'),缺失值标记为'X'。

- 转换分类变量(如性别、登船港口)为数值型(独热编码)。

 

train['Cabin'] = train['Cabin'].fillna('X').apply(lambda x: x[0])

test['Cabin'] = test['Cabin'].fillna('X').apply(lambda x: x[0])

train = pd.get_dummies(train, columns=['Sex', 'Embarked', 'Cabin'])

test = pd.get_dummies(test, columns=['Sex', 'Embarked', 'Cabin'])

 

 

- 选择核心特征:

features = ['Pclass', 'Age', 'SibSp', 'Parch', 'Fare'] + \

           [col for col in train.columns if 'Sex_' in col or 'Embarked_' in col or 'Cabin_' in col]

X_train = train[features]

y_train = train['Survived']

X_test = test[features]

 

 

二、模型训练与调优

 

1. 随机森林(RF)

 

from sklearn.ensemble import RandomForestClassifier

from sklearn.model_selection import GridSearchCV

 

# 初始模型

rf = RandomForestClassifier(random_state=42)

rf.fit(X_train, y_train)

 

# 网格搜索调参

param_grid = {

    'n_estimators': [100, 200],

    'max_depth': [None, 10, 20],

    'min_samples_split': [2, 5]

}

grid_search = GridSearchCV(rf, param_grid, cv=5, scoring='accuracy')

grid_search.fit(X_train, y_train)

best_rf = grid_search.best_estimator_

 

 

2. XGBoost

 

import xgboost as xgb

from xgboost import plot_importance

import matplotlib.pyplot as plt

 

# 初始模型

xgb_model = xgb.XGBClassifier(

    objective='binary:logistic',

    random_state=42,

    n_estimators=500,

    learning_rate=0.1

)

xgb_model.fit(X_train, y_train, early_stopping_rounds=50, 

             eval_set=[(X_train, y_train)], verbose=False)

 

# 特征重要性可视化

plot_importance(xgb_model)

plt.show()

 

 

三、结果分析

 

1. 模型评估(训练集)

 

from sklearn.metrics import accuracy_score, classification_report

 

# 随机森林

y_pred_rf = best_rf.predict(X_train)

print("RF准确率:", accuracy_score(y_train, y_pred_rf)) # 示例输出:~0.85

 

# XGBoost

y_pred_xgb = xgb_model.predict(X_train)

print("XGBoost准确率:", accuracy_score(y_train, y_pred_xgb)) # 示例输出:~0.88

 

 

2. 预测提交(测试集)

 

# 生成预测结果

test['Survived'] = best_rf.predict(X_test) # 或用xgb_model.predict(X_test)

submission = test[['PassengerId', 'Survived']]

submission.to_csv("submission.csv", index=False)

 

 

四、关键结论

 

1. 特征重要性:

- XGBoost显示性别(Sex_female)、船舱等级(Pclass)、年龄(Age)是最重要的生存预测因素(见特征重要性图)。

2. 模型对比:

- 随机森林调参后准确率约85%,XGBoost通过正则化和早停机制准确率更高(约88%),但需注意过拟合风险。

3. 优化方向:

- 可尝试Stacking集成(如RF+逻辑回归作为元模型),或进一步调整XGBoost的 max_depth 和 reg_alpha 。

 

代码优化建议

 

- 并行加速:XGBoost设置 n_jobs=-1 启用多线程,RF设置 n_jobs=-1 加速训练。

- 数据泄漏检查:特征工程需在训练集和测试集独立处理(避免用测试集数据填充训练集缺失值)。

 

需要完整数据集或其他算法案例(如GBDT)可随时告知!

http://www.dtcms.com/wzjs/184511.html

相关文章:

  • 织梦与wordpress seo哪个好可靠的网站优化
  • wordpress域名绑定外链seo
  • 信誉好的o2o网站建设网站seo技术
  • 常州百度关键词优化企业seo关键词优化
  • 网站可以做伦理片吗关键词排名优化易下拉霸屏
  • html5网站开发开题报告百度云搜索引擎入口百度网盘
  • 企业建站团队广告公司取名字参考大全
  • 介绍几个能进去的a站营销活动方案
  • 安顺市哪里可以做网站一个新手如何推销产品
  • 为外国人做非法网站和生活爱辽宁免费下载安装
  • 杭州网站搭建公司网络推广关键词优化公司
  • 校园二手网站的建设方案小程序引流推广平台
  • 网站seo诊断报告例子新闻稿件
  • 饮食中心网站建设方案百度指数分析大数据
  • .net开发的网站能做优化吗成都爱站网seo站长查询工具
  • 好听的公司名字大全集北京网站建设优化
  • 南京企业网站cps广告是什么意思
  • 全景网站建设手机网站制作软件
  • 建设网站需要机房吗网站代理公司
  • 英语培训学校网站怎么做如何推销自己的产品
  • 网站建设所需素材深圳网络公司推广
  • 哈尔滨网站搜索优化公司seo什么职位
  • vultr怎么做网站百度收录快速提交
  • 手机设计长沙专业seo优化公司
  • 网站建设公司程序今天的新闻 最新消息
  • 网站运营规划seo搜索优化技术
  • 快速网站建设费用企业营销策划书如何编写
  • 局域网怎么做网站长春网站制作系统
  • 游戏网站开发试验报告今日中央新闻
  • 给网站开发自己的一封信推荐就业的培训机构