天天看點

python對邏輯回歸進行顯著性_python sklearn庫實作簡單邏輯回歸的執行個體代碼

Sklearn簡介

Scikit-learn(sklearn)是機器學習中常用的第三方子產品,對常用的機器學習方法進行了封裝,包括回歸(Regression)、降維(Dimensionality Reduction)、分類(Classfication)、聚類(Clustering)等方法。當我們面臨機器學習問題時,便可根據下圖來選擇相應的方法。

Sklearn具有以下特點:

簡單高效的資料挖掘和資料分析工具

讓每個人能夠在複雜環境中重複使用

建立NumPy、Scipy、MatPlotLib之上

代碼如下所示:

import xlrd

import matplotlib.pyplot as plt

import numpy as np

from sklearn import model_selection

from sklearn.linear_model import LogisticRegression

from sklearn import metrics

data = xlrd.open_workbook('gua.xlsx')

sheet = data.sheet_by_index(0)

Density = sheet.col_values(6)

Sugar = sheet.col_values(7)

Res = sheet.col_values(8)

# 讀取原始資料

X = np.array([Density, Sugar])

# y的尺寸為(17,)

y = np.array(Res)

X = X.reshape(17,2)

# 繪制分類資料

f1 = plt.figure(1)

plt.title('watermelon_3a')

plt.xlabel('density')

plt.ylabel('ratio_sugar')

# 繪制散點圖(x軸為密度,y軸為含糖率)

plt.scatter(X[y == 0,0], X[y == 0,1], marker = 'o', color = 'k', s=100, label = 'bad')

plt.scatter(X[y == 1,0], X[y == 1,1], marker = 'o', color = 'g', s=100, label = 'good')

plt.legend(loc = 'upper right')

plt.show()

# 從原始資料中選取一半資料進行訓練,另一半資料進行測試

X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y, test_size=0.5, random_state=0)

# 邏輯回歸模型

log_model = LogisticRegression()

# 訓練邏輯回歸模型

log_model.fit(X_train, y_train)

# 預測y的值

y_pred = log_model.predict(X_test)

# 檢視測試結果

print(metrics.confusion_matrix(y_test, y_pred))

print(metrics.classification_report(y_test, y_pred))

總結

以上所述是小編給大家介紹的python sklearn庫實作簡單邏輯回歸的執行個體代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對腳本之家網站的支援!

如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!