(기계학습 50점)
데이터는 캐글 데이터에서 일부 정제한 데이터가 사용됨. 해당 데이터에서
InvoiceNo, StockCode, Quantity, InvoiceDate, UnitPrice, CustomerID, Country
컬럼만 사용하면서 StockCode는int
값만 있는 데이터만 추출. 약 35,000건의 데이터였음
-
온라인 물품구매 데이터 [전처리, 군집분석]
-
1-1 결측치를 삭제하지 않고 처리하는 방안을 설명하고, 진행하라(5점).
# 결측치는 Quantity에만 19개 존재한 상태였음 # KNNImputer 사용함
-
1-2 이상치를 처리하는 방법을 설명하고, 해당 방법을 수행한 후에 이상치가 제거된 것을 보여라(5점).
# Key값이 되는 컬럼들을 제외한 UnitPrice, Quantity에 대한 Boxplot을 그린 후 IQR 외의 이상치를 제거함
-
1-3 군집분석 기법의 특징(KMeans, DBSCAN 등)을 기술하고,
1-2
까지 전처리한 데이터를 바탕으로 고객 군집분석을 수행하라(10점).# KMeans 사용
-
-
1번에서 이어짐
-
2-1
1-3
에서 생성한 군집모델의 성능을 평가하고, 각 군집별 특성을 기술하라(10점).# ㅇㅇ
-
2-2 각 군집별 고객에세 추천할 수 있는 상품 리스트를 정리하라(10점).
# ㅇㅇ
-
2-3 군집 특성을 활용할 수 있는 KNN모델을 구현하고,
CustomerID
가14513
인 고객에게 알맞는 상품을 추천하라(10점).# ㅇㅇ
-
(통계분석 50점)
-
철강제품의 불량률을 조사하고자 한다. 이 때, 불량률의 90%, 추정오차한계가 5% 이내가 되기 위하여 적절한 표본의 크기 중 최소값은 얼마인가?(5점)
# CODE
-
다음은 1월부터 9월까지의 은의 가격이다.
1월 2월 3월 4월 5월 6월 7월 8월 9월 가격(USD/oz) 22.3 40.2 - 4-1 은의 가격 및 이동평균값 3이 설정된 시계열 그래프를 그려라(5점).
# CODE
- 4-2 1월 대비 9월의 은의 가격은 몇 % 올랐는가? 소수점 두번째 자리에서 반올림(5점).
f'{round((40.2/22.3-1)*100, 2)}%'
- 선거
- 5-1. 연구가설과 귀무가설 설정하라(5점).
# H0 귀무가설: 선거구별로 A후보의 지지율의 차이는 없다. # H1 연구가설: 선거구별로 A후보의 지지율은 유의미한 차이가 있다.
- 5-2. 통계량을 구하고, 연구가설 채택 여부를 기술하라(5점).
import pandas as pd from scipy import stats table = pd.DataFrame({'1선거구':[172, 45], '2선거구':[124,58], '3선거구':[157,65]}, index=['지지함', '지지하지 않음']) f, p, _, _ = stats.chi2_contingency(observed=table) # 검정통계량값은 f이며, p-value가 p로 유의수준 95%하에서 귀무가설을 기각한다. # 즉 선거구별로 A후보의 지지율은 유의미한 차이가 있다고 할 수 있다.
- A초등학교 남학생 16명과 여학생 9명의 혈압을 측정한
pressure.csv
파일을 가지고 남녀학생의 평균 혈압에 차이가 없는지 분석하라. 단, 남학생과 여학생의 혈압 데이터는 정규분포를 따르며 등분산임을 가정한다.- 6-1. 연구가설과 귀무가설 설정하라(5점).
# H0 귀무가설: 남학생과 여학생의 평균 혈압의 차이는 없다. # H1 연구가설: 남학생과 여학생의 평균 혈압은 유의미한 차이가 있다.
- 6-2. 통계량을 구하고, 연구가설 채택 여부를 기술하라(5점).
import pandas as pd from scipy import stats pressure = pd.read_csv('./datasets/pressure.csv') stats.ttest_ind(pressure['남학생'], pressure['여학생'].dropna(), equal_var=True) # 통계량은 XX이고, p-value가 0.05보다 큰 값이므로 귀무가설을 기각하지 못하므로 남학생과 여학생의 평균 혈압의 차이는 없다.
- 6-3.
6-2
에서 구한 검정통계량 값을 바탕으로 신뢰구간을 구하라(5점)
# 건들지도못함
height(키), weight(몸무게), waist(허리둘레)
컬럼을 가진weight.csv
파일을 가지고 다음을 분석하라.- 7-1 키와 몸무게를 독립변수로 받아 허리둘레를 추정하는 베이지안 모델을 제시하라.
burn-in
은1,000
,MCMC
는10,000
으로 넣고, …(5점).
# 제시조건을 보면 특정 함수가 있을 것 같은데 베이지안 모델 아는거라곤 GaussianNB밖에 없어서 그냥 그걸로 풀었다.
- 7-2
7-1
에서 만든 모델을 바탕으로 키 180cm, 허리둘레 85cm인 남성의 몸무게를 추정하라(5점).
#
- 7-1 키와 몸무게를 독립변수로 받아 허리둘레를 추정하는 베이지안 모델을 제시하라.