#使用线性分类模型从事良、恶性肿瘤任务分析
#标准化数据
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.linear_model import SGDClassifier
#保证每个维度的特征数据方差为1,均值为0.使得预测结果不会被某些维度过大的特征值而主导。
ss=StandardScaler()
X_train=ss.fit_transform(X_train)
X_test= ss.transform(X_test)
#初始化两个函数体(类)
lr=LogisticRegression()
sgdc=SGDClassifier()
lr.fit(X_train,y_train) #使用逻辑斯蒂函数的fit用来训练模型参数
lr_y_predict=lr.predict(X_test) #使用训练好的模型lr对X_test进行预测,结果存储在变量lr..中
print lr_y_predict
print '-=+_-=+_-=+_-=+_-=+_-=+_-=+_'
sgdc.fit(X_train,y_train) #调用SGDClassifier(随机梯度下模型)的fit函数/模块用来训练模型参数
sgdc_y_predict=sgdc.predict(X_test)
print sgdc_y_predict
#使用线性分类模型从事良恶性肿瘤预测任务的性能分析
from sklearn.metrics import classification_report
#使用逻辑斯蒂回归模型自带的评分函数score获得模型在测试集上的准确性结果
print 'Accuracy of LR Classifier: ',lr.score(X_test,y_test)
#利用Classification_report模块获得LogisticRegression其他的三个指标的结果
print classification_report(y_test,lr_y_predict,target_names=['Benign','Malignant'])
#使用随机梯度下降模型自带的评分函数score获得模型在测试集上的准确性结果。
print 'Accuarcy of SGD Classifier: ',sgdc.score(X_test,y_test)
#利用classification_report获得SGDClassifier其他三个指标的结果。
print classification_report(y_test,sgdc_y_predict,target_names=['Benign','Malignant'])