본문 바로가기

Publivate

(215)
[환경구축] 아치 리눅스, venv 부터 jupyter notebook 까지 OS 재설치 이후, jupyter 환경없이 colab만 사용했는데 데이터가 커지니 연결이 끊기는 상황이 발생해서 로컬에 다시 jupyter 환경을 구축했습니다.이 과정에 대한 정리한 내용입니다. 0. python 및 pip 설치저는 이미 python 과 pip 가 설치되어 있어서 설치가 필요하지 않지만, 혹시 몰라 적어둡니다. $ sudo pacman -S python3$ sudo pacman -S python-pip 1. venv를 사용하여 가상환경 구축 python3 부터는 venv가 내장되어 있어, python 에서 실행이 가능하다.*venv: python의 경우 프로젝트마다 사용하는 라이브러리의 버전 등이 상이한 경우가 많다. (ex. tensorflow 1.x / 2.x / gpu) 이 경우 라..
A/B 테스트 A/B 테스트: 두 집단 평균 비교, 비율 비교 t테스트: 두 집단 평균 비교 기본가설: 평균의 차이가 없다. 두집단의 평균의 차이가 0근처면 T-test 결과 p-value 유의수준 0.05 보다 작으면 가설이 유의하지 않다. 카이 제곱 테스트: 두 집단 비율 비교 카이 제곱이 크면 p-value 작아짐 (예상치와 측정치 차이가 큼) 군집화: 전체 데이터 중 비슷한 데이터끼리 하위 군집 만들기 k-means 군집화 범위의 다르면 범위의 크기가 큰 것으로만 군집이 이루어지기 때문에 1. 변수 - 최소 / 최대 - 최소 2. 표준정규분포 = (변수의값 - 평균값)/표준분차 계층 군집화 전체 집합이 하나가 될 때까지 군집 원하는 군집이 되는 구간을 자르면 됨
[딥러닝] tf.GradientTape(), gradient() 이해하기 처음 딥러닝을 공부할 때, x_data = [1,2,3,4,5] y_data = [1,2,3,4,5] W = tf.Variable(2.0) b = tf.Variable(0.5) with tf.GradientTape() as tape: hypothesis = W * x_data + b #hypothesis cost = tf.reduce_mean(tf.square(hypothesis - y_data)) #cost W_grad, b_grad = tape.gradient(cost, [W, b]) #W_grad = 25.0, b_grad = 7.0 W.assign_sub(learning_rate * W_grad) b.assign_sub(learning_rate * b_grad) 이 부분이 나오는데 실제로 함수가 ..
[머신러닝] knn 가장 가까운 k개의 데이터들 중 가장 많이 있는 데이터를 속하는 데이터랑 같은 타입으로 분류. 이 때 거리 별로 가중치를 주면 더 정확할 가능성이 높음 ps.처음 배울 때 k-means와 많이 헷깔렸었다. 이름이 둘다 k로 시작해서..
[머신러닝] 군집분석 어떤 데이터에서 데이터가 어떻게 무리를 지었는 지 패턴을 알아보는 것 k-means: 1. k개 의 평균 벡터 설정 2. 가장 가까운 점들을 같은 군집으로 설정 3. 군집별로 평균을 바탕으로 가장 가까운 점 추가 2~3 반복 4. 평균이 거의 변화가 없을 때까지 반복
[머신러닝] 의사결정 나무 엔트로피가 낮은 값 기준을 최우선으로 나눈다. 엔트로피: 데이터가 순수하고, 잘 정리되어 있는 지 측정하는 수치 (작을 수록 좋음) 공식: - p(xi)log p(xi) 의 합 p는 확률 스무고개처럼 질문에 따라 분기하면서 결정 너무 많은 분기 시 오버피팅이 일어날 확률이 높음
[머신러닝] 다차원 분석 속성 조사 - 속성 간 거리 도출 - 그룹핑 거리 계산 1. 유클리드 공식: 일반적인 좌표계에서 구하는 방식인 ((x1-x2)^2 + (y1-y2)^2)^1/2 2. 민코우스키 공식: 유클리드의 확장판(변수가 여러개) 3. 코사인 거리: 두 벡터 사이의 각도 cos(x, y) = xy/|x||y| 4. 상관관계 거리: 통계학 이용 ....
[java/db/실수] prepareStatement에서 setString 후 결과가 없는 문제 SELECT COL1 FROM TABLE WHERE COL2 = ?위와 같는 prepareStatement 에서 setString 으로 값을 넘겨준 뒤, resultSet으로 결과를 받은 뒤, next() 함수로 확인해보니 값이 들어가지 않았다. 실제 쿼리를 실행해보면 잘 작동했고 setString과 ? 없는 쿼리를 하면 잘 작동했다. 1) 인자에 공백이 포함되어 있나 확인해봤지만 공백은 없는 것처럼 보였다. oracle 기준 prepareStatement를 출력해봐도 setString 후의 쿼리가 보이질 않았어 난항이었다. 2) setString의 사용 문제로 추정되었고 위의 문제로 쿼리문 자체를 출력은 안 돼서 쿼리문을 수정하여 확인해보았다.SELECT COL1, ? FROM TABLE이런식으로 쿼리..