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

深圳做公司英文网站多少钱百度关键词排名批量查询工具

深圳做公司英文网站多少钱,百度关键词排名批量查询工具,网站推广的网站作用,桐城网站建设以下是一个使用 随机森林(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/358245.html

相关文章:

  • 网站背景图片怎么做友情链接系统
  • 邵阳网站建设设计网络营销软件代理
  • 做购彩网站是怎么盈利的百度seo关键词排名查询工具
  • 做网站发违规内容 网警抓不抓站长工具排行榜
  • 南京做网站优化的公司网站内容检测
  • wordpress云主机年付5美元韶关seo
  • 丝绸之路网站建设策划书网店如何营销推广
  • 承德建设工程信息网站网络营销的概念与特点
  • 广州医院网站建设整站seo排名要多少钱
  • 长沙网站优化厂家长沙服务好的网络营销
  • 做网站的相关教程营销推广模式有哪些
  • 网站建设著作权网络营销成功的案例
  • 网站备案 信息论坛营销
  • 制作淘宝网页网站如何制作自己的链接
  • 信息产业部 备案网站百度竞价排名算法
  • 网站建设简介电话西安网络公司
  • 中英文网站建设需要懂英语吗seo词条
  • 期末成绩怎么做网站网络营销公司排名
  • 洛阳做网站公司网络营销的传播手段
  • 山东网站建设价格实惠搜资源的搜索引擎
  • 群晖WordPress无端口号八宿县网站seo优化排名
  • 网站权重低新网站友链
  • 智能模板网站建设收费丹东seo推广优化报价
  • 高安网站建设公司百度关键词seo外包
  • nas怎么做网站服务器百度搜题网页版入口
  • 网站建设群网站建设规划要点详解
  • 站长工具查询ip地址网页设计工作室长沙
  • 泰州做网站当前疫情十大热点
  • 营销网站建设苏州网站收录提交
  • 做网站前端后台线上购买链接