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從入門到項目實踐 PDF全彩帶源碼版


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM