日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

01- 机器学习经典流程 (中国人寿保费项目) (项目一)

發布時間:2024/3/13 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 01- 机器学习经典流程 (中国人寿保费项目) (项目一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • ?刪除特征: data = data.drop(['region', 'sex'], axis=1)
  • 特征數據調整: data.apply( )
# 體重指數,離散化轉換,體重兩種情況:標準、肥胖 def convert(df,bmi):df['bmi'] = 'fat' if df['bmi'] >= bmi else 'standard'return df data = data.apply(convert, axis = 1, args=(30,)) # args 是傳參
  • 將非數字類型特征轉換為數值: data = pd.get_dummies(data)
  • 設定目標值和特征值:
X = data.drop('charges', axis=1) # 訓練數據 y = data['charges'] # 目標值


中國人壽保費項目

數據存儲: https://blog.csdn.net/March_A/article/details/128985290

1. 導入數據

import numpy as np import pandas as pd data = pd.read_excel('./中國人壽.xlsx') data.head(10)

2. 查看數據特征

import seaborn as sns # 性別對保費影響 sns.kdeplot(data['charges'],shade = True,hue = data['sex'])# 地區對保費影響 sns.kdeplot(data['charges'],shade = True,hue = data['region'])# 吸煙對保費影響 sns.kdeplot(data['charges'],shade = True,hue = data['smoker'])# 孩子數量對保費影響 sns.kdeplot(data['charges'],shade = True,hue = data['children'],palette='Set1')

  • 不同性別對保費影響不大,不同性別的保費的概率分布曲線基本重合,因此這個特征無足輕重,可以刪除, 地區同理

  • 吸煙與否對保費的概率分布曲線差別很大,整體來說不吸煙更加健康,那么保費就低,這個特征很重要

  • 家庭孩子數量對保費有一定影響

3. 刪除不重要數據

data = data.drop(['region', 'sex'], axis=1)

4 特征屬性調整

# 體重指數,離散化轉換,體重兩種情況:標準、肥胖 def convert(df,bmi):df['bmi'] = 'fat' if df['bmi'] >= bmi else 'standard'return df data = data.apply(convert, axis = 1, args=(30,)) # args 是傳參 data.head()

5 非數值轉換為數據類型 (去字符串)

# 特征提取,離散型數據轉換為數值型數據 data = pd.get_dummies(data) data.head()

6 設定目標值和特征值

# 特征和目標值抽取 X = data.drop('charges', axis=1) # 訓練數據 y = data['charges'] # 目標值 X.head()

7 數據拆分

# 數據拆分 from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

8 數據升維

# 特征升維 from sklearn.preprocessing import PolynomialFeatures poly = PolynomialFeatures(degree= 2, include_bias = False) X_train_poly = poly.fit_transform(X_train) X_test_poly = poly.fit_transform(X_test)

9 模型訓練

# 模型訓練 from sklearn.linear_model import LinearRegression model_1 = LinearRegression() model_1.fit(X_train_poly, y_train)# 使用彈性網絡訓練 from sklearn.linear_model import ElasticNet model_2 = ElasticNet(alpha = 0.3,l1_ratio = 0.5,max_iter = 50000) model_2.fit(X_train_poly,y_train)

10? 模型評估

model_1.score(X_train_poly, y_train) # 0.8624083431844988 model_2.score(X_test_poly, model_2.predict(X_test_poly)) # 1.0 # 模型評估 from sklearn.metrics import mean_squared_error,mean_squared_log_error print('訓練數據均方誤差:',np.sqrt(mean_squared_error(y_train,model_1.predict(X_train_poly)))) print('測試數據均方誤差:',np.sqrt(mean_squared_error(y_test,model_1.predict(X_test_poly))))print('訓練數據對數誤差:',np.sqrt(mean_squared_log_error(y_train,model_1.predict(X_train_poly)))) print('測試數據對數誤差:',np.sqrt(mean_squared_log_error(y_test,model_1.predict(X_test_poly))))

結論:

  • 進行EDA數據探索,可以查看無關緊要特征

  • 進行特征工程:刪除無用特征、特征離散化、特征提取。這對機器學習都至關重要

  • 對于簡單的數據(特征比較少)進行線性回歸,一般需要進行特征升維

  • 選擇不同的算法,進行訓練和評估,從中篩選優秀算法

總結

以上是生活随笔為你收集整理的01- 机器学习经典流程 (中国人寿保费项目) (项目一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。