通过Python编程语言实现“机器学习”小项目教程案例

发布于:2025-02-15 ⋅ 阅读:(17) ⋅ 点赞:(0)

以下是一些基于 Python 的机器学习实战项目案例,涵盖从数据预处理到模型训练和评估的完整流程。这些项目适合初学者和进阶学习者,帮助你快速上手并应用机器学习技术。

1. 鸢尾花分类项目

项目描述

使用鸢尾花数据集(Iris dataset)训练一个分类模型,预测鸢尾花的种类。

实现步骤
  1. 数据加载与预处理
  2. 模型训练
  3. 模型评估
代码实现

Python复制

import pandas as pd
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score

# 加载数据
iris = load_iris()
df = pd.DataFrame(data=iris.data, columns=iris.feature_names)
df['target'] = iris.target

# 数据预处理
X = df.drop('target', axis=1)
y = df['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 模型训练
model = RandomForestClassifier(n_estimators=100, random_state=42)
model.fit(X_train, y_train)

# 模型评估
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy:.2f}")

2. 房价预测项目

项目描述

使用波士顿房价数据集(Boston Housing dataset)训练一个回归模型,预测房价。

实现步骤
  1. 数据加载与预处理
  2. 模型训练
  3. 模型评估
代码实现

Python复制

import pandas as pd
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

# 加载数据
boston = load_boston()
df = pd.DataFrame(data=boston.data, columns=boston.feature_names)
df['target'] = boston.target

# 数据预处理
X = df.drop('target', axis=1)
y = df['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 模型训练
model = LinearRegression()
model.fit(X_train, y_train)

# 模型评估
y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
print(f"Mean Squared Error: {mse:.2f}")

3. 手写数字识别项目

项目描述

使用 MNIST 数据集训练一个分类模型,识别手写数字。

实现步骤
  1. 数据加载与预处理
  2. 模型训练
  3. 模型评估
代码实现

Python复制

import pandas as pd
from sklearn.datasets import fetch_openml
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score

# 加载数据
mnist = fetch_openml('mnist_784', version=1)
df = pd.DataFrame(data=mnist.data, columns=[f'pixel_{i}' for i in range(784)])
df['target'] = mnist.target

# 数据预处理
X = df.drop('target', axis=1)
y = df['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 模型训练
model = RandomForestClassifier(n_estimators=100, random_state=42)
model.fit(X_train, y_train)

# 模型评估
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy:.2f}")

4. 情感分析项目

项目描述

使用 IMDb 电影评论数据集训练一个文本分类模型,判断评论的情感(正面或负面)。

实现步骤
  1. 数据加载与预处理
  2. 模型训练
  3. 模型评估
代码实现

Python复制

import pandas as pd
from sklearn.datasets import load_files
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import accuracy_score

# 加载数据
data = load_files('path/to/imdb_reviews', categories=['pos', 'neg'])
df = pd.DataFrame(data.data, columns=['text'])
df['target'] = data.target

# 数据预处理
X = df['text']
y = df['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 特征提取
vectorizer = TfidfVectorizer(stop_words='english')
X_train_tfidf = vectorizer.fit_transform(X_train)
X_test_tfidf = vectorizer.transform(X_test)

# 模型训练
model = MultinomialNB()
model.fit(X_train_tfidf, y_train)

# 模型评估
y_pred = model.predict(X_test_tfidf)
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy:.2f}")

5. 客户流失预测项目

项目描述

使用客户数据集训练一个分类模型,预测客户是否会流失。

实现步骤
  1. 数据加载与预处理
  2. 模型训练
  3. 模型评估
代码实现

Python复制

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score

# 加载数据
df = pd.read_csv('path/to/customer_churn.csv')

# 数据预处理
X = df.drop('Churn', axis=1)
y = df['Churn']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 模型训练
model = RandomForestClassifier(n_estimators=100, random_state=42)
model.fit(X_train, y_train)

# 模型评估
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy:.2f}")

总结

通过上述项目案例,你可以快速上手并应用机器学习技术。这些项目涵盖了从数据预处理到模型训练和评估的完整流程,适合初学者和进阶学习者。希望这些代码和解释能帮助你更好地理解和实现自己的机器学习项目。