逻辑斯蒂回归(Logistic Regression)

作者: HeartGo | 来源:发表于2017-03-06 11:25 被阅读313次

    逻辑斯蒂回归

    定义x=<x1,x2,...xn>来表示n维特征向量,权重为w=<w1,w2,...wn>,同时,截距(Intercept)为b。则这种线性关系为:
    f(w,x,b)=w^Tx+b
    在分类问题中,为了使f属于01,设定一个函数,把f映射到01,这个函数就是逻辑斯谛函数。

    逻辑斯蒂函数

    它是一个连续函数,我们可以假设其上的点的值,就是取到其X的概率。在X靠近0的地方,概率较小,这也能说通,因为X=0处,就是Y=0与Y=1交界的地方,在那里容易判断出错,所以概率较小,越偏离0,概率越大。

    代码如下:

    import pandas as pd
    import numpy as np
    
    #创建特征列表
    column_names=['Sample code number','Clump Thickness','Unfoemity of Cell Size','Unfoemity of Cell Shape','Marginal Adhesion','Single Epithelial Cell Size',
                  'Bare Nuclei','Bland Chromatin','Normal Nucleoli','Mitoses','Class']
    data=pd.read_csv('breast-cancer-wisconsin.data',names=column_names)
    #将?替换为标准缺失值表示
    data=data.replace(to_replace='?',value=np.nan)
    #丢弃带有缺失值的数据
    data=data.dropna(how='any')
    print(data.shape)  #输出数据形状
    from sklearn.cross_validation import train_test_split
    
    #分割数据25%用于测试,75%用于训练
    X_train,X_test,Y_train,Y_test=train_test_split(data[column_names[1:10]],data[column_names[10]],test_size=0.25,random_state=33)
    #查看数据分布
    print(Y_train.value_counts())
    print(Y_test.value_counts())
    
    #使用线性分类模型
    from sklearn.preprocessing import  StandardScaler
    from sklearn.linear_model import  LogisticRegression
     
    #标准化数据,保证每个维度的特征数据方差为1,均值为0,使得预测结果不会被某些维度过大的特征值而主导
    ss=StandardScaler()
    X_train=ss.fit_transform(X_train)
    X_test=ss.transform(X_test)
    #初始化 LogisticRegression 
    lr=LogisticRegression()
     
    #训练模型
    lr.fit(X_train,Y_train)
    #使用训练好的模型进行预测
    lr_y_predict=lr.predict(X_test)
     
    #预测的性能分析
    from sklearn.metrics import classification_report
    #使用逻辑斯蒂回归的评分函数score获得模型在测试集的准确性结果
    print('Accurancy of LR Classifier:',lr.score(X_test,Y_test))
    #利用classification_report获得LogisticRession其他三个指标的结果
    print(classification_report(Y_test,lr_y_predict,target_names=['Benign','Malignant']))
    
     
    

    注:数据来自范淼 李超《Python机器学习及实践》清华大学出版社 这本书提供的,链接:https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/breast-cancer-wisconsin.data

    相关文章

      网友评论

        本文标题:逻辑斯蒂回归(Logistic Regression)

        本文链接:https://www.haomeiwen.com/subject/voiygttx.html