您的位置:首页 > 汽车 > 新车 > 服装公司网站定位_北京网站优化企业_推销产品的万能句子_上海seo搜索优化

服装公司网站定位_北京网站优化企业_推销产品的万能句子_上海seo搜索优化

2025/8/14 0:05:54 来源:https://blog.csdn.net/weixin_50784508/article/details/145857632  浏览:    关键词:服装公司网站定位_北京网站优化企业_推销产品的万能句子_上海seo搜索优化
服装公司网站定位_北京网站优化企业_推销产品的万能句子_上海seo搜索优化

1.先到Kaggle平台下载关于泰坦尼克号的数据。

泰坦尼克号数据集:这是Kaggle上的经典数据集,用于预测乘客是否幸存。

地址:Titanic - Machine Learning from Disaster | Kaggle

  • 包含以下文件:

    • train.csv:训练集(包含标签Survived

    • test.csv:测试集(不包含标签)

    • gender_submission.csv:示例提交文件

2. 使用 Kaggle 处理泰坦尼克号数据集

2.1 创建 Kaggle Notebook
  1. 登录 Kaggle 账号(如果没有账号,先注册)。

  2. 进入 Titanic 竞赛页面。

  3. 点击 Notebooks,然后选择 New Notebook

  4. Kaggle 会自动加载数据集,你可以在右侧的 Data 选项卡中看到 train.csv 和 test.csv

3.详细实现代码+解释

import pandas as pd# 加载训练集和测试集
train_data = pd.read_csv('kaggle_notebook/train.csv')
test_data = pd.read_csv('kaggle_notebook/test.csv')# 查看数据
#print(train_data.head())
#print(test_data.head())#train_data.describe()# 填充缺失值(将文件中缺失的字段进行填充)
# fillna(): 这是一个Pandas函数,用于填充缺失值(NaN)。
# train_data['Age'].median(): 计算“Age”列的中位数(median)。中位数是数据集中间值,能够有效减少异常值的影响。
# inplace=True: 表示直接在原数据上进行修改,而不是返回一个新的DataFrame。
train_data['Age'].fillna(train_data['Age'].median(), inplace=True)
test_data['Age'].fillna(test_data['Age'].median(), inplace=True)
# train_data['Embarked'].mode()[0]: 计算“Embarked”列的众数(mode),即出现频率最高的值。
# [0]表示取众数列表中的第一个值(如果有多个众数)。
train_data['Embarked'].fillna(train_data['Embarked'].mode()[0], inplace=True)
test_data['Fare'].fillna(test_data['Fare'].median(), inplace=True)# 提取Title特征
train_data['Title'] = train_data['Name'].str.extract(' ([A-Za-z]+)\.', expand=False)
test_data['Title'] = test_data['Name'].str.extract(' ([A-Za-z]+)\.', expand=False)# 将类别特征转换为数值
train_data['Sex'] = train_data['Sex'].map({'male': 0, 'female': 1})
test_data['Sex'] = test_data['Sex'].map({'male': 0, 'female': 1})# 删除不需要的特征
train_data.drop(['PassengerId', 'Name', 'Ticket', 'Cabin'], axis=1, inplace=True)
test_data.drop(['PassengerId', 'Name', 'Ticket', 'Cabin'], axis=1, inplace=True)#查看训练数据类型
#train_data.info()
#print(train_data.describe())#查看测试数据类型
#test_data.info()
#print(test_data.describe())from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_splitfrom sklearn.preprocessing import LabelEncoder# 对分类变量进行标签编码(将存储的字符串数据转化成浮点数类型)
label_encoders = {}
for column in ['Title', 'Embarked']:le = LabelEncoder()train_data[column] = le.fit_transform(train_data[column])label_encoders[column] = le  # 保存编码器,方便后续解码# 定义特征和目标变量(将不包含['Survived']属性的值赋值给X)
X = train_data.drop(['Survived'], axis=1)
#将['Survived']属性的值赋值给y
y = train_data['Survived']# 划分训练集和验证集
# X: 特征数据(自变量),通常是一个二维数组或 DataFrame,每一行是一个样本,每一列是一个特征。
# y: 标签数据(因变量),通常是一个一维数组或 Series,表示每个样本的目标值(分类或回归的目标)。
# test_size=0.2: 指定验证集的比例。这里 0.2 表示将 20% 的数据作为验证集,剩下的 80% 作为训练集。
X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.2, random_state=42)# 训练随机森林模型
# n_estimators=100: 指定随机森林中树的数量。这里设置为 100,表示模型将包含 100 棵决策树。
# random_state=42: 随机种子,用于确保每次运行代码时,模型的随机性是一致的(可重复性)。
model = RandomForestClassifier(n_estimators=100, random_state=42)# X_train: 训练集的特征数据。
# y_train: 训练集的标签数据。
model.fit(X_train, y_train)# 验证模型(hu)
accuracy = model.score(X_val, y_val)
print(f"Validation Accuracy: {accuracy:.2f}")#对分类变量进行标签编码
test_data["Title"]=label_encoders["Title"].fit_transform(test_data["Title"])
test_data["Embarked"]=label_encoders["Embarked"].fit_transform(test_data["Embarked"])# print(test_data)
# 预测测试集
predictions = model.predict(test_data)# 生成提交文件
submission = pd.DataFrame({'PassengerId': pd.read_csv('kaggle_notebook/test.csv')['PassengerId'],'Survived': predictions,"Name":pd.read_csv('kaggle_notebook/test.csv')['Name']
})
submission.to_csv('kaggle_notebook/submission.csv', index=False)
print(submission)

4. 训练数据中的特征

在泰坦尼克号数据集中,训练数据train.csv)包含以下特征(列):

  • PassengerId:乘客的唯一标识(对预测无用,通常删除)。

  • Survived:目标变量,表示是否存活(1 表示存活,0 表示未存活)。

  • Pclass:舱位等级(1 = 头等舱,2 = 二等舱,3 = 三等舱)。

  • Name:乘客姓名(对预测无用,但可以提取称呼作为新特征)。

  • Sex:性别(male/female)。

  • Age:年龄。

  • SibSp:兄弟姐妹和配偶的数量。

  • Parch:父母和子女的数量。

  • Ticket:船票编号(对预测无用,通常删除)。

  • Fare:票价。

  • Cabin:船舱号(对预测无用,通常删除)。

  • Embarked:登船港口(C = Cherbourg, Q = Queenstown, S = Southampton)。


2. 模型使用的特征(通过这些特征来预测用户的存活)

在代码中,模型使用的特征不仅仅是性别和年龄,而是所有对预测有帮助的特征。例如:

  • 性别(Sex):转换为数值(0 表示男性,1 表示女性)。

  • 年龄(Age):直接使用。

  • 舱位等级(Pclass):直接使用。

  • 兄弟姐妹和配偶数量(SibSp):直接使用。

  • 父母和子女数量(Parch):直接使用。

  • 票价(Fare):直接使用。

  • 登船港口(Embarked):转换为数值(如 0、1、2)。

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com