分类问题: 1) 本质:决策面(decision surface)2)评估分类算法的指标,正确率=正确分类个数/总数
二分分类:逻辑回归输入:训练数据的特征和标签--->>>模型:逻辑回归---->>>输出:分类结果
什么是逻辑函数?
在0到1之间取值,逻辑回归是因为参数是逻辑函数
逻辑的数值:表示分类结果是1是Y的结果
决策面:大于等于0.5 或 小于0.5
3.Python的逻辑回归分类做法建立数据集
from collections import OrderedDict
import pandas as pd
#数据集
examDict={
'学习时间':[0.50,0.75,1.00,1.25,1.50,1.75,1.75,2.00,2.25,2.50,
2.75,3.00,3.25,3.50,4.00,4.25,4.50,4.75,5.00,5.50],
'通过考试':[0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,1,1,1,1,1]
}
examOrderDict=OrderedDict(examDict)
examdf=pd.DataFrame(examOrderDict)
examdf.head()from collections import OrderedDict
import pandas as pd提取特征和标签
#特征features
exam_x=examdf.loc[:,'学习时间']
#标签labels
exam_y=examdf.loc[:,'通过考试']绘制散点图
import matplotlib.pyplot as plt
#散点图
plt.scatter(exam_x,exam_y,color="b", label="exam data")
#添加图标标签
plt.xlabel("Hours")
plt.ylabel("Pass")
#显示图像
plt.show()
建立训练数据集和测试数据集
from sklearn.model_selection import train_test_split
#建立训练数据和测试数据
x_train, x_test,y_train, y_test=train_test_split(exam_x,
exam_y,
train_size=.8)
#输出数据大小
print('原始数据特征:',exam_x.shape ,
',训练数据特征:', x_train.shape ,
',测试数据特征:',x_test.shape )
print('原始数据标签:',exam_y.shape ,
'训练数据标签:', y_train.shape ,
'测试数据标签:' ,y_test.shape)
Output:
原始数据特征: (20,) ,训练数据特征: (16,) ,测试数据特征: (4,)
原始数据标签: (20,) 训练数据标签: (16,) 测试数据标签: (4,)
#绘制散点图
import matplotlib.pyplot as plt
#散点图
plt.scatter(x_train, y_train, color="blue",label="train data")
plt.scatter(x_test, y_test, color="red",label="test data")
#添加图标标签
plt.legend(loc=2)
plt.xlabel("Hours")
plt.ylabel("Pass")
#显示图像
plt.show()评估模型(用测试数据)
#评估模型:准确率
model.score(x_test,y_test)
0.75逻辑函数
#获取概率值
#第1个值是标签为0的概率值,第2个值是标签为1的概率值
model.predict_proba(4)
array([[0.27173471, 0.72826529]])
#预测数据:使用模型的predict方法可以进行预测。
我们输入学生的特征学习时间4小时,模型返回结果标签是1,就代表预测该学生未通过考试。
pred=model.predict([[4]])
print(pred)
[1]这个预测值是如何得到的?运用逻辑回归函数展示一下
import numpy as np
#第1步:得到回归方程的z值(假设我们X=4,即4个小时)
#回归方程:z= + x
#截距
a=model.intercept_
#回归系数
b=model.coef_
x=4
z=a+b*x
#第2步:将z值带入逻辑回归函数中,得到概率值(预测是1的概率)
y_pred=1/(1+np.exp(-z))
print('预测的概率值:',y_pred)
预测的概率值: [[0.72826529]]
与之前的预测概率值是吻合的!
4.分类和回归有什么区别?
首先要有3种数据类型
1.数值数据(定量数据)--离散数据,连续数据
2.分类数据(定性数据)
3.时间序列数据
5. 总结