Directorio de artículos
1. Propósito experimental
Hiring.csv contiene la información de reclutamiento de la compañía, como la experiencia laboral del candidato, los resultados de las pruebas escritas y los resultados de las entrevistas personales. Sobre la base de estos tres factores, los recursos humanos determinarán los salarios. Con estos datos, debe crear un modelo de aprendizaje automático para el departamento de recursos humanos para ayudarlos a determinar el salario de futuros candidatos. Use este salario previsto para predecir el salario de los siguientes candidatos,
(1) 2 años de experiencia laboral, puntaje de prueba 9, puntaje de entrevista 6
(2) 12 años de experiencia laboral, puntaje de prueba 10, puntaje de entrevista 10
2. Importe los módulos necesarios y lea los datos.
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. Procesar los datos.
3.1. Experiencia en digitalización de campo
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 El campo Test_score (de 10) NaN se reemplaza por el promedio
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. Entrenamiento + predicción
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]]) #预测二