划分训练集和测试集:
X_train,X_test, y_train, y_test = sklearn.model_selection.train_test_split(train_data,train_target,test_size=0.25, random_state=0,stratify=y_train)
# train_data:所要划分的样本特征集
# train_target:所要划分的样本结果
# test_size:样本占比,如果是整数的话就是样本的数量
# random_state:是随机数的种子。
# 随机数种子:其实就是该组随机数的编号,在需要重复试验的时候,保证得到一组一样的随机数。比如你每次都填1,其他参数一样的情况下你得到的随机数组是一样的。但填0或不填,每次都会不一样。
# stratify是为了保持 split前 类的分布。
sklearn的train_test_split()各函数参数含义解释
线性回归:
from sklearn.linear_model import LinearRegression
reg = linear_model.LinearRegression()
reg.fit(X,y)
LinearRegression已经实现了多元线性回归模型,当然,也可以用来计算一元线性模型,通过使用list[list]传递数据就行。
- fit(X,y,sample_weight=None):X,y以矩阵的方式传入,而sample_weight则是每条测试数据的权重,同样以array格式传入。
- predict(X):预测方法,将返回预测值y_pred
- score(X,y,sample_weight=None):评分函数,将返回一个小于1的得分,可能会小于0
LinearRegression将方程分为两个部分存放,coef_存放回归系数,intercept_则存放截距,因此要查看方程,就是查看这两个变量的取值。