import numpy as np #numpy (Python进行科学计算的基础软件包)import pandas as pd #pandas(pandas是一种快速,强大,灵活且易于使用的开源数据分析和处理工具)import matplotlib.pyplot as plt #绘图工具import seaborn as sns #绘图
import numpy as np #numpy (Python进行科学计算的基础软件包)import pandas as pd #pandas(pandas是一种快速,强大,灵活且易于使用的开源数据分析和处理工具)import matplotlib.pyplot as plt #绘图工具import seaborn as sns #绘图
## 查看其对应的wprint('the weight of Logistic Regression:\n',clf.coef_)## 查看其对应的w0print('the intercept(w0) of Logistic Regression:\n',clf.intercept_)## 由于这个是3分类,所有我们这里得到了三个逻辑回归模型的参数,其三个逻辑回归组合起来即可实现三分类。
the weight of Logistic Regression:
[[-0.43538857 0.87888013 -2.19176678 -0.94642091]
[-0.39434234 -2.6460985 0.76204684 -1.35386989]
[-0.00806312 0.11304846 2.52974343 2.3509289 ]]
the intercept(w0) of Logistic Regression:
[ 6.30620875 8.25761672 -16.63629247]
## 在训练集和测试集上分布利用训练好的模型进行预测
train_predict = clf.predict(x_train)
test_predict = clf.predict(x_test)## 由于逻辑回归模型是概率预测模型(前文介绍的 p = p(y=1|x,\theta)),所有我们可以利用 predict_proba 函数预测其概率
train_predict_proba = clf.predict_proba(x_train)
test_predict_proba = clf.predict_proba(x_test)print('The test predict Probability of each class:\n',test_predict_proba)## 其中第一列代表预测为0类的概率,第二列代表预测为1类的概率,第三列代表预测为2类的概率。## 利用accuracy(准确度)【预测正确的样本数目占总预测样本数目的比例】评估模型效果print('The accuracy of the Logistic Regression is:',metrics.accuracy_score(y_train,train_predict))print('The accuracy of the Logistic Regression is:',metrics.accuracy_score(y_test,test_predict))
The test predict Probability of each class:
[[1.32525870e-04 2.41745142e-01 7.58122332e-01]
[7.02970475e-01 2.97026349e-01 3.17667822e-06]
[3.37367886e-02 7.25313901e-01 2.40949311e-01]
[5.66207138e-03 6.53245545e-01 3.41092383e-01]
[1.06817066e-02 6.72928600e-01 3.16389693e-01]
[8.98402870e-04 6.64470713e-01 3.34630884e-01]
[4.06382037e-04 3.86192249e-01 6.13401369e-01]
[1.26979439e-01 8.69440588e-01 3.57997319e-03]
[8.75544317e-01 1.24437252e-01 1.84312617e-05]
[9.11209514e-01 8.87814689e-02 9.01671605e-06]
[3.86067682e-04 3.06912689e-01 6.92701243e-01]
[6.23261939e-03 7.19220636e-01 2.74546745e-01]
[8.90760124e-01 1.09235653e-01 4.22292409e-06]
[2.32339490e-03 4.47236837e-01 5.50439768e-01]
[8.59945211e-04 4.22804376e-01 5.76335679e-01]
[9.24814068e-01 7.51814638e-02 4.46852786e-06]
[2.01307999e-02 9.35166320e-01 4.47028801e-02]
[1.71215635e-02 5.07246971e-01 4.75631465e-01]
[1.83964097e-04 3.17849048e-01 6.81966988e-01]
[5.69461042e-01 4.30536566e-01 2.39269631e-06]
[8.26025475e-01 1.73971556e-01 2.96936737e-06]
[3.05327704e-04 5.15880492e-01 4.83814180e-01]
[4.69978972e-03 2.90561777e-01 7.04738434e-01]
[8.61077168e-01 1.38915993e-01 6.83858427e-06]
[6.99887637e-04 2.48614010e-01 7.50686102e-01]
[5.33421842e-02 8.31557126e-01 1.15100690e-01]
[2.34973018e-02 3.54915328e-01 6.21587370e-01]
[1.63311193e-03 3.48301765e-01 6.50065123e-01]
[7.72156866e-01 2.27838662e-01 4.47157219e-06]
[9.30816593e-01 6.91640361e-02 1.93708074e-05]]
The accuracy of the Logistic Regression is: 0.9583333333333334
The accuracy of the Logistic Regression is: 0.8