当前位置:   article > 正文

python 逻辑回归代码实现_python逻辑回归模型代码

python逻辑回归模型代码

1、创建模型

  1. #读取文件
  2. df = pd.read_csv('/2.csv')
  3. #数据预处理
  4. df_norm = (df - df.min()) / (df.max() - df.min())
  5. #构建特征数据
  6. X = df_norm.drop('target',axis=1)
  7. #构建预测数据
  8. y = df_norm['target']
  9. #划分训练集和测试集
  10. from sklearn.model_selection import train_test_split
  11. X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.2,random_state=1)
  12. #构建模型并预测
  13. from sklearn.linear_model import LogisticRegression
  14. #建立模型
  15. model = LogisticRegression()
  16. #拟合数据
  17. model.fit(X_train,y_train)
  18. #预测数据
  19. y_pred = model.predict(X_test)

2、模型评估

  1. from sklearn.metrics import confusion_matrix
  2. #计算混淆矩阵
  3. cm = confusion_matrix(y_test,y_pred,labels=[0,1])
  4. #混淆矩阵行和列求和
  5. df_cm = pd.DataFrame(cm)
  6. #计算混淆矩阵行的和
  7. df_cm['Row_sum'] = df_cm.apply(lambda x: x.sum(), axis=1)
  8. #计算混淆矩阵列的和
  9. df_cm.loc['Col_sum'] = df_cm.apply(lambda x: x.sum())
  10. #准确率计算
  11. Acc = (df_cm.iloc[0,0]+df_cm.iloc[1,1])/df_cm.iloc[2,2]
  12. #精确度计算
  13. Precision = df_cm.iloc[0,0]/df_cm.iloc[2,0]
  14. #召回率计算
  15. Recall = df_cm.iloc[0,0]/df_cm.iloc[0,2]
  16. #F1计算
  17. F1 = 2*Precision*Recall/(Precision+Recall)

3、混淆矩阵可视化

  1. import seaborn as sn
  2. #混淆矩阵可视化
  3. ax = sn.heatmap(df_cm,annot=True,fmt='.20g')
  4. #添加标题
  5. ax.set_title('confusion matrix')
  6. #添加x轴标签
  7. ax.set_xlabel('predict')
  8. #添加y轴标签
  9. ax.set_ylabel('true')
  10. plt.show()

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/748007
推荐阅读
相关标签
  

闽ICP备14008679号