logistic回归模型python_python的sklearn模块实践一下Logistic回归模型

下面通过python的sklearn模块实践一下Logistic回归模型。

(4.1)Logistic回归模型的函数及参数如下所示:

import sklearn

sklearn.linear_model.LogisticRegression(penalty='l2',

dual=False, tol=0.0001, C=1.0, fit_intercept=True,

intercept_scaling=1, class_weight=None,

random_state=None, solver='liblinear', max_iter=100,

multi_class='ovr', verbose=0, warm_start=False, n_jobs=1)

(4.2)LogisticRegression类的常用方法如下所示:

fit(X, y, sample_weight=None)

拟合模型,用来训练LR分类器,其中X是训练样本,y是对应的标记向量;

返回对象,self;

fit_transform(X, y=None, **fit_params)

fit与transform的结合,先fit后transform。返回X_new:numpy矩阵;

predict(X)

用来预测样本,也就是分类,X是测试集。返回array;

predict_proba(X)

输出分类概率。返回每种类别的概率,按照分类类别顺序给出。如果是多分类问题,multi_class="multinomial",则会给出样本对于每种类别的概率;

返回array-like;

score(X, y, sample_weight=None)

返回给定测试集合的平均准确率(mean accuracy),浮点型数值;

对于多个分类返回,则返回每个类别的准确率组成的哈希矩阵;

(4.3)实战

(4.3.1)加载模块

import numpy as np

from sklearn import linear_model, datasets

from sklearn.model_selection import train_test_split

(4.3.2)加载数据集

# 2. 加载数据

iris = datasets.load_iris()

x_data = iris.data

y_label = [1 if i>=1 else 0 for i in iris.target]

print("x_data: \n", x_data[:10])

print("\n")

print("label_data: \n",y_label[:10])

x_data数据有4个特征,y的值有两类(0和1);

(4.3.3)拆分数据集为:训练集和测试集

# 3. 拆分数据集

X_train, X_test, Y_train, Y_test = train_test_split(x_data, y_label, test_size=0.3, random_state=0)

(4.3.4)训练模型

# 4. 训练逻辑回归模型

log_reg = linear_model.LogisticRegression()

log_reg.fit(X_train, Y_train)

(4.3.5)在测试数据集上预测效果

# 5. 预测

test_data_proba = log_reg.predict_proba(X_test)

accuracy = log_reg.score(X_test, Y_test)

print("test data proba value: \n", test_data_proba[:10])

print("\n"*2)

print("test data true value: \n", Y_test[:10])

print("\n"*2)

print("test data accuracy is :", accuracy)

结果如下所示:

(a)预测的概率值,第一列为预测为0的概率,第二列预测为1的概率;

(b)可以看到Logistic模型的效果还不错哦,在测试集上的准确率为100%。

原文链接:https://blog.csdn.net/wdh315172/article/details/106580303

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值