1.實驗目的
在hiring.csv中,包含公司的招聘信息,例如候選人的工作經驗,筆試成績和個人面試成績。 基於這三個因素,人力資源將決定工資。 有了這些數據,您需要爲人力資源部門建立一個機器學習模型,以幫助他們確定未來應聘者的薪水。 使用此預測薪水來預測以下候選人薪資,
(1)2年工作經驗,測試成績9,面試成績6
(2)12年工作經驗,測試分數10,面試分數10
2.導入必要模塊並讀取數據
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
from word2number import w2n
df = pd.read_csv('hiring.csv')
df
3.對數據進行處理
3.1.experience字段數字化
df.experience = df.experience.fillna('zero') #NaN統一替換爲zero
df
df.experience = df.experience.apply(w2n.word_to_num) #運用w2n.word_to_num將字母轉化爲數字
df
3.2.test_score(out of 10)字段NaN替換爲平均數
import math
median_test_score = math.floor(df['test_score(out of 10)'].mean()) #取平均數並向下取整
median_test_score
#輸出
7
df['test_score(out of 10)'] = df['test_score(out of 10)'].fillna(median_test_score) #用平均數填充NaN
df
4.訓練+預測
reg = LinearRegression() #實例化模型
reg.fit(df[['experience','test_score(out of 10)','interview_score(out of 10)']],df['salary($)']) #訓練
reg.coef_ #係數
reg.intercept_ #截距
reg.predict([[2,9,6]]) #預測一
reg.predict([[12,10,10]]) #預測二