糖尿病数据如下
- 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()