数据分析-入门-线性回归-波士顿房价

@线性回归-波士顿房价
#数据来源:https://www.kaggle.com/altavish/boston-housing-dataset
波士顿房价数据集特征(X)包含:
CRIM 城镇人均犯罪率
ZN 大于25,000平方英尺的地块划分为住宅用地的比例
INDUS 每个城镇非零售业务的比例
CHAS 查尔斯河虚拟变量(如果管道界限= 1则为河; =0则不为河)
NOX 一氧化氮浓度(每千万份)
RM 每间住宅的平均房间数
AGE 自住房屋是在1940年之前建造的比例
DIS 到加州五个就业中心的加权距离
RAD 对径向高速公路的可达性指数
TAX 每10,000美元的全价物业税
PTRATIO 城镇的学生与教师比例
B 1000(Bk-0.63)^ 2其中Bk是城镇的黑人的比例
LSTAT 低社会阶层人口比例%
标签(Y):
MEDV 以1000美元为单位的自住房屋的中位数价值
目标:
建立特征与标签的线性关系Y=WT*X+W0,拟合系数与截距。

0 导入必要的包

import pandas as pd
#from sklearn import preprocessing
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
from sklearn.metrics import mean_squared_error

1 加载数据

data = pd.read_csv(“d:/datasets/HousingData.csv”) #加载数据

2 数据探索

data.head() #缺省前5行
data.tail() #缺省后5行
data.tail() #缺省后5行
data.describe()
data.info()

3 预处理

data.dropna(inplace=True) #去除不全的样本
data.info()
y = data[‘MEDV’] #取标签
X = data.copy().drop([‘MEDV’], axis=1) #取属性
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.3) #测试集训练集划分

4 模型构建与拟合

lr = LinearRegression()
lr.fit(X_train, y_train)#拟合

5 输出系数与截距

print(lr.coef_)
print(lr.intercept_)

6 模型预测与评价

y_pred = lr.predict(X_test)
print(r2_score(y_test, y_pred))
print(mean_squared_error(y_test, y_pred)) #均方误差

你可能感兴趣的:(数据分析入门,线性回归,机器学习,回归)