zoukankan      html  css  js  c++  java
  • 【保险案例的应用】

    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,可以去除该数据做到降维
    
    
    Win a contest, win a challenge
  • 相关阅读:
    开始之旅9.18
    驱动学习
    Extjs TextField扩展
    数据结构经典算法java
    JAVA BeanUtil应用 一个类向另一个类转换
    Extjs timefield
    图片压缩成指定大小
    js正则表达式提取字符串中的数字
    STM32笔记记录2
    #ifdef,#else,#endif,#if用法详解
  • 原文地址:https://www.cnblogs.com/pandaboy1123/p/9722005.html
Copyright © 2011-2022 走看看