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%。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值