【保险案例的应用】

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()
View Code  
PS
1.什么是Person相关系数?
Person相关系数是用来测量两组数据是否是线性相关的,Person相关系数的区间范围是【-1,1】,如果越接近-1,说明两组变量负相关,一个变大另一个变小
反之越接近于1,说明两组变量正相关,越接近于0则两组变量之间没有相关性,通过Person相关系数可以判断出来数据的相关性,接近1的数据可以进行降维处理
如果发现结果和某个维度的数据相关系数接近0,可以去除该数据做到降维

猜你喜欢

转载自www.cnblogs.com/pandaboy1123/p/9722005.html
今日推荐