数据读取
import pandas as pd
import seaborn as sns
import as plt
在csv数据干净整洁,数据规整无误的情况下,是可以直接进行读取的。
import pandas as pd
df = pd.read_csv('C:\\Users\\TD\\Desktop\\项目\\mite_xy.csv')
df = pd.read_csv('C:/Users/TD/Desktop/项目/mite_xy.csv')
df = pd.read_csv('C://Users//TD//Desktop//项目//mite_xy.csv')
(n=1)
x1 y x2 x3
0 0.2 0.1 0.2 0.1
数据集的划分
数据集的划分和X和Y的区分
(n=1)
[:,1] # 提取第一列数据
data[0:2] # 提取两行数据
print ([[0,2],[1,2]]) #*选取行位置和列位置对应的数据切片
X= data[['x1','x2','x3']] #选取列名为x1,x2,x3的列作为X
Y= data[['y']] #选取列名为y的作为Y.
##对上述的X和Y进行划分为3和7
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.3, random_state=42)
建立回归模型
reg_bos = linear_model.LinearRegression()
mode= reg_bos.fit(X_train, y_train) #用训练集数据进行X和Y的回归
查看回归系数和截距
mode.coef_[0][0] ## 查看常数项
0.005671216373405902
mode.intercept_[0] ## 查看参数项
0.5342019853246204
计算R方
(x, y)
0.17721718179269352
打印整个模型
print("Y = " + str(mode.intercept_[0]) + " + " + str(mode.coef_[0][0]) + " * X")
NOX = 0.17721718179269352 + 0.005671216373405902 * X
进行预测
x_test = ([[0.5]])
(x_test)[0][0]
0.5370375935113233