Python之逻辑回归

Posted 云山之巅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python之逻辑回归相关的知识,希望对你有一定的参考价值。

代码:

 1 import numpy as np
 2 from sklearn import datasets
 3 from sklearn.linear_model import LogisticRegression
 4 import matplotlib.pyplot as plt
 5 
 6 __author__ = \'zhen\'
 7 
 8 iris = datasets.load_iris()
 9 
10 for i in range(0, 4):
11     x = iris[\'data\'][:, i:i+1]  # 获取训练数据
12     y = iris[\'target\']
13 
14     param_grid = {"tol": [1e-4, 1e-3, 1e-2], "C": [0.4, 0.6, 0.8]}
15 
16     log_reg = LogisticRegression(multi_class=\'ovr\', solver=\'sag\', max_iter=1000)  # ovr:二分类
17     log_reg.fit(x, y)
18 
19     # 改变数据的样式,reshape(rows, columns),当rows=-1时,表示任意行
20     x_new = np.linspace(0, 3, 1000).reshape(-1, 1)
21 
22     y_proba = log_reg.predict_proba(x_new)
23     y_hat = log_reg.predict(x_new)
24 
25     print("y_prob:\\n{}\\ny_hat\\n{}".format(y_proba, y_hat[:: 10]))
26     print("="*60)
27 
28     # 画图
29     plt.subplot(2, 2, i+1)
30     plt.plot(x_new, y_proba[:, 2], \'g-\', label=\'Iris-Virginica\')
31     plt.plot(x_new, y_proba[:, 1], \'r-\', label=\'Iris-Versicolour\')
32     plt.plot(x_new, y_proba[:, 0], \'b-\', label=\'Iris-Setosa\')
33 
34     if i == 3:
35         plt.show()

结果:

  训练1:

  

  训练2:

  

  训练3:

  

  训练4:

  

分析:

  有训练结果可知,训练4最具有合理性(分类清晰):

  

 

以上是关于Python之逻辑回归的主要内容,如果未能解决你的问题,请参考以下文章

Python之逻辑回归模型来预测

局部加权之逻辑回归 - Python实现

逻辑回归理解及代码实现

《机器学习实战》之逻辑回归--基于Python3--01

02-14 scikit-learn库之逻辑回归

《机器学习实战》之逻辑回归--基于Python3--02