1.diabetes数据集
共442个样本,每个样本有十个特征,分别是 [‘age’, ‘sex’, ‘bmi’, ‘bp’, ‘s1’, ‘s2’, ‘s3’, ‘s4’, ‘s5’, ‘s6’],对应年龄、性别、体质指数、平均血压、S1~S6一年后疾病级数指标。
Targets为一年后患疾病的定量指标,值在25到346之间。
2.线性回归做糖尿病分析
# 导数据分析常用包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 导包获取糖尿病数据集
from sklearn.datasets import load_diabetes
data_diabetes = load_diabetes()
print(data_diabetes)
# 我们先看一下数据是什么样:
# diabetes 是一个关于糖尿病的数据集, 该数据集包括442个病人的生理数据及一年以后的病情发展情况。
data = data_diabetes['data']
target = data_diabetes['target']
feature_names = data_diabetes['feature_names']
# 现在三个数据都是numpy的一维数据形式,将她们组合成dataframe,可以更直观地观察数据
df = pd.DataFrame(data, columns=feature_names)
df.head() # 查看前几行数据
# 查看数据集的基本信息
df.info()
# 1、抽取训练集合测试集
from sklearn.model_selection import train_test_split
train_X, test_X, train_Y, test_Y = train_test_split(data, target, train_size=0.8)
# 2、建立模型
from sklearn import datasets, linear_model
from sklearn.metrics import mean_squared_error, r2_score
model = linear_model.LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)
# 3、训练数据
model.fit(train_X, train_Y)
# 4、评估模型
# Make predictions using the testing set
y_pred = model.predict(test_X)
# The coefficients
print("Coefficients: \n", model.coef_)
# The mean squared error
print("Mean squared error: %.2f" % mean_squared_error(test_Y, y_pred))
# The coefficient of determination: 1 is perfect prediction
print("Coefficient of determination: %.2f" % r2_score(test_Y, y_pred))
'''
考察单个特征值与结果之间的关系,以图表形式展示
'''
# 1、取出特征值
df.columns #输出结果:Index(['age', 'sex', 'bmi', 'bp', 's1', 's2', 's3', 's4', 's5', 's6'], dtype='objec