sklearn 线性回归简单实现

风流意气都作罢 提交于 2019-11-28 04:01:24

一个使用sklearn实现线性回归的简单实例,主要包括数据准备,以及预测部分。

  1. 数据准备
def loadDataSet(filename):
    file=open(filename,'r')
    dataMat=[]
    labelMat=[]
    filelines=file.readlines()
    #读取文件
    for line in filelines:
        linearr=[]
        #对文件内容进行处理
        curline=line.strip().split('\t')
        for i in range(1,len(curline)):
            linearr.append(float(curline[i]))
        dataMat.append(linearr)
        labelMat.append(float(curline[0]))
        #归一化处理
    min_max_scaler = preprocessing.MinMaxScaler()
    dataMat = min_max_scaler.fit_transform(dataMat)

#对训练数据进行分批,用于检验预测的争取性
    return cross_validation.train_test_split(dataMat,labelMat,test_size=0.25,\
                                             random_state=random.randint(1,5))

2.预测部分

def test_linearregression():
    xtrain, xtest, ytrain, ytest = loadDataSet(r'xxx.txt')
    regr = linear_model.LinearRegression()
    regr.fit(xtrain, ytrain)
    return regr.score(xtest, ytest)

3.用到的头文件

from sklearn import  linear_model,cross_validation,discriminant_analysis
from sklearn import preprocessing
import random

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!