[BDA 11기] 데이터 분석 모델링(ML1) - 8주차
·
BDA-11th
📈 성능 - 교차검증성능의 목표와 향상1. 모델링의 목표모집단(population) : 우리가 알고 싶은 모든 데이터의 집합. 과거의 데이터, 미래의 데이터도 모집단의 부분집합에 포함. 우리가 가지고 있는 모든 데이터셋은 모집단의 부분집합임 = Training Set 역시 모집단의 부분집합.따라서 모델링의 목표는 부분집합을 학습해서 모집단(혹은 모집답의 다른 부분집합)을 적절히 예측하는. 즉 적절한 성능(일반화 성능)을 확보하는 것.2. 성능 향상을 위한 노력[일반화 성능]모델이 처음 보는 새로운 데이터에서도 얼마나 잘 예측하는지 나타내는 객관적인 성능 지표.단순히 훈련 데이터에서 높은 점수를 내는 것(=과적합)과는 구별해야 함! [성능을 높이는 방법]*방법 1. 성능의 평균으로 평가 *하나의 훈련/검..
[BDA 11기] 데이터 분석 모델링(ML1) - 7주차
·
카테고리 없음
🛸 기본 알고리즘 4 - 최근점 이웃(KNN)KNN(k-Nearest Neighbor)KKN은 거리 기반으로 예측하는 알고리즘으로, 예측하려는 점과 가장 가까운 K개의 이웃 데이터를 이용해 값을 결정한다. 1) 예측해야 할 데이터와 주어진 데이터의 모든 거리를 계산2) 가까운 거리의 데이터를 K개 만큼 찾은 후3) 회귀 또는 분류 문제인지에 따라 예측값을 계산3-NN for Regression연속적인 값 예측할 때 사용 (1) 데이터의 모든 거리를 계산(2) 그 중에서 가장 가까운 3개를 선택(3) 그 3개의 평균 -> 예측값 3-NN for Classification가장 많이 등장한 클래스(다수결)을 예측 (1) 모든 거리를 계산(2) 가장 가까운 3개를 선택(3) 3개의 클래스 중 가장 많이 나타나..
[BDA 11기] 데이터 분석 모델링(ML1) - 6주차
·
BDA-11th
🌱Decision Tree 개념Decision Tree의 구조*root node : * decision tree의 맨 위의 node부모가 없는 노드, 트리에서 유일함leaf node : decision tree에서 말단에 위치한 node자식이 없음 간선(edge) : 노드를 연결하는 선 (link, branch 라고도 부름)트리의 크기(max_depth): root node에서 leaf까지 도달하기 위해 거쳐야 하는 간선의 수 e.g. 위의 사진의 depth = 2Tree 알고리즘이 제공하는 것들변수 중요도 : 모델링 이후, 모델에서 중요한 변수를 수치화해서 제공함 모델링 중에서 유일함! "AVERAGE_CALL_DURATION"와 " COLLEGE" 사이 급격하게 변하는 구간을 기준으로 중요도가 급..
[BDA 11기] 데이터 분석 모델링(ML1) - 5주차
·
BDA-11th
🌳기본 알고리즘3: Decision TreeDecision Tree(의사결정 나무)특정 변수에 대한 규칙을 적용하여, 나무의 가지가 뻗는 형태로 분류해 나가는 알고리즘[장점]분석 과정이 직관적이고 이해하기 쉬움Regression, Classification 둘 다 가능계산 비용이 낮아 대규모의 데이터 셋에서도 비교적 빠르게 연산 가능모델링 기본 틀필요한 함수 불러오기 # 모델링을 위해from sklearn.tree import DecisionTreeClassifier# 평가를 위해.from sklearn.metrics import *선언 및 학습# 모델 선언model = DecisionTreeClassifier()# 학습model.fit(x_train, y_train)검증: 예측pred = model...
[BDA 11기] 데이터 분석 모델링(ML1) - 4주차
·
BDA-11th
🏹로지스틱 회귀Logistic Regression문제점만약, 회귀식이 f(x) = 0.7*x - 0.2 라면 -> f(x)의 범위는 (-∞, ∞)그러나 실제 Y의 값은 0부터 1임!해결법x가 커질수록 f(x)는 ∞가 아닌 1에 가까워짐x가 작아질수록 f(x)는 0에 가까워짐로지스틱 회귀개념:선형회귀의 결과를 확률(0~1)로 변환하기 위해 사용하는 분류 기법선형 회귀 결과를 시그모이드 함수(Sigmoid function)를 통하여 확률값으로 변환함수식:로지스틱 회귀 해석하기파라미터(계수=coefficient)가 음수이면 확률(P(x))은 내려간다.파라미터가 양수이면 확률은 올라간다. (= 1일 확률이 높다)분류문제 평가:Confusion Matrix 예측 Positive예측 Negative실제 Posit..
[BDA 11기] 데이터 분석 모델링(ML1) - 3주차
·
BDA-11th
지도학습 기본 알고리즘 - 선형회귀오차의 비로 평가하기 - R²평균 모델의 오차와 회귀모델 오차평균 모델과 실제 값의 차이 - SST평균 모델과 회귀 모델과의 차이 - SSR실제 값과 회귀 모델과의 차이 - SSE 오차 해결율: R²-squared평균 모델의 오차 대비 회귀 모델이 해결한 오차의 비율(= 결정계수, 설명력)회귀 모델이 얼마나 오차를 해결했는지?오차의 양과 율로 평가하기오차 계산실제값예측값ErrorMSEMAEMAPEyŷy - ŷ(y - ŷ)²|y - ŷ||y - ŷ|/y642422/656-1111/51293933/12220000오차의 평균 계산Sum Squared Error (SSE) = 14 Mean Squared Error (MSE) = 14 / 4 = 3.5 Root MSE (RM..
[BDA 11기] 데이터 분석 모델링(ML1) - 2주차
·
BDA-11th
지도학습 기본 알고리즘1 - 선형회귀데이터 준비1. 데이터 전처리모든 셀에는 값이 있어야 한다. -> 그냥 빈 값이라고 해도 NA, NaN과 같은 결측값을 넣어줘야 한다. 모든 값은 숫자여야 한다. -> e.g. Yes나 No 같은 값은 1이나 0 같은 값으로 넣는다. 값의 범위를 일치시켜야 한다. 2. 가변수화데이터는 머신러닝 알고리즘에 사용하려면 숫자로 변환해야 한다. One-Hot-Encodingpandas의 get_dummies()와 같은 함수를 사용하여 가변수화 시킨다.3. 데이터 분할(1) - x, yx(input): features, 요인, 설명 변수y(output): target, label, 종속 변수 4. 데이터 분할(2) - trian, validation, testTrain: 학습용..
[BDA 11기] 데이터 분석 모델링(ML1) - 1주차
·
BDA-11th
BDA 학회에 대하여📍BDA 학회를 선택한 이유나는 컴퓨터공학과에서 4학기를 마치고 휴학 중이다. 휴학을 한 이유는 학부에서 배울 수 없는 내용을 추가로 공부하거나 나에게 잘 맞는 분야를 탐색해 보기 위해서이다. 최대한 다양한 분야의 활동을 찾아보던 중 BDA학회의 인스타그램 광고를 보게 되었다. BDA 학회는 (사)한국빅데이터학회 산하 기관으로 전국 대학생 연합 빅데이터 학회 및 실무 연계 학회이다. 특히, BDA 학회는 현재 빅데이터 분석 학회 중 학회원 수 1위를 기록하며, 전국 70개 이상 대학에 네트워크를 가지고 있다.사실 더 끌린 건 실질적인 활동들이다. 신뢰도 있는 강사님의 정규 강의를 통해 개념을 배우고 과제를 통해 스스로 학습할 수 있도록 한다. 또한, 원데이 클래스, 현직자 강의, 공..
Calculator App in Android Studio(3)
·
개인 프로젝트
실행 화면갤럭시 S23+ 실행 화면코드 해설onCreate 함수1. solutionTV, resultTV 초기화solutionTV = findViewById(R.id.solution_tv)resultTV = findViewById(R.id.result_tv)2. 숫자 및 연산자 버튼 초기화 val buttonsIds = listOf( R.id.button_0, R.id.button_1, R.id.button_2, .... R.id.button_openBracket, R.id.button_closeBracket, .... ) for (id in buttonsIds) { val button = findViewBy..
Calculator App in Android Studio(2)
·
개인 프로젝트
activity_main.xml 꾸미기1. round_button.xml 파일 만들기 But, 사실 이 파일은 굳이 만들지 않아도 activity_main.xml에서 커버 가능하다.2. 상단에 "SJ Calculator" 안내 문구 이 문구가 정말 구리다는 거 알고 있다... 미감이 똥이 되버렸다... 하지만 안하면 허전해 ㅋㅋ3. 입력받는 숫자와 결과값을 보여주는 TextView 각각 'solution_tv', 'result_tv'라는 id를 주었다.4. 총 12개의 버튼 만들기 .... ..... 과정을 반복해서 12개의 버튼..