python sklearn库实现简单逻辑回归的实例代码攻略
什么是逻辑回归
逻辑回归一般用于预测某个事物出现的可能性。如果把逻辑回归看成房屋,那么我们的目标就是通过已知的一些特征(比如卧室数量、房屋面积、位置等)来判断该房屋是否会被买走(或者换种说法,就是想预测该房屋被买的概率)。逻辑回归中的因变量是二元的(例如买或不买、是或否等),所以适合用来做二分类。
sklearn库的使用
scikit-learn(简称sklearn)是一个免费的机器学习库,用于Python编程语言。它被设计为与NumPy、SciPy和matplotlib一起使用,为机器学习任务提供基础算法。在scikit-learn库中,我们可以用很少的代码实现逻辑回归算法。
代码示例
在下面的示例中,我们将使用sklearn库来实现逻辑回归。首先,我们需要导入一些相关的库:
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_breast_cancer
from sklearn.metrics import accuracy_score
然后,我们需要加载已经准备好的数据集。这里我们使用了经典的乳腺癌数据集,在sklearn.datasets中内置有这个数据集。
data = load_breast_cancer()
X = data.data
y = data.target
接着,我们将数据集拆分成训练数据和测试数据。这里我们采用了随机拆分的方式,其中训练数据占用了80%,测试数据占用了20%。
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
之后,我们就可以建立逻辑回归模型并进行训练。
logreg = LogisticRegression()
logreg.fit(X_train, y_train)
最后,我们可以使用训练出来的模型对测试数据进行预测,并计算准确率。
y_pred = logreg.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy: {:.2f}%".format(accuracy * 100))
我们也可以通过输出的准确率来判断我们训练出来的模型的预测效果。上面的代码中,我们使用了sklearn中的LogisticRegression()函数来完成逻辑回归模型的建立,使用train_test_split()函数进行数据拆分,使用accuracy_score()函数来计算模型的准确率。
下面再展示一下一个基于鸢尾花数据集的逻辑回归实例代码:
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[:, :2]
y = iris.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
logreg = LogisticRegression()
logreg.fit(X_train, y_train)
y_pred = logreg.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy: {:.2f}%".format(accuracy * 100))
通过运行这段代码,我们可以发现,使用逻辑回归算法在鸢尾花数据集上,可以构建一个简单的分类器,其准确率可以达到87%左右。
以上就是python sklearn库实现简单逻辑回归的实例代码攻略,介绍了逻辑回归的相关知识,以及如何使用sklearn库来建立模型、进行训练和预测的过程。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python sklearn库实现简单逻辑回归的实例代码 - Python技术站