Python数据读取与线性回归分析

时间:2025-02-11 11:31:05

数据读取

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