LogisticRegression中文叫做邏輯回歸,是一種基礎、常用的分類方法。
2018年8月24日筆記
1.資料集
Iris(鸢尾花)資料集是多重變量分析的資料集。
資料集包含150行資料,分為3類,每類50行資料。
每行資料包括4個屬性:Sepal Length(花萼長度)、Sepal Width(花萼寬度)、Petal Length(花瓣長度)、Petal Width(花瓣寬度)。可通過這4個屬性預測鸢尾花屬于3個種類的哪一類。
樣本資料局部截圖:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuczY4IGMyQGO0IGOkdDOjJDZldDZllTMlBDNwQGOyQmNfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)
Iris.png
擷取150個樣本資料的3種方法:
1.完整的樣本資料Iris.csv檔案下載下傳連結:
https://pan.baidu.com/s/16N0ivGWFrmc73ustPLWPZA密碼: ugun
2.資料集連結:
https://gist.github.com/curran/a08a1080b88344b0c8a73.在sklearn的skleanrn庫中自帶了iris資料集,可以導入sklearn庫的datasets檔案,調用datasets檔案中的load_iris方法就可以獲得iris資料集。
本文采用的是第3種方法,直接從sklearn庫中擷取資料。
2.觀察資料
鸢尾花資料集詳細中文解釋連結:
http://sklearn.apachecn.org/cn/0.19.0/datasets/index.html#iris網頁中内容如下圖所示:
image.png
檢視資料集對象的屬性和方法,代碼如下:
from sklearn.datasets import load_iris
dir(load_iris())
上面一段代碼的運作結果如下:
['DESCR', 'data', 'feature_names', 'target', 'target_names']
檢視資料集的描述,即列印資料集對象的DESCR屬性,代碼如下:
from sklearn.datasets import load_iris
print(load_iris().DESCR)
與上圖中文文檔的圖對照閱讀,可以加強對資料集的了解。
上面一段代碼的運作結果如下圖所示:
将150個樣本4個特征組成的矩陣指派給變量X,變量X為大寫字母的原因是數學中表示矩陣使用大寫字母。
将150個樣本1個預測目标值組成的矩陣指派給變量y。
載入資料集的代碼如下:
from sklearn.datasets import load_iris
X = load_iris().data
y = load_iris().target
3.邏輯回歸模型
利用交叉驗證方法得出模型得分。
代碼如下:
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import ShuffleSplit
logisticRegression_model = LogisticRegression()
cv_split = ShuffleSplit(n_splits=5, train_size=0.7, test_size=0.2)
score_ndarray = cross_val_score(logisticRegression_model, X, y, cv=cv_split)
print(score_ndarray)
score_ndarray.mean()
交叉驗證.png