机器学习中的逻辑回归
·
接着继续学习后面的逻辑回归,逻辑回归的核心是预测“属于某个类别的概率”。它先像线性回归一样,把输入特征进行线性组合z=w1x1+w2x2+bz=w1x1+w2x2+b,算出一个个具体的数值;逻辑回归引入了一个Sigmoid函数,这个函数会把任何数值都“挤压”到0到1之间,变成一个概率值。如果概率 ≥0.5,预测为类别“1”;如果 <0.5,预测为类别“0”。
下面做了一个实践,在向银行贷款,银行会根据你的相关信息判断你能否贷款。
首先,读取脱敏后的信贷数据,利用 StandardScaler 对 Amount 金额特征进行 Z-score 标准化以消除量纲影响,同时剔除 Time 时间戳列以避免冗余干扰;
scaler = StandardScaler() #实例化 标准化 对象scaler data['Amount'] = scaler.fit_transform(data[['Amount']]) #将计算后的标准差 存入data中 data =data.drop(['Time'],axis=1)
其次,通过 matplotlib 绘制类别频数柱状图,直观验证了数据集中正负样本分布极度不均衡的现状;随后,调用 train_test_split 按训练集占 30% 的比例对原始特征与标签进行切分;
最后,实例化逻辑回归模型(设定正则化强度 C=0.01)进行建模,将训练集传入 fit() 方法进行权重学习,并利用未见过的测试集进行预测与性能评估,输出准确率约为 0.9991。
from sklearn.linear_model import LogisticRegression #逻辑回归的类,所有的算法都封装在这个类里面。 lr = LogisticRegression(C=0.01) #先调用这个类创建一个逻辑回归对象lr C=0.001 0.01 0.1 1 10 100 1000 lr.fit(x_train_w,y_train_w)
代码运行的结果如下所示。

更多推荐
所有评论(0)