import pandas as pd import os os.chdir(u'E:\內網通得東西\練習4') #參數初始化 filename = 'bankloan.xls' data = pd.read_excel(filename) x = data.iloc[:,:8].as_matrix() y = data.iloc[:,8].as_matrix() from sklearn.linear_model import LogisticRegression as LR from sklearn.linear_model import RandomizedLogisticRegression as RLR rlr = RLR() #建立隨機邏輯回歸模型,篩選變量 rlr.fit(x, y) #訓練模型 rlr.get_support() #獲取特征篩選結果,也可以通過.scores_方法獲取各個特征的分數 print(u'通過隨機邏輯回歸模型篩選特征結束。') print(u'有效特征為:%s' % ','.join(data.columns[rlr.get_support()])) x = data[data.columns[rlr.get_support()]].as_matrix() #篩選好特征 lr = LR() #建立邏輯回歸模型 lr.fit(x, y) #用篩選后的特征數據來訓練模型 print(u'邏輯回歸模型訓練結束。') print(u'模型的平均正確率為:%s' % lr.score(x, y)) #給出模型的平均正確率,本例為81.4%