#_*_coding:utf-8_*_
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import matplotlib as mpl #显示中文
from sklearn.model_selection import train_test_split #划分数据集
from sklearn.linear_model import LinearRegression #线性回归
from sklearn import metrics
import numpy as np
def model():
pd_data=pd.read_csv("C:/Users/Rooobins/Desktop/data.csv")
X=pd_data.loc[:,("Area","Num")]
y=pd_data.loc[:,"Money"]
X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2,random_state=100)
linreg=LinearRegression()
model_Line=linreg.fit(X_train,y_train)
print(model_Line)
print(linreg.intercept_) #训练后模型截距
print(linreg.coef_) #训练后模型权重(特征个数无变化)
#模型预测
y_pred=linreg.predict(X_test)
print(y_pred)
#总差值
sum_mean=0
for i in range(len(y_pred)):
sum_mean+=(y_pred[i]-y_test.values[i])**2
sum_erro=np.sqrt(sum_mean/len(y_pred))
print("RMSE BY HAND : ",sum_erro)
#模型评估
plt.figure()
plt.plot(range(len(y_pred)),y_pred,'b',label="predict")
plt.plot(range(len(y_pred)),y_test,'r',label="test")
plt.legend(loc="upper right") #显示图中标签
plt.xlabel("The number of sales")
plt.ylabel("value of sales")
plt.show()
def main():
model()
if __name__=="__main__":
main()
多元线性模型
最新推荐文章于 2023-06-28 15:00:43 发布