직원들의 주요 생산성 요인 분석 (다중회귀)

모든 컬럼을 활용하여 design을 예측하는 다중회귀 분석을 시행한 후 유의하지 않은 설명변수 개수를 구하시오.

데이터 불러오기

import pandas as pd
df = pd.read_csv('')
train = df[df['id'] <= 140]
test = df[df['id'] > 140]

# df 확인
print(df.head()

image.png

모든 컬럼 , design ; ols(), summary()

from statsmodels.formula.api import ols

formula = "design ~ tenure + f2 + f3 + f4 + f5"
model = ols(formula, data=train).fit()

print(model.summary())

image.png

유의하지 않은 설명변수 개수 ; p_values.sum

p_values = model.pvalues

# p_values[1:] >= 0.05 # intercept은 고려하지 않음. 따라서 1~
print((p_values[1:] >= 0.05).sum())

image.png

훈련 데이터 의 예측값, 실제값의 피어슨 상관계수 구하기 ; pearsonr()

y_pred = model.predict(train) # 예측값
y_real = train['design'] # 실제값

from scipy.stats import pearsonr
corr, p_value = pearson(y_pred, y_real)
print(corr, p_value)

image.png

print(corr)

image.png