728x90

전체 글 92

[Python] 분산 분석(ANOVA) : feat.크루스칼-왈리스 순위합 검정- (2)

이전 게시물에 이어서 만약 등분산이었을 때의 분산분석을 해보자. stats.f_oneway(iris.loc[iris.species == "setosa", "petal_length"], iris.loc[iris.species == "versicolor", "petal_length"], iris.loc[iris.species == "virginica", "petal_length"]) ------------------------------------------------------------------------- F_onewayResult(statistic=1180.161182252981, pvalue=2.8567766109615584e-91) 등분산 일 때의 분산분석은 stats.f_oneway() 를 사..

[Python] 분산 분석(ANOVA) : feat.(SST,SSE,SSB) - (1)

분산 분석(ANOVA : Analysis of Variance) k 개의 집단을 비교하여 다름을 판단하는 것. (k : 3개 이상의 유한한 개수) 분산 분석의 대립가설은 많은 경우의 수를 가지고 있다. 그래서 최소한 2개의 집단은 차이가 있을 것으로 판단한다. 일표본 검정 -> 독립 2표본 -> 분산분석 -> 회귀분석으로 확장된다. 모집단 A, B, C 가 있고 모두 정규분포를 따른다고 가정한다. 각각의 모집단에서 표본을 추출하는데 데이터 2개씩 가져온다고 가정해보자. 우리는 뽑아낸 표본들의 데이터들에 대해 Y의 다름이 얼마나 되는지 측정하고 싶다. 하지만 데이터에서 전체 평균을 빼고 모두를 더하면 무조건 0 이 나온다. 그래서 그 편차를 제곱을 한다. SST = SSE(Sum of Square Erro..

[프로그래머스] level2 스킬 트리

문제 코딩테스트 연습 - 스킬트리 programmers.co.kr 코드 def search(a,b): c = list(b) d = 1 for i in range(len(c)-1,-1,-1): if(c[i] not in a): del c[i] if(len(c) == 0): d = 1 else: for i in range(len(c)): if(c[i] != a[i]): d = 0 return d def solution(skill, skill_trees): answer = 0; skill = list(skill) for i in range(len(skill_trees)): answer += search(skill,skill_trees[i]) return answer 코드풀이 skill : 선행되야 할 스킬 s..

코딩코딩 2020.09.09

[독서노트] 작가들의 비밀스러운 삶 - 기욤 뮈소(스포 x)

읽는 데 단 이틀이 걸렸다. 일정만 없었으면 하루 안에 다 읽었을 정도로 전개에 눈을 뗄 수 없는 소설이었다. 책을 결정하는데는 표지 디자인, 작가, 장르, 목차(프롤로그) 등 많지만 역시 가장 영향이 있는 것은 작가인 것 같다. 기욤 뮈소의 글에 팬이다보니 한 번이라도 더 눈이 가는 건 사실인 것 같다. 엄청난 흥행으로 유명해진 작가 "네이선 파울스" 어떠한 이유인지 갑자기 절필선언을 하고 자연이 훼손되지 않는 보몽 섬에 칩거하게 된다. 평소 네이선의 팬이었던 작가 꿈나무 라파엘 바타유는 글을 써 출판사에 보였지만 퇴짜를 당한다. 그는 그의 글을 네이선에게 보이고 싶어 보몽 섬에 그레구아르 오디베르가 운영하는 서점에 일자리를 찾아 들어간다. 한편, 많은 비밀과 미스터리를 남기고 간 네이선을 파보기 위해..

독서노트 2020.09.07

[Python] 카이제곱 검정(교차분석)

# 카이제곱 검정(Chi-square : χ2) 질적자료와 질적자료간에 서로 통계적으로 관계가 있는지 판단하는 검정 카이제곱 분포를 기반으로 관찰된 빈도와 기대되는 빈도와 의미있게 다른지 여부를 검증한다. 예시를 통해 알아보자. - 예제 데이터 수집 귀무가설 : 성별과 사람이 안경을 쓰는 것은 관련성이 없다. 대립가설 : 성별과 사람이 안경을 쓰는 것은 관련성이 있다. 만약 합계는 변하지 않는다고 가정했을 때 귀무가설이 맞다면 예상할 수 있는 값이 있을 것이다. 그것이 바로 기대값(Expected Value) 이다. 그래서 관찰된 값과 기대값 사이의 차이가 거의 없으면 귀무가설을 따를 수 있다. 하지만 관찰된 값과 기대값 사이의 차이가 많다면 대립가설을 따를 수 있다. 이 때, 기대값을 모두 더한 값은 ..

[프로그래머스] level1 완주하지 못한 선수

문제 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수�� programmers.co.kr 코드 import collections def solution(participant, completion): answer = collections.Counter(participant) - collections.Counter(completion) return list(answer)[0] 코드풀이 매우 짧다. # collections.Counter() 배열의 원소들을 세주는데 특화되어 있다. 중복되는 원소가 있으면 그 원소들의 개수도 나..

코딩코딩 2020.09.02

[Kaggle] Bike Sharing Demand (1)

Bike Sharing Demand Forecast use of a city bikeshare system www.kaggle.com Kaggle 를 통해 처음 공부해볼 것은 "Bike Sharing Demand" 이다. train.csv 데이터를 이용해 학습하고 test.csv 를 활용하여 count 를 예측하는데에 목적을 둔다.. Data Fields datetime : 날짜 season : 1 = spring | 2 = summer | 3 = fall | 4 = winter holiday : 휴일인지 여부 workingday : 근무일인지 여부 weather : 1, 2, 3, 4 종류별로 다름 temp : 온도 atemp : 체감온도 humidity : 습기 windspeed : 풍속 casual..

[독서노트] 빅데이터를 지배하는 통계의 힘

이 책을 처음 알게된 것은 여의도 KBS에서 잠깐 일하고 있던 때이다. 같은 부서 분에게 데이터 분석 분야에 관심이 많다고 했더니 데이터 분석을 하시는 분을 소개시켜주셨다. 나는 이것저것 물어보기 위해 질문거리를 한아름 들고 찾아갔고 많은 이야기를 나누었다. 그리고 추천도서를 물었을 때 알려주셨던 도서를 드디어 읽게 되었다. 이 책은 통계의 필요성과 중요성을 알려주는 책이라 이 분야에 대해 입문하는 사람들에게 도움이 될 것 같다. “읽기, 쓰기 능력과 마찬가지로 통계학적 사고 역시 장차 사회인이 갖춰야 할 기본교양이 될 것이다.” - 1903년 H. G. 웰스 이 책에서 "통계학"은 이렇게 정의한다. * 통계학 : 집단현상을 수량적으로 관찰하고 분석하는 방법을 연구하는 학문. 그렇다면 통계학은 언제 실제..

독서노트 2020.08.30

[Python] 대응 2표본 검정(Paired test) - (2)

♪ 대응 2표본 검정 - (1) Paired t-test - (2) Wilcoxon's signed rank test 이전 게시물에서는 대응 2표본 t 검정(Paired t-test) 에 대해서 알아봤다. 하지만 정규성이 만족했을 때의 이야기이므로 이번에는 정규성 가정이 깨졌을 때를 이야기해보자. Wilcoxon's signed rank test 사전(pre)과 사후(post)가 함께 있으니 두 집단처럼 보이지만 사전 - 사후 이니 결국 한 집단이다. 결국 D(difference) 만 본다면 일표본 검정과 같아진다. 그래서, 사전의 양적 자료와 사후의 양적 자료를 뺀 값이 정규성 가정을 만족하지 않을 때 사용한다. [가설검정] 귀무가설 : 다이어트는 몸무게를 줄이는 것에 효과가 없다. (사전 몸무게 = ..

[프로그래머스] level2 더 맵게 - 파이썬(Python)

문제 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같�� programmers.co.kr 코드 import heapq def solution(scoville, K): heapq.heapify(scoville) first = heapq.heappop(scoville) length = len(scoville) if(first >= K): return 0 elif(length == 1 and scoville[0] < K): return 1 else: for i in range(1, length): second = heapq.heapp..

코딩코딩 2020.08.28