본문 바로가기

Analytics/Study

(30)
실전#2 데이터로 살펴보는 우리 아이 학습 성공/실패 요소(4) 데이터 전처리 과정편 살펴본 데이터들 중 전처리가 필요한 데이터들에 대한 작업 과정이다. 코드만 보면 무척 간단해보이는 과정이기는 하지만, 전처리 과정은 EDA만큼 중요한 부분이라 생각한다. X = pd.get_dummies(df.drop(['ParentschoolSatisfaction','Class','Class_value'], axis = 1), columns = ['gender', 'NationalITy', 'PlaceofBirth', 'StageID', 'GradeID', 'SectionID', 'Topic', 'Semester', 'Relation', 'ParentAnsweringSurvey', 'StudentAbsenceDays'], drop_first = True) y = df['Class'..
실전#2 데이터로 살펴보는 우리 아이 학습 성공/실패 요소(3) EDA 2번째 과정 앞서 살펴본 EDA 과정이 수치형 데이터에 대한 탐색이었다면 이번에는 범주형 데이터에 대한 탐색을 주로 다루게 된다. 범주형 데이터를 시각화로 파악하기 위해 주로 사용한 방법은 Countplot이다. sns.countplot(x='Class', data = df, order = ['L', 'M', 'H']) 이렇게 기본적인 countplot으로 원하는 기준별 분포를 알 수 있다. 여기에 추가로 hue 기능을 활용하여 각 변수별 Class의 비교가 가능하다 # 성별 비교 sns.countplot(x='gender', data = df, hue = 'Class', hue_order = ['L', 'M', 'H']) # 국적 비교 sns.countplot(x='NationalITy', da..
실전#2 데이터로 살펴보는 우리 아이 학습 성공/실패 요소(2) 데이터 셋팅을 완료한 뒤 본격적인 EDA 과정이다. 우선 데이터 형태를 살펴보도록 하자 df.head() M KW KuwaIT lowerlevel G-04 A IT F Father 15 16 2 20 Yes Good Under-7 M M KW KuwaIT lowerlevel G-04 A IT F Father 20 20 3 25 Yes Good Under-7 M M KW KuwaIT lowerlevel G-04 A IT F Father 10 7 0 30 No Bad Above-7 L M KW KuwaIT lowerlevel G-04 A IT F Father 30 25 5 35 No Bad Above-7 L M KW KuwaIT lowerlevel G-04 A IT F Father 40 50 12 50 No..
실전#2 데이터로 살펴보는 우리 아이 학습 성공/실패 요소(1) 두번째 실전 과제는 제목부터 흥미로웠다. "우리 애는 머리는 좋은데, 공부를 안해서 그래요" - 데이터로 살펴보는 우리 아이 학습 성공/실패 요소 관련 Kaggle 링크 https://www.kaggle.com/datasets/aljarah/xAPI-Edu-Data Students' Academic Performance Dataset xAPI-Educational Mining Dataset www.kaggle.com 데이터 소개 - 이번 주제는 xAPI-Edu-Data 데이터셋을 사용합니다. - 다음 1개의 csv 파일을 사용합니다. xAPI-Edu-Data.csv - 각 파일의 컬럼은 아래와 같습니다. gender: 학생의 성별 (M: 남성, F: 여성) NationaliTy: 학생의 국적 Placeo..
실전#1 에필로그?! 실전#1 에필로그 강의 내용에 대한 정리 or 공부를 일단락하기는했지만, 이대로 넘어가기에는 살짝 아쉽기도 부족하기도 한 느낌이 있어서 미처 담아내지 못했거나 조금 더 설명하면 좋았을 내용들에 대한 파트이다. 첫번째로 추가하고 싶은 부분은 EDA 파트이다 (https://aintover.tistory.com/76) 제목은 EDA라고 했는데, 다시 보니 시각화 정리가 주된 내용이 된 느낌이다. 이에 각 변수들별로 확인한 EDA에 대해 조금 더 상세히 살펴보도록 하자 우선 모든 변수들에 대한 히스토그램을 한번에 비교 확인해보자 plt.rcParams['figure.figsize'] = [18, 12] df.hist(); 우선 연령(age)은 60대에 가장 많은 분포를 보이며, 나름 정규분포 형태이다. 빈혈증..
실전#1. 데이터 분석으로 심부전증을 예방할 수 있을까(4) Classification 모델 학습하기 강의에서는 2가지 모델을 활용하였다. 우선 첫번째로 사용한 Logistic Regression부터 정리해보자 from sklearn.linear_model import LogisticRegression # LogisticRegression 모델 생성/학습 model_lr = LogisticRegression() model_lr.fit(X_train, y_train) # 모델 평가 from sklearn.metrics import classification_report # Predict를 수행하고 classification_report() 결과 출력하기 pred = model_lr.predict(X_test) print(classification_report(y_t..