赞
踩
本次用Python实现逻辑回归算法,逻辑回归是应用非常广泛的一个分类及其学习算法,它将数据拟合到一个logit函数中,从而完成对事件发生的概率进行预测。
本次学习笔记主要参考了《Python进行数据分析与挖掘实践》和作者@寒小阳的博客,地址如下:http://blog.csdn.net/yaoqiang2011/article/details/49123419。
第一步,首先引入本次程序需要用的Python依赖库:
- import pandas as pd
- import numpy as np
- import matplotlib as mpl
- import matplotlib.pyplot as plt
-
- from scipy.optimize import minimize
-
- from sklearn.preprocessing import PolynomialFeatures
-
- pd.set_option('display.notebook_repr_html', False)
- pd.set_option('display.max_columns', None)
- pd.set_option('display.max_rows', 150)
- pd.set_option('display.max_seq_items', None)
-
- #%config InlineBackend.figure_formats = {'pdf',}
- %matplotlib inline
-
- import seaborn as sns
- sns.set_context('notebook')
- sns.set_style('white')
接下来开始定义loaddata、plotdata两个函数,功能分别是读取并显示前六行数据,然后对样本数据进行标引,这里设置了五个参数,分别传入数据,x,y标签,数据的正负分类。
- def loaddata(file, delimeter):
- data = np.loadtxt(file, delimiter=delimeter)
- print('Dimensions: ',data.shape)
- print(data[1:6,:])
- return(data)
- def plotData(data, label_x, label_y, label_pos, label_neg, axes=None):
- # 获得正负样本的下标(即哪些是正样本,哪些是负样本)
- neg = data[:,2] == 0
- pos = data[:,2] == 1
-
- if axes == None:
- axes = plt.gca()
- axes.scatter(data[pos][:,0], data[pos][:,1], marker='+', c='k', s=60, linewidth=2, label=label_pos)
- axes.scatter(data[neg][:,0], data[neg][:,1], c='y', s=60, label=label_neg)
- axes.set_xlabel(label_x)
- axes.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。