📜  Scikit学习-线性建模(1)

📅  最后修改于: 2023-12-03 14:47:18.302000             🧑  作者: Mango

Scikit学习-线性建模

Scikit-learn是一个流行的Python机器学习库,支持多种机器学习算法,并提供易于使用的接口和工具。

本文将集中探讨Scikit-learn中的线性建模算法。

什么是线性建模?

线性建模是一种基于线性假设的建模方法,认为变量之间的关系可以表示为线性方程。这种建模方法最初主要用于回归分析,但现在也广泛用于分类问题。

线性建模的重点是寻找最佳拟合直线,以最小化残差平方和。在二维情况下,可以用一条直线来拟合数据。在高维情况下,可以用一个超平面来拟合数据。

Scikit-learn中的线性建模算法

Scikit-learn中最常用的线性建模算法是线性回归和逻辑回归。

线性回归

线性回归是一种基本的回归分析方法,用于建立一个线性方程来预测因变量的值。假设我们有一个因变量y和一个或多个自变量x,线性回归的目标是找到一个线性方程来最小化残差平方和。

接下来,我们将使用Scikit-learn的线性回归模型来预测波士顿房价数据集中的房价。

from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

# 加载数据集
boston = load_boston()

# 特征和目标变量
X = boston.data
y = boston.target

# 拟合模型
model = LinearRegression()
model.fit(X, y)

# 预测
y_pred = model.predict(X)

# 计算均方误差
mse = mean_squared_error(y, y_pred)
print("均方误差:", mse)

输出:

均方误差: 21.894831181729202
逻辑回归

逻辑回归是一种用于分类问题的线性建模算法。它使用sigmoid函数将线性方程映射到0和1之间的值,以预测目标变量的概率。

在接下来的例子中,我们将使用逻辑回归对鸢尾花进行分类。

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

# 加载数据集
iris = load_iris()

# 特征和目标变量
X = iris.data
y = iris.target

# 划分训练和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

# 拟合模型
model = LogisticRegression()
model.fit(X_train, y_train)

# 预测
y_pred = model.predict(X_test)

# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print("准确率:", accuracy)

输出:

准确率: 1.0
总结

本文探讨了Scikit-learn中的线性建模算法,包括线性回归和逻辑回归。线性建模是一种基于线性假设的建模方法,它被广泛应用于回归分析和分类问题。Scikit-learn提供了易于使用的接口和工具,使线性建模变得更加容易。