목록Coding (81)
exestudiary
# 동전을 3번 던졌을 때 3번 연속 앞면이나 뒷면이 나오는 확률 n = 100000 count = 0 for(i in 1:n){ u = runif(3, 0, 1) coin = as.numeric(u > 0.5) if(coin[1] == coin[2] & coin[2] == coin[3]){ count = count + 1 } } # 동전을 10번 던졌을 때 3번 연속 앞면이나 뒷면이 나오는 확률 n = 10000 count = 0 for(i in 1:n){ u = runif(10, 0, 1) coin = as.numeric(u > 0.5) for(j in 1:8){ if(coin[j]==coin[j+1] & coin[j+1]==coin[j+2]){ count = count + 1 break } } } ..
이항분포 n0 = 30; p = 0.1; mu = n0*p; var = n0*p*(1-p) m = 1000 # 자료 set의 개수(xbar의 개수) n = 100 # 난수 개수 (표본의 개수) xbar = c() for(i in 1:m){ x = rbinom(n, n0, p) #이항분포에서 추출 xbar[i] = mean(x) } xbar_mu = mean(xbar) ; mu xbar_var = var(xbar) ; var/n # histogram hist(xbar, breaks = "fd", prob = T) # theoretical curve ; N(mu, sqrt(var/n)) curve(dnorm(x, mu, sqrt(var/n)), add = T) 포아송분포 lamb = 5 var = lamb ..
### 동전 던지기 ==== k = 0 n = 10000 for(i in 1:n){ u = runif(3,0,1) coin = as.numeric(u > 0.5) if(coin[1] == coin[2] & coin[2] == coin[3]){ k = k + 1 } } k/n ### 동전 던지기 2 ==== x = 0 n = 10000 for(i in 1:n){ u = runif(10, 0, 1) coin = as.numeric(u > 0.5) for(j in 1:(length(u)-2)){ if(coin[j] == coin[j+1] & coin[j+1] == coin[j+2]){ x = x + 1 break # prevent double count } } } x/n
ascending_sorting = function(vec){ sort.rank = matrix(NA, nr = length(vec), nc = 2) for(i in 1:length(vec)){ val = vec[i] rank = 1 for(j in 1:length(vec)){ if(val > vec[j]){ rank = rank + 1 } else { rank = rank } } sort.rank[i,] = c(val,rank) } sort.i = c() for(k in 1:length(vec)){ sort.i = c(sort.i, sort.rank[sort.rank[, 2] == k, 1]) } return(sort.i) } set.seed(100) vec = runif(3, 0, 30) ascend..
train = raw_data_train.copy() test = raw_data_test.copy() submission = raw_data_submission.copy() 원본 데이터를 보존하면서 독립적으로 작업하기 위해 사용 원본 데이터를 직접 수정하는 대신, 복사하여 새로운 데이터프레임을 생성하면 원본 데이터의 무결성 보존 가능 copy() 메서드를 사용하여 원본 데이터를 복사하는 방법은 데이터프레임의 독립성을 유지하고, 원본 데이터와의 연관성을 끊을 수 있음.
클래스 속성 사용하기 class Person: backpack = [] def put_backpack(self, item): self.backpack.append(item) james = Person() james.put_backpack('노트북') maria = Person() maria.put_backpack('파이썬') print(james.backpack) # james는 Person 클래스 이기에 출력가능 print(maria.backpack) # maria는 Person 클래스 이기에 출력가능 > Person 클래스에 바로 backpack 속성을 넣고 put_backpack 메서드를 만든다. > 그리고 인스턴스 2개를 만들고 각각 put_backpack 메서드 사용 > 클래스 속성은 클래스에 ..
인스턴스 변수 > 일반적으로 인스턴스 변수는 생성자 안에 정의를 함. > 예시 class Car: def __init__(self, brand, price): self.brand = brand self.price = price def get_brand(self): return self.brand def get_price(self): return self.price new_car = Car("KIA", 50_000_000) old_car = Car("BMW", 30_000_000) print(f"My old car was {old_car.get_brand()} and the price was {old_car.get_price():,} won.") print(f"My new car was {new_car.g..
생성자 > 인스턴스를 생성하면 최초에 호출되는 메서드 > 생성과 초기화를 동시에 할 수 있는 함수 기본생성자 > 매개변수 self만 있는 기본 생성자 매개변수가 있는 생성자 > 인스턴스 생성 시 초기값을 매개변수로 넘겨줌.
OOP(Object-Oriented Programming - 실행 순서가 아닌 단위 객체를 중심으로 프로그램을 작성.) - 객체: 실생활에서의 모든 자료 (물건) - 모든 객체는 속성과 행동을 가진다. > 객체 지향 프로그래밍은 이러한 객체 개념을 프로그램으로 표현함. 예) 속성 > 변수, 행동 > 함수로 표현 클래스 > 하나의 새로운 데이터 타입을 만드는 것 > 클래스를 사용하는 목적이 변수와 함수를 묶어서 하나의 새로운 객체(타입)로 만드는 것 > 실제 세계에 존재하는 실체(instance)를 객체(object)라고 하고, 객체들의 공통점을 간추려서 개념적으로 나타낸 것 > 어떤 클래스를 만들기 위해서는 그 객체가 갖는 성질(상태, 속성, 변수)과 그 객체가 하는 행동(메소드, 함수)을 정의해주면 된..
Review - 반복문 복습 n = 21 for(i in 1:100){ cat("collatz : NOW =", n, "\n") if (n %% 2 == 0){ n = n / 2 } else { n = n*3 + 1 } if(n == 1){ cat("collatz : END =", n, "\n") break } } 사용자 정의 함수 function(, , ....){} para1, 2 는 매개변수, expression은 매개변수를 활용한 함수식 예시1 Ex0 = function(x) {7*x+5} Ex0(3) Ex1 = function(x){ y = 7*x + 5 # 별도로 객체를 정의하여 값을 저장하면 # 함수를 실행시키더라도 함수값을 출력해주지 않음. } Ex1(4) y # 함수 안에서 만들어진 변수..
