Python中做logistic回归模型

Python与算法 Haran 9年前 (2016-06-10) 7706次浏览 0个评论

data1 是40名癌症病人的一些生存资料,其中,X1表示生活行动能力评分(1~100),X2表示病人的年龄,X3表示由诊断到直入研究时间(月);X4表示肿瘤类型,X5把ISO两种疗法(“1”是常规,“0”是试验新疗法);Y表示病人生存时间(“0”表示生存时间小于200天,“1”表示生存时间大于或等于200天)

试建立Y关于X1~X5的logistic回归模型

读入数据做数据清洗和特征选择

# -*- coding: utf-8 -*-
import pandas as pd
from sklearn.linear_model import LogisticRegression as LR
from sklearn.linear_model import RandomizedLogisticRegression as RLR

data1=pd.read_table(r'C:/Users/Administrator/Desktop/data1.txt',sep='\s+',
	encoding='gbk',usecols=(1,2,3,4,5,6))
X=data1.iloc[:,:5].as_matrix()
y=data1.iloc[:,5].as_matrix()

#特征筛选
rlr=RLR()
rlr.fit(X,y)
print(rlr.get_support())
print(u'通过随机逻辑回归模型筛选特征结束。')

Python中做logistic回归模型
用随机逻辑回归用于特征筛选,可以看到只有x1 符合

将x1做逻辑回归

#建议逻辑回归模型
lr=LR()
x=data1.iloc[:,:1].as_matrix()
lr.fit(x,y)
print('模型建立结束')
print('模型平均正确率:{0}'.format(lr.score(x,y)))

Python中做logistic回归模型
可以看到模型正确率达到75%。


如有疑问,可以在文章底部留言或邮件(haran.huang@ichdata.com) 我~
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址