# -*- coding: UTF-8 -*-
import numpy as np # 快速操作結構數組的工具
import pandas as pd # 數據分析處理工具
# 樣本數據集,第一列爲x1,第二列爲x2,第三列爲分類(二種類別)
data=[
[-0.017612,14.053064,0],
[-1.395634,4.662541,1],
[-0.752157,6.538620,0],
[-1.322371,7.152853,0],
[0.423363,11.054677,0],
[0.406704,7.067335,1],
[0.667394,12.741452,0],
[-2.460150,6.866805,1],
[0.569411,9.548755,0],
[-0.026632,10.427743,0],
[0.850433,6.920334,1],
[1.347183,13.175500,0],
[1.176813,3.167020,1],
[-1.781871,9.097953,0],
[-0.566606,5.749003,1],
[0.931635,1.589505,1],
[-0.024205,6.151823,1],
[-0.036453,2.690988,1],
[-0.196949,0.444165,1],
[1.014459,5.754399,1]
]
#生成X和y矩陣
dataMat = np.mat(data)
y = dataMat[:,2] # 類別變量
b = np.ones(y.shape) # 添加全1列向量代表b偏量
X = np.column_stack((b, dataMat[:,0:2])) # 特徵屬性集和b偏量組成x
X = np.mat(X)
# 特徵數據歸一化
# import sklearn.preprocessing as preprocessing #sk的去均值和歸一化
# scaler=preprocessing.StandardScaler()
# X = scaler.fit_transform(X) # 對特徵數據集去均值和歸一化,可以加快機器性能
# X = np.mat(X)
# # print(X)
# ========邏輯迴歸========
from sklearn import metrics
from sklearn.linear_model import LogisticRegression
model = LogisticRegression()
model.fit(X, y)
print('邏輯迴歸模型:\n',model)
# 使用模型預測
predicted = model.predict(X) #預測分類
answer = model.predict_proba(X) #預測分類概率
print(answer)
Python機器學習庫sklearn——邏輯迴歸
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.