Sklearn中的监督学习全览:从线性回归到SVM

在机器学习的广阔领域中,监督学习占据着举足轻重的地位,它通过已标记的数据集学习输入与输出之间的映射关系,进而对未知数据进行预测。scikit-learn(简称sklearn)作为Python中最受欢迎的机器学习库之一,提供了丰富的监督学习算法。本篇文章将带您深入探索sklearn中的监督学习世界,从简单的线性回归到复杂的支撑向量机(SVM),并通过实战代码示例,让您对这些算法有更直观的理解。

1. 线性回归(Linear Regression)

线性回归是最基本的监督学习算法之一,用于预测连续数值型变量。它试图找到一个线性模型,使所有数据点到该直线的垂直距离之和最小。

代码示例

from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.datasets import make_regression

# 生成模拟数据
X, y = make_regression(n_samples=100, n_features=1, noise=0.1)

# 划分训练集和测试集
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)

# 打印预测结果
print("预测结果:", y_pred[:5])
2. 逻辑回归(Logistic Regression)

尽管名字中含有“回归”,逻辑回归实际上是一个分类算法,适用于二分类问题。它通过Sigmoid函数将线性模型的输出转换为概率。

代码示例

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

# 加载数据集
data = load_iris()
X, y = data.data, data.target

# 仅使用前两列特征和前100个样本进行演示
X, y = X[:100, :2], y[:100]

# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 训练逻辑回归模型
logreg = LogisticRegression(max_iter=10000)
logreg.fit(X_train, y_train)

# 预测
predictions = logreg.predict(X_test)

# 打印预测结果
print("预测类别:", predictions)
3. 支撑向量机(Support Vector Machines, SVM)

SVM是一种强大的分类和回归算法,通过寻找最大边界(margin)来划分数据。对于非线性可分数据,SVM可通过核技巧映射到高维空间进行处理。

代码示例

from sklearn import datasets
from sklearn.svm import SVC
from sklearn.preprocessing import StandardScaler

# 加载鸢尾花数据集
iris = datasets.load_iris()
X, y = iris.data, iris.target

# 数据预处理,标准化
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

# 训练SVM模型,这里使用RBF核
svm = SVC(kernel='rbf', C=1, gamma='scale')
svm.fit(X_scaled, y)

# 预测
predictions = svm.predict(X_scaled[:5])

# 打印预测结果
print("预测类别:", predictions)
总结

通过上述代码示例,我们简要介绍了sklearn中三种典型的监督学习算法:线性回归、逻辑回归和支撑向量机。每种算法都有其独特的应用场景和优势,选择合适的模型对于解决实际问题至关重要。sklearn以其简洁的API设计和丰富的功能,成为学习和应用监督学习的理想工具。希望本文能为您在机器学习的探索之旅中提供有价值的参考。在实践中,还需根据具体问题进一步调整模型参数,采用交叉验证、网格搜索等方法优化模型性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr' 郑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值