Python 机器学习基础
外观
简介[编辑 | 编辑源代码]
Python机器学习基础是使用Python编程语言实现机器学习算法的入门指南。机器学习(Machine Learning, ML)是人工智能的子领域,通过从数据中自动学习模式和规律,使计算机能够完成预测或决策任务。Python因其丰富的库(如scikit-learn、TensorFlow、PyTorch)和简洁的语法,成为机器学习的首选语言之一。
本节内容涵盖以下核心概念:
- 机器学习的基本类型(监督学习、无监督学习、强化学习)
- 常用Python库及其功能
- 数据预处理与特征工程
- 模型训练与评估
- 实际案例演示
机器学习类型[编辑 | 编辑源代码]
监督学习[编辑 | 编辑源代码]
监督学习(Supervised Learning)通过已标注的训练数据(输入-输出对)学习模型,用于预测新数据的输出。常见算法包括:
- 线性回归
- 决策树
- 支持向量机(SVM)
无监督学习[编辑 | 编辑源代码]
无监督学习(Unsupervised Learning)从无标注数据中发现隐藏模式。常见算法包括:
- K均值聚类
- 主成分分析(PCA)
强化学习[编辑 | 编辑源代码]
强化学习(Reinforcement Learning)通过与环境交互学习最优策略,例如AlphaGo。
Python机器学习库[编辑 | 编辑源代码]
以下是Python中常用的机器学习库:
- scikit-learn:提供经典机器学习算法的实现。
- TensorFlow/PyTorch:用于深度学习。
- Pandas:数据处理与分析。
- NumPy:数值计算。
数据预处理[编辑 | 编辑源代码]
数据预处理是机器学习的关键步骤,包括:
- 缺失值处理
- 数据标准化(如Z-score标准化)
- 分类变量编码(如One-Hot Encoding)
以下是一个数据标准化的示例:
from sklearn.preprocessing import StandardScaler
import numpy as np
# 示例数据
data = np.array([[1, 2], [3, 4], [5, 6]])
# 标准化
scaler = StandardScaler()
scaled_data = scaler.fit_transform(data)
print("原始数据:\n", data)
print("标准化后数据:\n", scaled_data)
输出:
原始数据: [[1 2] [3 4] [5 6]] 标准化后数据: [[-1.22474487 -1.22474487] [ 0. 0. ] [ 1.22474487 1.22474487]]
模型训练与评估[编辑 | 编辑源代码]
以鸢尾花分类(监督学习)为例,使用scikit-learn训练一个决策树模型:
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 加载数据
iris = load_iris()
X, y = iris.data, iris.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 训练模型
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
# 预测并评估
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print("测试集准确率:", accuracy)
输出:
测试集准确率: 1.0
实际应用案例[编辑 | 编辑源代码]
房价预测[编辑 | 编辑源代码]
使用线性回归预测波士顿房价:
from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
boston = load_boston()
X, y = boston.data, boston.target
model = LinearRegression()
model.fit(X, y)
# 计算均方误差
y_pred = model.predict(X)
mse = mean_squared_error(y, y_pred)
print("均方误差:", mse)
客户分群[编辑 | 编辑源代码]
使用K均值聚类对客户进行分群:
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
# 生成模拟数据
X = np.random.rand(100, 2)
# 聚类
kmeans = KMeans(n_clusters=3)
kmeans.fit(X)
labels = kmeans.labels_
# 可视化
plt.scatter(X[:, 0], X[:, 1], c=labels)
plt.title("K均值聚类结果")
plt.show()
总结[编辑 | 编辑源代码]
Python机器学习基础涵盖了从数据预处理到模型训练的完整流程。通过实际案例,读者可以快速掌握如何应用机器学习算法解决现实问题。下一步可深入学习深度学习或优化模型性能(如超参数调优)。