我的机器学习--逻辑回归

该文展示了如何利用Python的sklearn库中的LogisticRegression模型对鸢尾花数据集的第四列数据进行二分类和多分类任务。在二分类中,将目标变量2标记为1,其余为0;在多分类中,保留3个类别。模型训练后,分别预测测试集并输出预测结果和概率。
摘要由CSDN通过智能技术生成

1.二分类

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.linear_model import LogisticRegression
iris=datasets.load_iris()
X=iris['data'][:,3:]
#原本的data有4列数据,只取最后一列
y=(iris['target']==2).astype(np.int)
#原本的target中只含有0,1,2,表示3种类别,将为2的标注为1,其余为0
lr=LogisticRegression()
lr.fit(X,y)
x_test=np.linspace(0,3,100).reshape(100,1)
y_pred=lr.predict(x_test)
print(y_pred)
"""
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]
"""
y_pro=lr.predict_proba(x_test)
print(y_pro)
"""
属于0和属于1的概率
[[9.99250016e-01 7.49984089e-04]
 [9.99144871e-01 8.55129018e-04]
 [9.99025000e-01 9.75000485e-04]
 [9.98888343e-01 1.11165677e-03]
 ........
"""

2.多分类

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.linear_model import LogisticRegression
iris=datasets.load_iris()
X=iris['data'][:,3:]
#原本的data有4列数据,只取最后一列
y=iris['target']
#原本的target中只含有0,1,2,表示3种类别
lr=LogisticRegression()
lr.fit(X,y)
x_test=np.linspace(0,3,100).reshape(100,1)
y_pred=lr.predict(x_test)
print(y_pred)
"""
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2]
"""
y_pred_pro=lr.predict_proba(x_test)
print(y_pred_pro)
"""
属于0,1,2的概率
[[9.67660990e-01 3.23050060e-02 3.40043474e-05]
 [9.63252635e-01 3.67035398e-02 4.38250330e-05]
 [9.58268505e-01 4.16750483e-02 5.64468999e-05]
 [9.52640632e-01 4.72867156e-02 7.26528769e-05]
"""

3.评估

#返回一个0-1的数
lr.score(x_test,y_test)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值