一个使用sklearn实现线性回归的简单实例,主要包括数据准备,以及预测部分。
- 数据准备
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
来源:CSDN
作者:我家阿嘚
链接:https://blog.csdn.net/baidu_20390857/article/details/79914663