DATA PROGRAMMING(51)
-
[파이썬] 클래스가 불균형한 데이터 머신러닝 분류 모델 실습
오늘은 학교 실습 시간에 주어진 데이터를 분류하는 모형을 만들어 보려고 한다. 데이터에 대한 정보를 보고 분류 모델을 설정할 전략을 짜고 실제로 코드를 작성하여 실습하고 수정해 나가는 과정에 대해서 다뤄 보겠다. 불균형한 클래스의 데이터 머신러닝 분류 모델 데이터 확인 Feature(입력 변수)가 1,000개, Train set의 두 클래스 원소의 개수가 10배 정도 차이 나는 데이터다. 우선 데이터를 보고 파악한 내용은 입력변수가 매우 많다는 것과, 클래스가 불균형하다는 것이다. 많은 입력변수를 모두 과하게 사용하려다 보면 오버피팅이나 시간이 너무 오래 걸린다는 문제점이 생길 수 있고, 클래스가 불균형하다면 정확도는 높게 나와도 Recall이나 Precision 값이 낮게 나올 수도 있다. 게다가 위 ..
2023.06.04 -
파이썬을 통해 간단하게 학교 성적 평균, 표준편차, 백분위 구하기
교수님이 시험 결과를 발표하셨는데 점수만 공개하시고 다른 추가적인 정보는 공개하지 않으셨다. 학우들의 전체 성적만 나와 있는 상황에서 시험이 어땠는지 파악하기 위해 파이썬을 활용해 보도록 하자! 파이썬으로 평균, 표준편차, 백분위 구하기 (실습) 본 글에서 수행할 내용은 기초적인 파이썬 문법만 익히고 있다면, 쉽게 따라올 수 있는 난이도이다. 교수님께서 올려주신 시험 성적 자료에는 말 그대로 학번과 시험 성적만 포함하고 있다. 대충 눈대중으로 시험을 잘 봤는지 아닌지 파악할 수 있지만, 정확한 나의 위치는 알기 어렵고 결국 최종 성적은 내가 상위 몇프로 안에 들었는지에 의해 결정되므로 내가 정확히 어느 정도 위치인지가 궁금했다. 다행히도 pdf 파일로 올라온 파일은 드래그가 가능했다. 파이참에 복사 붙여..
2023.05.29 -
R을 통한 중심성 지수(degree, closeness, betweenness)를 활용한 Network Analysis와 Link Prediction
실제 네트워크 데이터를 통하여 중심성 지수를 계산해 Network Analysis를 수행하고, Link Prediction 또한 수행해 보고자 한다. R을 통한 Network Analysis와 Link Prediction (1) 자료 선정 이유 내가 선정한 네트워크 데이터는 ‘karate’ 파일이다. 이 데이터는 ‘social network of friendships between 34 members of a karate club at a US university in the 1970s’이란 내용을 가지고 있는데, 평소 SNS 플랫폼에서 ‘알 수도 있는 사람들’ 등의 추천 친구를 어떤 형식으로 뽑아내는지에 대한 내용에 관심이 많았던 터라 이 데이터를 선정하게 되었다. 34 명의 사람들이 어떤 관계를 형성..
2023.05.29 -
R을 통한 Topic Modeling (LDA) - 음식물 쓰레기 처리기 기술
오늘은 R을 활용하여 Topic Modeling 그 중에서도 LDA알고리즘을 통해서 음식물 쓰레기 처리기 기술에 대해 분석해 보도록 하겠다. R을 활용하여 LDA를 사용해 보자 (1) 주제 선정 과정 현재 2023년 캠퍼스 특허 유니버시아드가 시작하여 여러 문제들이 출제 되었다. IT, 전기, 전자, 조선, 기계, 금속, 환경, 화학, 생명, 에너지와 관련한 여러 주제들이 있는데 그 중에서 '음식물쓰레기처리기 기술' 이라는 주제를 활용해 개인적으로 분석해보고자 한다. ‘쓰레기’라는 주제는 이미 많은 분야에서 주목받고 있다. 우주 쓰레기, 바다 쓰레기, 생활 쓰레기 등등 각종 쓰레기는 전 세계적인 사회적 문제로 다가왔고, 이를 처리하는 기술에 대한 관심 또한 증폭되었다. 특히 ‘음식물 쓰레기’는 생활 쓰레..
2023.05.12 -
파이썬 Pandas 기초부터 심화까지 - 1 (인덱싱, loc, 결측치)
오늘은 데이터 프레임을 다루는 대표적인 파이썬의 라이브러리인 Pabdas에 대해 공부해 보려고 한다. PANDAS 기본 학습을 위해 pandas에서 기본적으로 제공하는 train.csv 파일을 이용해 보자. df = pd.read_csv('train.csv') #train.csv가 위치한 경로 지정 !! df df에 csv파일을 읽어 저장해 주면 600행 12열의 데이터 프레임 형태로 출력할 수 있다. 다음은 인덱싱과 슬라이싱에 대해 알아보자. df.loc[0] # Series 형태 df.loc[[0]] # DataFrame 형태 loc[0]를 통해 정보를 불러오면 가장 첫 번째 행을 불러올 수 있고, loc[[0]]을 사용하면 그 행을 데이터프레임 형태로 확인할 수 있다. df['title'] 열에 대..
2023.05.11 -
머신러닝 분류 모델 평가 지표에 대한 모든 것
분류 모델 평가 분류 모델이란? 로지스틱 회귀는 '회귀'라는 이름을 가지고 있지만 일반적인 회귀 모형이 '예측'이라는 역할을 하는 대신 '분류'를 하는 모델이다. 분류(Classification)란 학습 데이터가 주어졌을 때, 해당 학습 데이터의 독립변수들을 이용하여 클래스를 예측하는 것이다. 즉 입력값을 입력하면 특정한 출력값을 배출하는 지도 학습(Supervised Learning)이다. 분류 모델의 성능 평가 모델이 분류를 얼마나 잘 수행했는지를 평가하는 여러 가지 방법과 지표가 있다. 그 내용에 대해 알아보자. 정확도 (Accuracy) 정확도 = (클래스를 올바르게 분류한 데이터의 수) / 전체 데이터의 수 정확도는 일반적으로 가장 많이 사용하는 기준이지만 클래스가 애초에 불균등한 상태라면 문제..
2023.05.07