机器学习算法基础——逻辑回归

45.模型的保存与加载

sklearn模型的保存和加载

from sklearn.externals import joblib

保存和加载API

  • joblib.dump(rf,"")
  • estimator = joblib.load("")

46.逻辑回归定义,损失函数,优化与线性回归比较

逻辑回归

机器学习算法基础——逻辑回归_第1张图片

逻辑回归是解决二分类问题的利器

逻辑回归输入:ℎ(w)= w0+w1x1+w2x2+…= w^Tx (单个样本)

sigmoid函数

机器学习算法基础——逻辑回归_第2张图片

 机器学习算法基础——逻辑回归_第3张图片

z是线性回归的结果

机器学习算法基础——逻辑回归_第4张图片

机器学习算法基础——逻辑回归_第5张图片机器学习算法基础——逻辑回归_第6张图片

机器学习算法基础——逻辑回归_第7张图片机器学习算法基础——逻辑回归_第8张图片

47.逻辑回归预测癌症案例 

sklearn逻辑回归API

sklearn.linear_model.LogisticRegression(penalty=‘l2’, C = 1.0) 正则化

  • Logistic回归分类器
  • coef_:回归系数 

哪一个类别少,判定概率值是指的这个类别(正例)

import pandas as pd
from sklearn.datasets import load_boston
from sklearn.linear_model import  LinearRegression,SGDRegressor,Ridge,LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import mean_squared_error,classification_report
import numpy as np
def logistic():
    #构造列标签
    column = ['Sample code number', 'Clump Thickness', 'Uniformity of Cell Size','Uniformity of Cell Shape','Marginal Adhesion','Single Epithelial Cell Size', 'Bare Nuclei', 'Bland Chromatin', 'Normal Nucleoli', 'Mitoses', 'Class']
    #读取数据
    data = pd.read_csv("/Users/zhucan/Desktop/breast-cancer-wisconsin.data",names = column)
    print(data)
    #缺失值进行处理
    data = data.replace(to_replace="?",value=np.nan)
    data = data.dropna()
    #进行数据的分割
    x_train,x_test,y_train,y_test = train_test_split(data[column[1:11]],data[column[10]],test_size=0.25)
    #进行标准化处理
    std = StandardScaler()
    x_train = std.fit_transform(x_train)
    x_test = std.transform(x_test)
    #逻辑回归预测
    lg = LogisticRegression()
    lg.fit(x_train,y_train)

    y_predict = lg.predict(x_test)
    print(lg.coef_)
    print("准确率:",lg.score(x_test,y_test))
    print("召回率:",classification_report(y_test,y_predict,labels=[2,4]))

    return None

if __name__ == "__main__":
    logistic()
[[0.57568161 0.27870827 0.3758946  0.34161897 0.26651849 0.63778989
  0.37634213 0.28674634 0.24737593 3.22984025]]
准确率: 1.0
召回率:               precision    recall  f1-score   support

           2       1.00      1.00      1.00       110
           4       1.00      1.00      1.00        61

    accuracy                           1.00       171
   macro avg       1.00      1.00      1.00       171
weighted avg       1.00      1.00      1.00       171

48.逻辑回归总结

逻辑回归总结

  • 应用:广告点击率预测、电商购物搭配推荐
  • 优点:适合需要得到一个分类概率的场景
  • 缺点:当特征空间很大时,逻辑回归的性能不是很好 (看硬件能力)

机器学习算法基础——逻辑回归_第9张图片

你可能感兴趣的:(算法,sklearn,机器学习)