零基础入门机器学习 -- 第二章机器学习的基本流程

1. 机器学习的五个基本步骤

在机器学习项目中,我们通常遵循以下步骤:

  1. 收集数据:获取数据集,例如从文件、数据库或在线资源。
  2. 清洗和预处理数据:处理缺失值、去除异常数据、转换数据格式等。
  3. 选择合适的模型:不同任务适合不同模型,如分类使用逻辑回归、决策树等。
  4. 训练模型:让模型从数据中学习模式并调整参数。
  5. 评估模型:检查模型的准确率,以判断效果是否良好。

本章会通过电影评分预测的示例,帮助你快速体验从数据到模型的基本流程


2. 收集数据

在机器学习中,数据是最重要的部分。我们将使用一个包含电影评分的数据集,该数据集包含:

  • movie_id:电影编号
  • title:电影名称
  • genre:电影类型
  • user_id:用户编号
  • rating:用户评分(1-5分)

代码示例:用 Python 读取 CSV 文件

import pandas as pd

# 读取数据集
df = pd.read_csv("movies_ratings_large.csv")

# 显示前五行数据
print(df.head())

示例输出:

   movie_id                     title      genre  user_id  rating  timestamp
0        13                     Se7en     Action      388       1  964991352
1        12  The Silence of the Lambs      Crime     2454       1  964990251
2         8                 Inception     Sci-Fi      898       4  964996841
3        10                The Matrix  Adventure     4210       2  964991636
4        14              Interstellar    History     1135       1  964986006

3. 清洗和预处理数据

现实数据通常包含缺失值重复数据格式问题,我们需要清理数据,确保数据质量。

代码示例:数据清理

# 检查缺失值
print(df.isnull().sum())

# 删除包含缺失值的行
df = df.dropna()

# 删除重复数据
df = df.drop_duplicates()

print("数据清理完成!")

4. 选择模型

我们要预测用户是否会给电影评分 4 及以上

  • 评分 4 或 5喜欢(1)
  • 评分 1, 2, 3不喜欢(0)

因为这是一个二分类问题(喜欢 / 不喜欢),我们选择逻辑回归模型,它适用于简单的分类任务


5. 训练和测试

模型训练就是让计算机从数据中找到模式,然后用于预测。

代码示例:简单的模型训练

from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression

# 处理数据:将评分转换为二分类
df['liked'] = df['rating'].apply(lambda x: 1 if x >= 4 else 0)

# 选择特征和目标变量
X = df[['movie_id']]  # 这里仅用 movie_id 作为特征,后续章节会介绍更好的方法
y = df['liked']

# 拆分数据集
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)

print("模型训练完成!")

6. 评估模型

在真实应用中,我们会使用准确率、混淆矩阵、F1 分数等指标评估模型质量。但是在本章,我们先简单使用准确率,后面章节会详细讲解如何真正评估一个机器学习模型

代码示例:评估模型准确率

from sklearn.metrics import accuracy_score

# 让模型在测试集上做预测
y_pred = model.predict(X_test)

# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print(f"模型准确率: {accuracy:.2f}")

示例输出:

模型准确率: 0.62

7. 本章总结

机器学习的五个基本步骤:数据 → 预处理 → 选择模型 → 训练 → 评估
代码示例:使用 Python 读取 CSV 数据、清洗数据、训练一个简单的逻辑回归模型
模型训练和评估:只是简单演示,后续章节会更详细讲解!


8. 课后练习

  1. 修改特征
    • 目前我们只用 movie_id 作为特征,尝试加入 genre,看看效果如何?
  2. 使用不同的分类模型
    • LogisticRegression() 之外,尝试 DecisionTreeClassifier()
      from sklearn.tree import DecisionTreeClassifier
      model = DecisionTreeClassifier()
      model.fit(X_train, y_train)
      
  3. 绘制数据分布
    • matplotlib 画出电影评分的柱状图,看看数据是如何分布的:
      import matplotlib.pyplot as plt
      df['rating'].hist(bins=5)
      plt.xlabel('评分')
      plt.ylabel('数量')
      plt.title('电影评分分布')
      plt.show()
      

后续章节预告

本章只是让你快速体验整个机器学习流程,不要求完全理解每一步。在后续章节,我们会详细介绍:

  • 机器学习模型的选择(分类 vs 回归)
  • 数据处理和特征工程
  • 如何提高模型的预测准确率
  • 如何优化和调优模型

下一章(第 3 章)将介绍线性回归,用于数值预测任务!

你可能感兴趣的:(#,机器学习,机器学习,python,人工智能)