Python機器學習庫sklearn——邏輯迴歸

# -*- 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)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章