python线性回归分析糖尿病数据的关系

193 阅读1分钟

糖尿病数据如下

  • RowNumber:行号,表示数据集中的每一行的编号。
  • CustomerId:客户编号,每个客户有唯一的编号。
  • Surname:姓氏。
  • CreditScore:信用评分,表示客户的信用等级。
  • Geography:地理位置,表示客户所在的国家或地区。
  • Gender:性别,表示客户的性别。
  • Age:年龄,表示客户的年龄。
  • Tenure:客户在银行的服务年限。
  • Balance:账户余额。
  • NumOfProducts:拥有的银行产品数量。
  • HasCrCard:是否拥有信用卡。
  • IsActiveMember:是否是活跃会员。
  • EstimatedSalary:预估薪资。
  • Exited:是否已经离开银行,1表示已经离开,0表示未离开

代码如下 输出糖尿病关系线性图

import matplotlib.pyplot as plt
import numpy as np
from sklearn import datasets, linear_model
from sklearn.metrics import mean_squared_error, r2_score

# 加载糖尿病数据集
diabetes_X, diabetes_y = datasets.load_diabetes(return_X_y=True)
# 只使用一个特征
diabetes_X = diabetes_X[:, np.newaxis, 2]

# 将数据分为训练集和测试集
diabetes_X_train = diabetes_X[:-20]
diabetes_X_test = diabetes_X[-20:]

# 将目标分为训练集和测试集
diabetes_y_train = diabetes_y[:-20]
diabetes_y_test = diabetes_y[-20:]

# 创建线性回归对象
regr = linear_model.LinearRegression()

# 使用训练集训练模型
regr.fit(diabetes_X_train, diabetes_y_train)

# 使用测试集进行预测
diabetes_y_pred = regr.predict(diabetes_X_test)

# 打印系数
print("Coefficients: ", regr.coef_)
# 打印均方误差
print("Mean squared error: %.2f" % mean_squared_error(diabetes_y_test, diabetes_y_pred))
# 打印决定系数:1 表示完美预测
print("Coefficient of determination: %.2f" % r2_score(diabetes_y_test, diabetes_y_pred))

# 绘制图形
plt.scatter(diabetes_X_test, diabetes_y_test, color="black")
plt.plot(diabetes_X_test, diabetes_y_pred, color="blue", linewidth=3)

plt.xticks()
plt.yticks()

plt.show()