一 开发环境:win7 64 位 + Pycharm5.0 + python3.4.4
二 工具包:numpy + matplotlib (对于microsoft visual c++ 10.0 is required错误,我是通过下载microsoft visual c++ 10.0解决的)
三 参考书籍:机器学习实战
Logistic回归:
优点:计算代价不高,易于理解和实现;
缺点:容易欠拟合,分类精度可能不高;
适用数据类型:数值型和标称型数据;
一般流程:
1)收集数据:可以使用任何方法;
2)数据准备:需要数值型,以结构化数据格式最佳;
3)分析数据:可以使用任何方法;
4)训练算法:大部分时间将用于训练,训练的目的是为了找到最佳的分类回归系数;
5)测试算法:训练完成后将很快进行分类;
四 程序清单:
# 初始化数据集 def loadDataSet(): dataMat = [] labelMat = [] fr = open('testSet.txt') for line in fr.readlines(): lineArr = line.strip().split() dataMat.append([1.0, float(lineArr[0]), float(lineArr[1])]) labelMat.append(int(lineArr[2])) return dataMat, labelMat
# sigmoid函数;intX:输入向量与特征参数向量乘积相加的和向量 def sigmoid(intX): # 使用的是numpy中的exp方法 # 使用math中exp方法抛出TypeError: only length-1 arrays can be converted to Python scalars # print(-intX, ':', exp(-intX)) return 1.0/(1 + exp(-intX))