python sklearn库实现简单逻辑回归的实例代码

yipeiwu_com6年前Python基础

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库实现简单逻辑回归的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

基于python分析你的上网行为 看看你平时上网都在干嘛

基于python分析你的上网行为 看看你平时上网都在干嘛

简介 想看看你最近一年都在干嘛?看看你平时上网是在摸鱼还是认真工作?想写年度汇报总结,但是苦于没有数据?现在,它来了。 这是一个能让你了解自己的浏览历史的Chrome浏览历史记录分析程...

pygame实现雷电游戏雏形开发

pygame实现雷电游戏雏形开发

本文实例为大家分享了pygame实现雷电游戏开发代码,供大家参考,具体内容如下 源代码: stars.py #-*- coding=utf-8 -*- #!/usr/bin/pyt...

Python输入二维数组方法

前不久对于Python输入二维数组有些不解,今日成功尝试,记以备忘。这里以输入1-9,3*3矩阵为例 n=int(input()) line=[[0]*n]*n for i in r...

python中for循环变量作用域及用法详解

在讲这个话题前,首先我们来看一道题: 代码1: def foo(): return [lambda x: x**i for i in range(1,5,2)] print([f...

在python环境下运用kafka对数据进行实时传输的方法

在python环境下运用kafka对数据进行实时传输的方法

背景: 为了满足各个平台间数据的传输,以及能确保历史性和实时性。先选用kafka作为不同平台数据传输的中转站,来满足我们对跨平台数据发送与接收的需要。 kafka简介: Kafka is...