【保险案例的应用】
1.线性预测的方式在实际应用中使用的很少
基于线性回归的分类算法-->逻辑回归,softman回归(非常好用)
2.更多的是基于梯度决策树去做预测(效果好)
import pandas as pd import numpy as np from sklearn.preprocessing import PolynomialFeatures from sklearn.linear_model import LinearRegression import matplotlib.pyplot as plt """ 1.线性预测的方式在实际应用中使用的很少 基于线性回归的分类算法-->逻辑回归,softman回归(非常好用) 2.更多的是基于梯度决策树去做预测(效果好) """ with open(r'F:\数据分析专用\数据分析与机器学习\insurance.csv',) as f: data = pd.read_csv(f) # print(data.describe()) # print(data.head()) data_count = data['age'].value_counts() # print(data_count) # data_count[: 10].plot(kind='bar') # plt.show() # 列之间的相关性 # print(data.corr()) reg = LinearRegression() x = data[['age', 'sex', 'bmi', 'children', 'smoker', 'region']] y = data['charges'] x = x.apply(pd.to_numeric, errors='coerce') y = y.apply(pd.to_numeric, errors='coerce') x.fillna(0, inplace=True) y.fillna(0, inplace=True) poly_fe = PolynomialFeatures(degree=3, include_bias=False) # print(x) # print(y) X_poly = poly_fe.fit_transform(x) reg.fit(X_poly, y) # print(reg.coef_) # print(reg.intercept_) y_pre = reg.predict(X_poly) plt.plot(x['age'], y, 'b.') plt.plot(X_poly[:, 0], y_pre, 'r.') plt.show()
PS
1.什么是Person相关系数?
Person相关系数是用来测量两组数据是否是线性相关的,Person相关系数的区间范围是【-1,1】,如果越接近-1,说明两组变量负相关,一个变大另一个变小
反之越接近于1,说明两组变量正相关,越接近于0则两组变量之间没有相关性,通过Person相关系数可以判断出来数据的相关性,接近1的数据可以进行降维处理
如果发现结果和某个维度的数据相关系数接近0,可以去除该数据做到降维
Win a contest, win a challenge
posted on 2018-09-29 09:32 pandaboy1123 阅读(172) 评论(0) 编辑 收藏 举报