跳转到内容

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机器学习基础涵盖了从数据预处理到模型训练的完整流程。通过实际案例,读者可以快速掌握如何应用机器学习算法解决现实问题。下一步可深入学习深度学习或优化模型性能(如超参数调优)。

模板:编程学习导航