您的位置:首页 > 其它

机器学习-sklearn逻辑回归分析

2017-06-18 19:45 423 查看
逻辑回归为一类分类算法,可以用于预测事件发生的概率,或者某事物属于某一类别的概率。逻辑回归是以logistic函数为基础的,该函数的取值介于0~1之间,与概率值吻合。

1.k-折交叉验证

将数据集分为k份,在k次迭代过程中,每个包会有1次被用于验证,其余用于训练。示例:

kf = KFold(n=10,n_folds=7)
for train,test in kf:
print(train,test)


返回训练样本与测试样本的指针。

2.实例

from sklearn.linear_model import LogisticRegression
from sklearn.cross_validation import KFold
from sklearn import datasets
import numpy as np

def classify(x,y):
clf = LogisticRegression(random_state=12) #创建分类器对象,12类似于随机数的种子
scores = []   #用于存放每次训练的精确度
kf = KFold(len(y),n_folds=10)   #创建k-折交叉验证包
for train,test in kf:
clf.fit(x[train],y[train])              #使用训练样本进行训练
scores.append(clf.score(x[test],y[test]));    #将本次训练的平均误差保存
print(np.mean(scores))   #所有训练的平均准确性
return clf

rain = np.load('rain.npy')
dates = np.load('doy.npy')

x = np.vstack((dates[:-1],rain[:-1]))
y = np.sign(rain[1:])
clf = LogisticRegression(random_state=12)  # 创建分类器对象,12类似于随机数的种子
clf = classify(x.T,y)
print(clf.predict_proba([1,0]))
4000
#进行预测
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: