sklearn之邏輯回歸

2021-10-01 10:59:35 字數 1504 閱讀 9925

邏輯回歸

import numpy as np

import matplotlib.pyplot as plt

from sklearn.metrics import classification_report # 評估分類結果的指標

from sklearn import preprocessing

from sklearn import linear_model

# 資料是否需要標準化

scale = false

# scale = true

# 匯入資料

data = np.genfromtxt("c:\\ml\\chapter-1\\lr-testset.csv",delimiter=",") # 這種方法只能讀取數字,不能讀取字元,字元會變成nan

# print(data)

x_data = data[:,:-1]

y_data = data[:,-1]

def plot():

x0 =

x1 =

y0 =

y1 =

# 切分不同型別的資料

for i in range(len(x_data)):

if y_data[i] == 0:

else:

# 畫圖 散點圖

scatter0 = plt.scatter(x0,y0,c='b',marker='o')

scatter1 = plt.scatter(x1,y1,c='r',marker='x')

# 畫圖例

plt.legend(handles=[scatter0,scatter1],labels=['label0','label1'],loc='best') # loc='best'會自動把圖例放在最好的位置

# plot()

# plt.show()

logistic = linear_model.logisticregression()

logistic.fit(x_data,y_data)

print('相關係數:',logistic.coef_)

if scale == false:

# 畫圖決策邊界

plot()

x_test = np.array([[-4],[3]])

y_test = (-logistic.intercept_-x_test*logistic.coef_[0][0])/logistic.coef_[0][1]

plt.plot(x_test,y_test,'k')

plt.show()

predictions = logistic.predict(x_data)

print(classification_report(y_data,predictions))

結果如下:

sklearn邏輯回歸

邏輯回歸自己的理解 1.對機器學習的認識 引用大牛的觀點 機器學習演算法沒有所謂的優劣,也沒有絕對的高效能,只有在特定場景 資料和特徵下更適合的機器學習演算法。2.機器學習應用方法 應用機器學習,千萬不要一上來就試圖做到完美,先做乙個基本的model出來,再進行後續的分析步驟,一步步提高。所謂後續步...

sklearn調包俠之邏輯回歸

傳送門 機器學習實戰之logistic回歸 正則化這裡補充下正則化的知識。當乙個模型太複雜時,就容易過擬合,解決的辦法是減少輸入特徵的個數,或者獲取更多的訓練樣本。正則化也是用來解決模型過擬合的一種方法。常用的有l1和l2範數做為正則化項。資料匯入 本次實戰依舊是使用sklearn中的資料集,如圖所...

sklearn實現邏輯回歸

首先我們來看下面一組資料集 前面的x1與x2都表示的是年收入和年齡這兩個因素決定的是否買車的結果。開始 部分,我們先輸入x和y的變數,開始輸入資料 from sklearn import linear model x 20,3 23,7 31,10 42,13 50,7 60,5 y 0,1,1,1...