1、案例二:使用Pandas库进行进行机器学习建模步骤【Python人工智能】

在人工智能和机器学习项目中,数据处理是一个至关重要的环节。Pandas是Python中一个强大的数据处理库,它提供了高效、灵活的数据结构和数据分析工具。下面是一个使用Pandas库进行数据处理的例子,涉及数据清洗、特征工程和基本的统计分析。

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

在这个例子中,我们使用著名的泰坦尼克号乘客数据集。我们的目标是通过数据处理和特征工程,为机器学习模型预测乘客是否能生存提供清洗后的数据。

1. 导入必要的库
python 复制代码
import pandas as pd
import numpy as np
2. 加载数据
python 复制代码
# 读取CSV文件到Pandas DataFrame
df = pd.read_csv('titanic.csv')
  1. 数据预览
python 复制代码
# 显示数据前几行
print(df.head())

# 查看数据的基本信息
print(df.info())

# 查看数据统计信息
print(df.describe())
4. 数据清洗
  1. 处理缺失值

    python 复制代码
    # 查看每列的缺失值
    print(df.isnull().sum())
    
    # 填充缺失的年龄(使用中位数)
    df['Age'].fillna(df['Age'].median(), inplace=True)
    
    # 填充缺失的登船港口(使用最常见的值)
    df['Embarked'].fillna(df['Embarked'].mode()[0], inplace=True)
    
    # 舍弃包含大量缺失值的列(如客舱号)
    df.drop(columns=['Cabin'], inplace=True)
  2. 转换分类变量为数值型

    python 复制代码
    # 使用Pandas的get_dummies方法进行独热编码
    df = pd.get_dummies(df, columns=['Sex', 'Embarked'], drop_first=True)
    5. 特征工程
创建新的特征
python 复制代码
# 创建家庭成员总数特征
df['FamilySize'] = df['SibSp'] + df['Parch'] + 1

# 创建是否独自一人旅行特征
df['IsAlone'] = (df['FamilySize'] == 1).astype(int)
  • 特征选择

    python 复制代码
    # 选择有用的特征进行建模
    features = ['Pclass', 'Age', 'Fare', 'FamilySize', 'IsAlone', 'Sex_male', 'Embarked_Q', 'Embarked_S']
    X = df[features]
    y = df['Survived']
    6. 数据标准化
    python 复制代码
    from sklearn.preprocessing import StandardScaler
    
    scaler = StandardScaler()
    X = scaler.fit_transform(X)
    7. 简单的统计分析
    python 复制代码
    # 计算各类乘客的生存率
    survival_rate = df.groupby('Pclass')['Survived'].mean()
    print(survival_rate)
    
    # 查看不同性别的生存率
    gender_survival_rate = df.groupby('Sex_male')['Survived'].mean()
    print(gender_survival_rate)
    8. 准备训练模型

    我们已经完成了数据清洗和特征工程,现在可以使用处理后的数据进行机器学习模型的训练。例如,使用逻辑回归模型:

    python 复制代码
    from sklearn.linear_model import LogisticRegression
    from sklearn.model_selection import train_test_split
    from sklearn.metrics import accuracy_score
    
    # 分割数据集为训练集和测试集
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
    
    # 初始化和训练逻辑回归模型
    model = LogisticRegression()
    model.fit(X_train, y_train)
    
    # 预测和评估模型
    y_pred = model.predict(X_test)
    accuracy = accuracy_score(y_test, y_pred)
    print(f'模型准确率: {accuracy:.2f}')

    结论

    通过这个例子,我们展示了如何使用Pandas库进行数据加载、清洗、特征工程和简单的统计分析。这些步骤是进行机器学习建模的基础,能够帮助我们准备高质量的数据,为模型提供可靠的输入。

相关推荐
余弦的倒数14 分钟前
知识蒸馏和迁移学习的区别
人工智能·机器学习·迁移学习
Allen Bright14 分钟前
【机器学习-线性回归-2】理解线性回归中的连续值与离散值
人工智能·机器学习·线性回归
weixin_贾22 分钟前
最新AI-Python机器学习与深度学习技术在植被参数反演中的核心技术应用
python·机器学习·植被参数·遥感反演
张槊哲32 分钟前
函数的定义与使用(python)
开发语言·python
船长@Quant36 分钟前
文档构建:Sphinx全面使用指南 — 实战篇
python·markdown·sphinx·文档构建
青松@FasterAI1 小时前
【程序员 NLP 入门】词嵌入 - 上下文中的窗口大小是什么意思? (★小白必会版★)
人工智能·自然语言处理
AIGC大时代1 小时前
高效使用DeepSeek对“情境+ 对象 +问题“型课题进行开题!
数据库·人工智能·算法·aigc·智能写作·deepseek
硅谷秋水1 小时前
GAIA-2:用于自动驾驶的可控多视图生成世界模型
人工智能·机器学习·自动驾驶
偶尔微微一笑1 小时前
AI网络渗透kali应用(gptshell)
linux·人工智能·python·自然语言处理·编辑器
深度之眼2 小时前
2025时间序列都有哪些创新点可做——总结篇
人工智能·深度学习·机器学习·时间序列