邏輯回歸
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...