고양이의 데이터 과학: 제2부분

데이터 준비


이제 당신이 해결해야 할 문제 유형에 대해 알게 되었습니다. 호만에게서 받은 데이터를 보기로 결정했습니다.세상에!도처에 숫자가 있다.한 번만 보면 며칠이 걸린다.호만은 데이터 파일에 대고 쉬쉬하며 으르렁거리는 것을 보고 웃으며 읽지 말고 시각화된 데이터가 필요하다고 말했다.곤혹스럽게 그를 보고 있을 때, 그는 데이터의 모양을 보기 위해 데이터를 도형으로 그려야 하며, 왜 이렇게 보이는지 이해해야 한다고 설명했다.처음에, 당신은 도형을 그리기 위해 기이한 도구나 대량의 코드를 작성해야 한다고 생각했습니다.Hooman은 Microsoft Excel 같은 간단한 도구만 사용하면 멋진 그림을 그릴 수 있다는 것을 보여 줍니다.
도면에 데이터를 그리기 시작하면 값이 부족합니다.틀림없이 누군가가 그날 판매 기록을 추가하는 것을 잊어버렸을 것이다.한숨 쉬다뭐 공부 해요?

너는 도표의 부족한 부분을 너의 호만 친구에게 가리킨다.Hooman은 부족한 값을 찾을 수 있는 방법을 확보한다.맞춰봐야 돼.잠깐만, 너는 무작위로 거기에 값을 넣지 않을 거야, 그렇지?
호만은 지금 너에게 부족한 값을 추측하는 기교를 가르쳐 주고 있다.분실된 데이터의 위나 아래를 거기에 놓을 수 있습니다.평균값을 사용할 수 있습니다.또는 도형의 패턴을 추측하여 부족한 점을 연결할 수 있습니다.
예를 들어 hooman은 다음 그림에서 데이터 포인트가 부족한 위치를 찾아내도록 요구합니다.그림(1)에서 당신의 점은 너무 낮고, 그림(2)에서 당신의 점은 너무 높습니다.그리고 나서 도형이 파도처럼 보인다는 것을 갑자기 깨달았다. 파도 모양이 변하지 않는 방식으로 점을 놓아야 한다.네 말이 맞다, 예!

현재 호만은 현실 생활의 데이터가 매우 복잡하고 소음, 비틀림, 착오를 포함하고 있다고 알려준다.너는 그것들을 간단하게 이미 알고 있는 모양으로 그릴 수 없다. 예를 들어 조금씩 직선이나 파도를 그릴 수 있다.따라서 도면을 알려진 모양에 실제로 가까운 모양으로 해석해야 합니다.일단 네가 너의 도형을 이런 형상과 연결시킬 수 있다면, 너는 반드시 등식을 사용하여 결핍점의 근사한 위치를 찾아내야 한다. 또는 너는 결핍된 데이터의 근사치를 말할 수 있다.이를 보간값이라고 합니다.복잡하게 들리지 않습니까?Hooman은 똑똑한 Hooman이 마술 도구 (예를 들어python의pandas 라이브러리의pandas.DataFrame.interpolate) 를 만들었기 때문에 걱정하지 말라고 한다.그러나 호만은 인터넷에서 기초 지식과 방정식을 검색해야 한다고 주장한다. 왜냐하면 당신이 하고 있는 일에 대해 잘 아는 것이 매우 중요하기 때문이다.에이, 호만인은 정말 싫다.
Hooman은 Pandas를 사용하여 Python에서 이를 실현하는 방법을 보여 줍니다.
호만은 지난 4일 동안 감자칩을 얼마나 먹었는지에 대한 데이터를 주었다.
[0, 2, 알 수 없음, 8]
현재, 그는 내장 함수 pd를 사용하여 이 숫자 집합을 하나의 서열로 변환한다.다음 방법으로 다중 메서드를 사용하여 레벨 및 보간합니다.
s = pd.Series([0, 2, np.nan, 8]) 
s.interpolate(method='polynomial', order=2)
이것은 너에게 3일째 감자칩 몇 봉지를 먹었는지의 근사치를 주었다.
[0, 2, 4.666667, 8]
때때로 도형에서 잘못 보이는 점을 발견할 수 있습니다.

호만 사람들이 잘못을 저질렀거나, 센서가 미쳤거나, 고양이가 일할 때 카운터에 있는 물건을 건드렸을 수도 있기 때문에 이런 불필요한 실수를 저질렀다.지금, 너는 어떤 데이터가 틀렸는지 어떻게 알았니?매번 가능한가요?
응, 방법이 있어.호만은 고양이 동료 10명에게 전화를 걸어 매일 감자칩을 얼마나 먹느냐고 물었다.네가 얼마나 게으른지 알면, 너는 틀림없이 실수를 할 것이다.
네가 너의 친구에게 전화를 했는데, 그들은 너에게 그들이 매일 감자칩을 얼마나 먹는지 알려주었다.다음과 같습니다.
[2, 2, 2, 2, 4, 1, 3, 3, 15, 5]
지금 호만은 "내가 75% 보다 감자칩을 많이 먹는다"고 말하고 싶다면 감자칩을 얼마나 먹을지 아느냐고 물었다.모르지.너는 고양이인데, 너는 어떻게 알았니?호만은 이 숫자를 75퍼센트라고 부른다고 말했다.이와 유사하게'내가 먹은 감자칩이 50% 보다 많다'고 말하기 위해 당신이 완성해야 할 감자칩 가방의 수량은'50퍼센트'라고 불린다.너는 네가 저지른 잘못을 발견하기 위해 25퍼센트의 사람이 더 필요하다.문제는 네가 어떻게 이 숫자를 찾았니?
물론 일부 수학 방정식은 이 숫자들을 찾을 수 있다.호만은 그들을 이해하는 것이 너의 숙제라고 말했다.그는 이 숫자들을 확인하기 위해 내장 함수를 어떻게 사용하는지 보여줄 것이다.호만은 Python의numpy와pandas 라이브러리를 좋아한다.그는 파이썬으로 이런 것을 썼다.
import numpy as np 
data = [2, 2, 2, 2, 4, 1, 3, 3, 15, 5]
Q1 = np.percentile(data, 25, interpolation = 'midpoint') 
Q2 = np.percentile(data, 50, interpolation = 'midpoint') 
Q3 = np.percentile(data, 75, interpolation = 'midpoint')
이는 데이터의 25, 50, 75번째 백분위이며 그 값은 2.0, 2.5, 3.5이다.매일 감자칩 3.5봉지를 넘게 먹으면 75%보다 많이 먹는다는 뜻이다.

현재 호만은 (Q3-Q1)의 값을 4분위 범위 또는 IQR라고 하는데, (Q1-1.5*IQR)보다 낮거나 (Q3+1.5*IQR)보다 높은 값을 모두'이상값'이라고 부른다. 즉, 이 데이터 집합에 속하지 않는다는 것이다.Python으로 작성하려면 다음과 같이 하십시오.
IQR = Q3 - Q1 

low = Q1 - 1.5 * IQR 
up = Q3 + 1.5 * IQR 

outlier =[] 
for x in data: 
    if ((x> up) or (x<low)): 
        outlier.append(x) 
print('outlier in the dataset is', outlier)
지금 너는 네가 수집한 데이터 중 어느 숫자가 틀렸는지 안다.그때는 15살이었다.오류가 어느 값을 기록했는지 아시다시피, 나머지 값의 중값을 사용하여 이상 값을 쉽게 바꿀 수 있습니다.
겸사겸사 한마디 하자면, 너는 실제로 잘못을 저지르지 않았다.너의 친구는 너무 탐욕스러워졌다. 그날 감자칩 가방을 모두 먹고 너에게 이 일을 언급했다.이것은 흔히 볼 수 있는 상황이 아니기 때문에 이상값으로 간주된다!너는 정말 운이 좋다!

좋은 웹페이지 즐겨찾기