使用机器学习方法来判断影响保险费的重要特征因素

1、使用数据集的说明:

数据表如下:

数据表的第一列分别为年龄、性别、体重指数、孩子数量、是否吸烟、所在区域、保险收费。

本文的主要目的是分析在年龄、性别、体重指数、孩子数量、是否吸烟、所在区域中这些因素中,哪些因素对家庭的保险费支出影响最大。上表的美国一区域的家庭保险费支出的历史数据。

2、首先导入pandans和一些机器学习模块,文中使用了卡方检验。

     import pandas as pd
i    mport numpy as np
     from sklearn.feature_selection import SelectKBest
     from sklearn.feature_selection import chi2
     df = pd.read_csv(r'F:\桌面\练习表格1\insurance.csv')
     df

3、数据表的一些信息:

        df.info()

         

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1338 entries, 0 to 1337
Data columns (total 7 columns):
age         1338 non-null int64
sex         1338 non-null object
bmi         1338 non-null float64
children    1338 non-null int64
smoker      1338 non-null object
region      1338 non-null object
charges     1338 non-null float64
dtypes: float64(2), int64(2), object(3)
memory usage: 73.2+ KB

    数据共1338行,无非空值。

4、使用数据的格式化:因为在该表中,sex、smoker和region都是非数字特征和非有序特征的普通分类序列,所有应该使用get_dummies方法来对这些列进行编码和格式化。

needcoded_columns = ['sex','smoker','region']
df_coded = pd.get_dummies(df,columns = needcode_columns,prefix = needcode_columns,dummy_na = True,drop_first = True)

5、编码和格式化后的序列为:df_coded.head()

6、分离后特征序列和结果序列:

y = df_coded.pop('charges')
y.head()

x = df_coded
x.head()

运行得到:

6、进行机器学习训练:

    bestfeatures = SelectKBest(score_func = chi2,k = len(x.columns))

    fit = bestfeatures.fit(x,y.astype(int))

     df_scores = pd.DataFrame(fit.scores_)
     df_scores

     

      df_columns = pd.DataFrame(x.columns)
     df_columns

       

7、对两列进行组合和连接。

  df_feature_scores = pd.concat([df_scores,df_columns],axis = 1)
  df_feature_scores.columns = ['scores','feature_names']
  df_feature_scores  

   

  8、对数据列进行排序:df_feature_scores.sort_values(by = 'scores',ascending = False)

    

     

9、结论:由此得出在这些影响保险费的一些特征因素中,年龄对保险费的影响最大,其次是家庭的孩子数量对保险费的影响,再次就是体重指数,对保险支出的影响也较大。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值