목록전체 글 (28)
Codelog
📌 mutable > list, set, dict 📌 immutable > bool, int, float, str, tuple, frozenset 변수 간 대입 mutable한 객체의 변수 간 대입 a = [1, 2, 3] b = a# shallow copy b[0] = 5 a >>> [5, 2, 3] b >>> [5, 2, 3] id(a) >>> 4396179528 id(b) >>> 4396179528 ✨ list의 얕은 복사 b에 a를 할당하면 값이 할당되는 것이 아니라 같은 메모리 주소를 바라본다. 따라서 b를 변경하면 a도 같이 바뀐다. mutable한 다른 객체 또한 똑같은 현상이 나타난다. immutable한 객체의 변수 간 대입 a = "abc" b = a a >>> 'abc' b >>> '..

📌 Mutable : 수정 가능한 객체 > list, dict 📌 Immutable : 수정 불가능한 객체 > int, float, str, tuple a = 'python1' id(a) >>> 2569647077488 a = 'python2' id(a) >>> 2569647077360 'python1' 라는 문자열 객체가 메모리의 2569647077488 번지에 할당되고 해당 객체를 a라는 변수가 바인딩한다. 'python2' 라는 문자열 객체가 메모리의 2569647077360 번지에 할당되고 해당 객체를 a라는 변수가 바인딩한다. 'python1' 라는 문자열 객체는 아무도 자신을 참조하지 않기 때문에 가비지 컬렉터에 의해 자동으로 메모리에서 소멸된다. 문자열 객체는 수정 불가능하기 때문에 기존 객..

💡 Classification 문제 회귀 문제에서는 보통 타겟 변수의 평균값을 기준모델로 사용한다. 분류 문제에서는 보통 타겟 변수에서 가장 빈번하게 나타나는 범주를 기준모델로 설정한다. 시계열 데이터는 보통 어떤 시점을 기준으로 이전 시간의 데이터가 기준모델이 된다. 분류 문제에는 타겟 변수가 편중된 범주 비율을 갖는 경우가 많아서 항상 먼저 타겟 범주의 비율을 확인해야 한다. 또한 분류에서는 회귀와 다른 평가지표를 사용한다. 정확도(Accuracy)는 분류 문제에서 사용하는 평가지표이다. 💡 Logistic Regression 로지스틱 회귀는 특성변수를 로지스틱 함수 형태로 표현한다. 따라서 결과적으로 관측치가 특정 클래스에 속할 확률값으로 계산된다. 분류 문제에서는 확률값을 사용하여 분류를 하는데,..

💡 One-hot Encoding import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns df = pd.DataFrame({ 'City' : ['Seoul', 'Seoul', 'Seoul', 'Busan', 'Busan', 'Busan', 'Incheon', 'Incheon', 'Seoul', 'Busan', 'Incheon'], 'Room' : [3, 4, 3, 2, 3, 3, 3, 3, 3, 3, 2], 'Price' : [55000, 61000, 44000, 35000, 53000, 45000, 32000, 51000, 50000, 40000, 30000] }) # 데이터 확인 df out..

💡 편향 (Bias) The inability for a machine learning method (like linear regression) to capture the true relationship. (실제 데이터를 따라잡지 못하는 정도) Because the Straight line can't be curved like 'true' relationship. ↔ Squiggly line (구불구불한 선) did a great job fitting the training set, but it did a terrible job fitting the testing set. (= Overfitting, 과적합) 💡 분산 (Variance) The difference in fits between data s..
문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 코드 # 프로그래머스 - 완주하지 못한 선수 def solution(participan..

✨ PCA , 주성분분석 주성분분석은 여러 개의 반응변수로 얻어진 다변량 데이터에 대해, 분산-공분산 구조를 선형결합식(주성분)으로 설명하고자 하는 분석 방식이다. PCA는 대표적인 차원 축소 알고리즘으로, 먼저 데이터에 가장 가까운 초평면(hyperplane, 또는 축)을 구한 다음 데이터를 이 초평면에 투영(projection)시킨다. PCA는 데이터의 분산이 최대가 되는 축을 찾는다. 즉, 원본 데이터셋과 투영된 데이터셋 간의 평균제곱거리를 최소화하는 축을 찾는다. 위 그림에서 오른쪽 그림은 왼쪽의 2차원 데이터셋을 C1, C2 축에 대하여 투영하였을 때의 결과이다. C1축으로 투영한 데이터가 분산이 최대로 보존되는 것을 확인할 수 있다. 주성분분석의 목적 1. 차원 축소 2. 변동이 큰 축 탐색 ..

💡 지도학습 (Supervised Learning) : Comparing Classification & Regression Purpose Supervised Classification → Is this A or B? Regression → How much / How many? output type Supervised Classification → discrete output (class or label 형식) Regression → continuous output (number 형식) what are you trying to find Supervised Classification → decision boundary Regression → best fit line evalution Supervised Cl..