Logistic分類實戰(zhàn)

? ? ? ? ?Logistic分類是一種很經(jīng)典的線性分類器,現(xiàn)在參考《機器學(xué)習(xí)及實踐》使用它來練習(xí)一下。案例就是很經(jīng)典的“良/惡性乳腺癌預(yù)測”,使用的是python3.6,編輯器是pycharm,用的是anaconda的環(huán)境,各種包賊齊全賊方便。廢話不多說,代碼如下:

import?pandas?as?pd

import?numpy?as?np

#---------數(shù)據(jù)預(yù)處理

colume_names=['Sample code number','Clump Thickness','Uniformity of Cell Size','Uniformity of Cell Shape','Marginal Adhesion','Single Epithelial CellSize','Bare Nuclei','Bland Chromatin','Normal Nucleoli','Mitoses','Class']

data=pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/breast-cancer-wisconsin.data',names=colume_names)

data=data.replace(to_replace='?',value=np.nan)

data=data.dropna(how='any')#print(data.shape)

#---------訓(xùn)練集、測試集劃分,隨機選取,訓(xùn)練集占75%

fromsklearn.cross_validationimporttrain_test_split

X_train,X_test,y_train,y_test=train_test_split(data[colume_names[1:10]],data[colume_names[10]],test_size=0.25,random_state=33)print(y_train.value_counts())print(y_test.value_counts())

#random_state是指隨機數(shù)生成種子

#---------訓(xùn)練模型

from?sklearn.preprocessing?import?StandardScaler

from?sklearn.linear_model?import?LogisticRegression

#---------標準化數(shù)據(jù)

ss=StandardScaler()

X_train=ss.fit_transform(X_train)

X_test=ss.transform(X_test)

#---------初始化LogisticRegression與訓(xùn)練模型

lr=LogisticRegression()

lr.fit(X_train,y_train)

lr_y_predict=lr.predict(X_test)

#--------性能分析

from?sklearn.metrics?import?classification_report

print('Accurracy of LR Classifier:',lr.score(X_test,y_test))

xnfx=classification_report(y_test,lr_y_predict,target_names=['Benign','Malignant'])

print(xnfx)

性能分析如下:


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容