출처: https://astrocosmos.tistory.com/202 [ASTROCOSMOS:티스토리] 'Aivle School 4기' 카테고리의 글 목록 (3 Page) :: 하나둘셋넷
728x90

KT Aivle School 에이블스쿨 기자단] 10.02(월) ~ 10.8(일) 코랩 결제, AICE, 듀얼 모니터

 

내용

  • 구글 코랩 결제
  • AICE ASSOCIATE 무료 응시 기회!!
  • 집에 있던 모니터와 듀얼 모니터 연결

미프를 위한 구글 코랩 결제

구글 코랩 결제

 원활한 미프 진행을 위해 KT에서 구글 Colaboratoy Pro 버전 비용을 지원해주었다

 인공지능 학습을 위해서는 GPU의 성능이 중요했기 때문이고, 앞으로는 T4 GPU 기능을 원활하게 사용할 예정

 

 

AICE 자격증

AICE 자격증

 KT AIVLE School에서는 특별히 에이블러들을 위해 AICE 자격증 ASSOCIATE 등급 시험 비용을 지원해주고 있다.

 AI 역량 개발을 위하여 KT가 만든 자격증으로 이 자격증을 공부하고 취득한다면 AI 역량을 키워감에 있어 큰 도움이 될 거라 생각한다.

 수업 때 공부한 인공지능 이론을 다시 복습하며 자격증에 도전하려고 한다.

 

집에 있던 모니터와 듀얼 모니터 연결

그동안은 Twomon SE 어플을 통해 아이패드를 듀얼 모니터로 사용하고 있었으나 코드가 점점 길어지고 내용이 복잡해지며 한계를 느꼈다. 물론 실력이 더 좋았다면 문제가 없었겠지만...

아이패드 듀얼모니터 어플
집에 있던 모니터와 듀얼 모니터 설정

 HDMI 케이블을 찾기가 귀찮아서 그동안 집 모니터와의 연결을 피했지만, 이제는 연결을 해야겠다는 생각으로 세팅을 완료했다. 확실히 아이패드가 아니라 큰 데스크탑 모니터를 연결하니 다르다고 느꼈고 진작하지 않은 것에 아쉬움을 느꼈다. 앞으로는 이 세팅을 통해 능률을 Up! 할 예정

728x90
728x90

KT Aivle School 에이블스쿨 기자단] 9.25(월) ~ 10.1(일) 미프, 딥러닝, 코딩 테스트

내용

  • 미프 4일차 기억에 남는 부분 : 수치형 데이터를 만들기 위한 노가다...
  • 딥러닝 1일차 종합실습_carseat
  • 코딩 테스트 메일 도착

미프 4일차 기억에 남는 부분 : 수치형 데이터를 만들기 위한 반복 작업...

원본 데이터

 위의 데이터를 보면 수치형 데이터로 나타나지 않은 부분들이 있기 때문에 데이터 분석을 위하여 모두 수치형 데이터로 바꿀 필요가 있었고,

 "범주형 데이터"  ⇒ "수치형 데이터" 과정은 손가락 아픈 반복 작업이 필요했다

완성
완성을 위해 필요했던 코드

 미프가 다 끝나고 완성한 부분을 간추려 보니, 별거 아니라고 느껴지긴 하지만

 미프를 진행하는 동안에는 같은 작업을 여러 번 계속 하다보니 손가락이 아프게 느껴져 기억에 남는 부분 중 하나가 되었다.

 

딥러닝 1일차 종합실습_carseat

딥러닝 회귀 모델을 사용하여 carseat 종합실습을 진행하였다

데이터 설명
데이터 형태
코드 모습

 

* model을 생성하기 전에 필수는 아니지만 clear_session()을 하는 것이 권장된다.

코드는

from keras.backend import clear_session

clear_session()

 

* 모델을 생성할 때는 Sequential 모델을 사용하고, Dense 레이어를 이용

히든 레이어에는 relu를 activation으로 사용

 

from keras.models import Sequential

from keras.layers import Dense

 

model = Sequential([Dense(18 ,input_shape = (nfeatures,) , activation = 'relu' ),

                    Dense(4, activation='relu') ,

                    Dense(1) ] )

 

 

코딩 테스트 메일 도착

 

아직 코딩 실력이 부족하다고 느끼지만, 어차피 실전을 겪고 깨져봐야 실력이 늘거라 생각해서 시험을 신청했다

728x90
728x90

KT Aivle School 에이블스쿨 기자단] 9.18(월) ~ 9.24(일) 미니 프로젝트 3차

이번주 스케줄

  • 월~화 비지도 학습
  • 화 공모전 회의, 해커톤 제출
  • 수목금 미니프로젝트
  • 금 회식
  • 일 공모전 회의 데이터 88만
  • 일 프로그래머스
  • 기차표 예매 완료 9.21(목) ~ 9.22(금)
  • 처음 이용하는 광주 지하철
  • KTX 안에서 SQLD 공부

 

이번 주 금요일 회식 - 전남대

나는 현재 타지에서 수업을 듣느라 팀원들을 대면으로 보는 거는 이번이 처음이다

노트북을 받을 때 갔던 건물에서 다시 간다는 것 또한 설레는 부분

다만, 아쉬운 거는 이번에 생각보다 회식 참여 인원이 적다는 것이다ㅠ 아쉽긴 하지만 그래도 온 에이블러들과는 즐거운 시간을 보내야지

처음 이용해보는 광주 지하철
회식 장소

KTX 타고 광주 KT로 가는 길
평소 자격증 공부 시간이 없어서 이때라도 시간을 내서 SQLD를 공부했다..
의외로 책상에서 보다 집중이 잘 되는 느낌??

KTX 타고 가는 길에 SQLD 짬짬이 공

 

첫 대면 프로젝트

처음 방문한 교육장

 나는 대면으로 에이블러들을 보는 게 처음이지만 화면으로 거의 매일 봐서 그런지 내적 친밀감은 느꼈다.

 매니저님이나 다른 에이블러들이 반갑게 맞이 해주어서 하루를 기분 좋게 시작!!

 

수업내용

블로그에 간략하게 정리해보았다

성능평가 데이터 해석

 

비지도 학습 K-Means
elbow method로 그래프에서 적절한 k값 : 팔꿈치 부분 찾기

 

 

728x90
728x90

KT Aivle School 에이블스쿨 기자단] 9.11(월) ~ 9.17(일) 해커톤 회의, 코딩 마스터즈 마감, 그 와중에 예비군 작성

이번 주의 스케줄

  • 월~금 KT 에이블스쿨 머신러닝 수업
  • 금요일 코딩마스터즈 마감
  • 토요일 예비군(인천 서구동구 예비군 훈련장)
  • 일요일 5시 해커톤 회의
  • 일요일 8시 프로그래머스 스터디(내가 주관!)
  • 일요일 책 하나 읽을 예정이었으나 예비군, 해커톤, 프로그래머스 스터디 3연타로 포기....
  • 이장래 강사님 마지막 수업
  • 회귀와 분류
  • 공모전 빅콘 --> DBI 2023
  • 코멘토

 

코딩 마스터즈 최종 성적

아직 난 하찮은 실력임을 다시 확인할 수 있었다

 
이번 주는 공모전 준비와 토요일 예비군으로 바빴지만 에이블러라면 이거를 핑계로 삼지는 말자!

이장래 강사님과의 마지막 수업ㅠ

파이썬 기초 문법으로 뵈었던게 얼마 안된 거 같은데
머신러닝 지도학습 수업을 마지막으로 이제 에이블스쿨 교육에서는 뵐 일이 없어졌다ㅠ
나는 인프런 강의에서 또 뵙겠지만 아쉬운건 어쩔 수 없는 거 같다

해커톤 일요일 회의

이번 해커톤 회의에서 개인적으로 기뻤던 부분은 내 아이디어가 매우 긍정적인 평가를 받았던 것이다

나의 해커톤 아이디어


난이도 문제로 살짝의 수정이 필요하지만 develop하는 과정 또한 흥미로울 거라 생각한다

DX 참여자로서 기획, 데이터 부분에서 밥값을 해야한다고 느끼고 있는데 일단 첫 단추는 잘 끼운 듯

아이디어에 대한 자세한 설명은 해커톤이 어느 정도 진행되면 첨부할게요~

 

공모전 변경

처음 함께 서울 공공 데이터 활용 공모전에 나갔던 에이블러들과 새로운 공모전을 탐색 중이다.
나는 다시 조장 역할을 수행 예정이다

기존에 생각했던 빅콘테스트


처음에는 이 공모전을 선정했으나 시간 관리 문제로 서류 작성 시간이 모자라져서 아래 공모전으로 변경했다

최종 결정한 DBI2023 공모전

도메인 지식을 늘리는 데 도움이 될 거 같긴 하지만 아래의 데이터들이 내가 분석해야 할 데이터 목록들... 나 할 수 있겠지...??
10,000개의 기업들을 분석해야 한다. 결측치들은 또 어떻게 처리해야 될라나

공모전 제공 데이터 총 10,000개의 기업 분석

 

내용정리

# 선언하기

model = LogisticRegression()

 

# 학습하기

model.fit(x_train, y_train)

 

 

# 평가하기

print(confusion_maxtrix(y_test, y_pred))

print(classification_report(y_test, y_pred))

학습 완료 시, 출력 결과
평가 실행 시, 출력 결과

# KNN에서 스케일링을 수행하는 이유 검색

언제나 고마운 GPT

# 수업 필기

수업시간 필기

이번주 프로그래머스

이번 프로그래머스 스터디를 진행하며 당황스러웠던 점은 하는 중간에 프로그래머스 팀즈 채널이 삭제된 것이었다!

팀원들에게 자유롭게 팀즈 공간을 꾸밀 수 있도록 모두 소유자 권한을 주었는데 아마 한 분이 실수한거 아닐까 싶다

이번 사태 이후로는 소유자 권한은 현재 리더를 맡고 있은 나만 가질 계획

 

문제풀이

프로그래머스 문제 풀이 중 알쏭달쏭했던 점 겹치는 선분의 길이

 

 

바쁜 스케줄로 읽지도 못하고 반납한 책...ㅠ

 

728x90
728x90

KT Aivle School 에이블스쿨 기자단] 9.04(월) ~ 9.10(일)  시즌 1호 발표 & ADsP 합격

이번 주의 스케줄

  • 미니 프로젝트
  • ADsP 발표
  • 데이터 수집 -> 웹 크롤링을 잘 활용하면 쏠쏠하게 아르바이트를 할 수 있다고 해서 좀 더 흥미가 갔다 “크몽” 사이트는 메모
  • 데이터 분석
  • 이번 셀프 테스트 잘 본건가.. 알쏭달쏭
  • 데이터 분석 삽질 ㅠ

 

2차 미니프로젝트 1일차

시즌 1호 발표 완료~
 
저번 1차 미니 프로젝트에서는 스스로에게 만족스럽지 못해서 열심히 준비한 결과,
 

발표를 하고 칭찬을 받을 수 있었다

 코딩 파일 시작 부분에 뚜렷한 목적성을 잘 나타낸게 어필한 포인트

시즌 1호 발표 완료!! 칭찬 받은 시작 부분 9.06(수)

 

첫 발표라 그런지 우쭈쭈해주는 고마운 팀원들ㅜ 

 이번 주 미니 프로젝트에서 계속 삽질했던 포인트는 상관분석, 카이제곱검정, t검정에서의 p-value에 따른 귀무가설 기각이었다...
 ADsP를 땄다는 녀석이 이런 부분에서 실수를 하니 스스로 한심하게 느껴진 부분

 

이번 수업 리뷰

 

이번주 수업 중 인상 깊었던 내용
수업 때 적었던 내용들 중 일

 브라우저 홈페이지에서 F12를 눌러 페이지 내의 정보를 탐색하는 내용이 흥미로웠다.

 Beautiful Soup 라이브러리, CSS를 열심히 배워서 웹 크롤링을 통해 추후에 해커톤이든 개인 프로젝트에서든 정보 수집 능력을 키우고 싶다는 생각을 했다!!

 

ADsP 합격!!

 
1 과목 만점으로 점수를 많이 딴게 다행
민트 이론 한 바퀴 돌리고, 모의고사 + 기출을 5바퀴 돌리니 시험 때 큰 어려움 없이 문제를 풀 수 있었다
역시 자격증은 무조건 기출 뺑뻉이
 

이번 주 셀프 테스트

 

그동안 셀프 테스트 점수가 잘 나와서 만만하게 봤는데 이번에는 수업 때 이론 부분에서 잘 집중을 못해서 그런지 쉽지 않게 느껴졌다

앞으로 수업에서 딴짓하지 말고 빡 집중 해야지!!

 

 

 

이번 주 프로그래머스 문제 풀이

 

문제 <3진법 뒤집기>
문제 <배열 조각하기>
문제 <수열과 구간 쿼리 2>
문제 <주사위 게임 3>

코드 정리

 

수치형 상관분석 p-value 내림차순 정렬

def pearson_value(df):
    keys = []
    spst_list=[]
    spst_dict = {}
    
    for i in df.columns:
        if ( df[i].dtypes=='int64'):
    #         print(i, base_data[i].dtypes)
            keys.append(i)
    # print(keys)

    # 피어슨 상관분석 p-value 값을 value로 사용하기 위해 준비
    for i in keys:
        spst_list.append(list(spst.pearsonr(df[i], df['Score_diff_total'] ))[1])
    # print(spst_list)
    # print('='*100, '\n상관계수 p-value 출력', sep='')
    spst_dict = dict(zip(keys, spst_list))
    # display(spst_dict)
    
    # 딕셔너리 형태로 만들어 p-value 값을 아래로 오름차순으로 출력
    # lambda 매개변수 : 표현식
    # items를 통해 키-값 쌍을 나타내는 튜플 리스트를 생성
    # key = lambda x : x[1] 부분에서 'x'는 리스트에서 하나의 튜플
    # x[1] 은 value 값을 정렬 기준으로 삼는다.
    spst_dict = sorted( spst_dict.items(), key = lambda x : x[1])
    # display(spst_dict)

    for key, value in spst_dict:
        print(f'{key}:{value}')

 

728x90
728x90

KT Aivle School 에이블스쿨 기자단] 8.28(월) ~ 9.3(일) 서울교육공모전 마무리 & 데이터분석 & 교육선발

이번 주의 스케줄

  • 데이터 분석 수업 --> ADsP 내용과 겹치는 부분이 있어서 이해에 도움이 되었다
  • 서울교육공모전 마무리
  • 현재까지의 셀프 테스트 점수
  • 교육 선발, 아쉽게 회식은 불참ㅠ
  • 코딩 복습

이번주 후기

 데이터 분석 수업으로만 이루어진 주였다.
 
 ADsP를 공부했어서 이해를 하는 데에 살짝 도움이 되긴 했지만 통계학과나 수학과 출신에 비하면 미약한 지식...
 
 데이터 분석에서 코딩은 구현을 위한 도구이고 통계 지식이 더 중요할 수 도 있을 것 같다는 생각이 들었다.
 
 핵심 개념 : 카이제곱검정, t검정, anova 분석, 피어슨 상관분석에서 p-value 해석!
 
 p-value 0.05 미만일 때 채택하는 대립가설은 어떤 것인가

 

 p-value 0.05가 기준선임은 확실히 기억해두면, 다른 부분은 헷갈릴 때 귀무가설이 무엇이지만 확인하면 손쉽게 문제를 해결할 수 있을 거라 생각한다

 

이번 주 수업 때마다 복습했던 CRISP-DM

 

드디어 수업과 병행하던 공모전을 마무리 했다!!

 그동안 "수업 중간 쉬는 시간 &  점심 시간"에도  공모전 준비에 시간을 투자해서 정말 힘들었는데 이제 다시 쉬는 시간에는 쉴 수 있을 거 같다 휴..

첫 공모전 마무리!!!

현재까지의 셀프 테스트 점수

100점 흐름은 계속 유지하자!!



교육선발~~

AIVLE School에서 머신러닝 교육에 들어가기 미리 들어두면 좋을 거 같아 신청해둔 교육에 선발되었다
 
좋긴하지만... 이 일정으로 반 회식에 참여 못하는 거는 아쉬운 포인트

 

지금 코딩이 거의 노베이스 상태라 앞으로 참여할 수 있는 교육이 있다면 적극적으로 참여하려고 한
 

교육선발

 

 

이번주 프로그래머스 문제풀이

 매주 일요일 내가 리더로 진행하는 스터디를 통해 꾸쭌히 프로그래머스 문제를 풀어가는 것이 큰 도움이 된다고 느끼고 있다.

 참여원이면 가끔 불참했을 수도 있는데 리더라 한 주도 빠지지 못하니 강제성이 부여되어 더 열심히 할 수 있다고 느낀다.

 돌아가며 자신들의 코드를 발표하는데, 다른 사람 코드를 보고 설명을 들으니 시야가 넓어지는 느낌도 받고 있다.

 

 

 

이번주 코딩 복습!!

컬럼 정보 데이터프레임.columns
   
컬럼 이름만 리스트에 담아 조회 list( 데이터프레임.columns )
   
데이터프레임 조건 조회(loc) 데이터프레임.loc [  (데이터프레임['컬럼명']==1) & (데이터프레임['컬럼명'] <=10) ]
   
데이터프레임 조건 조회 male_age = 데이터프레임.loc[ 데이터프레임['컬럼명'] == '원하는 데이터', '컬럼명']
female_age = 데이터프레임.loc[데이터프레임['컬럼명'] =='원하는 데이터','컬럼명']

실제 코드

male_age = titanic.loc[titanic['Sex'] == 'male', 'Age']
female_age = titanic.loc[titanic['Sex'] =='female','Age']

titanic['Sex'].value_counts()
   
결측치가 아닌 값 조회 데이터프레임.loc[ 데이터프레임['컬럼명'].notna() ]
   
특정 수치 사이값 조회
(ex) 10 ~ 20 사이 값
데이터프레임.loc[ 데이터프레임['컬럼명'].between(10, 20) ]
  데이터프레임.loc[ (데이터프레임['컬럼명']>=10) & (데이터프레임['컬럼명'] <=20) ]
   
날짜 데이터 조회 데이터 프레임.loc['컬럼명'].isin( [ '날짜', '날짜' ] ) 

실제 코드

air.loc[air['Date'].isin(['1973-05-01', '1973-06-01', '1973-07-01', '1973-08-01']) ]
   
데이터프레임 값 변경 데이터프레임['컬럼명'] = 데이터프레임['컬럼명'].map({"원본 데이터" : "바꿀 데이터",
                                                                                    "원본 데이터" : "바꿀 데이터"} )
   
데이터 값 변경 pd.cut 데이터프레임['컬럼명'] = pd.cut(데이터프레임['컬럼명'], bins=[-np.inf, 30, 100, np.inf],
                                      labels = ['L','M','H'])      
   
데이터 값 변경 np.where 데이터프레임['컬럼명'] = np.where(데이터프레임['컬럼명'] =='데이터값', 0, 1)
  데이터프레임['컬럼명'] = 데이터프레임['컬럼명'].replace({'데이터값': 0, '데이터값 : 1})
   
데이터 합치기
Join, merge
pd.merge( 데이터프레임, 데이터프레임, on ='컬럼명', how = 'left')
   
정렬 sort_values 데이터프레임.sort_values('컬럼명', ascending = False)

 
날짜 데이터

날짜 형식으로 변경 데이터프레임['컬럼명'] = pd.to_datetime(데이터프레임['컬럼명'])
   
연 데이터 추가 데이터프레임['Year'] = 데이터프레임['컬럼명'].dt.year
   
월 데이터 추가 데이터프레임['Month'] = 데이터프레임['컬럼명'].dt.month

 
 
단변량 분석_숫자형

평균 np.mean(데이터프레임['컬럼명'])
   
중앙값(중위수) 데이터프레임['컬럼명'].mean()
  np.median(데이터프레임['컬럼명'])
   
최빈값 데이터프레임['컬럼명'].mode()
   
기초 통계량 전체 출력 데이터프레임.describe(include='all')
   
숫자형 시각화
히스토그램
plt.hist(데이터프레임.컬럼명, bins= 갯수, edgecolor = '색상')
plt.xlabel('컬럼명')
plt.ylabel('컬럼명')

# bins 값을 통해 구간 갯수 조정
   
밀도함수
sns.kdeplot(데이터프레임['컬럼명'])
   
히스토그램 & 밀도함수 함께 표기
sns.histplot(데이터프레임['Age'], kde = True)
   
박스 플랏
plt.boxplot(데이터프레임['컬럼명'])

 

데이터 원본

 
 
단변량분석_범주형변수

범주별 빈도수 value_counts() : 범주의 개수와 상관 없이 범주별 개수를 계산

데이터프레임['컬럼명'].value_counts()
   
범주별 비율 계산(응용) 데이터프레임['컬럼명'].value_counts() / 데이터프레임.shape[0]

데이터프레임.shape 함수의 첫 번째 값이 row 값임을 활용
   
카운트 플랏 sns.countplot

sns.countplot( y='컬럼명', data= 데이터프레임)
범주값 몇 개 들어있는지 숫자 세기
sns.countplot( x='컬럼명', data= 데이터프레임)
plt.grid()
plt.show()
   
기초 통계량 계산 0과 1 데이터 데이터프레임['컬럼명'].value_counts()

데이터프레임['컬럼명'].value_counts(normalize = True)
   
시각화 - 파이차트
plt.데이터프레임(컬럼명.values, labels = 컬럼명.index, autoptc='%.2%%',
                           startangle = 90, counterclock = False,
                           explode = [0.05, 0.05, 0.05], shadow =True)

plt.show()

 

원본 데이터

 

원본 데이터

이변량_숫자 vs 숫자

시각화 산점도
sns.scatterplot( x = '컬럼명', y = '컬럼명', data = 데이터프레임 )
   
pairplot으로 한 번에 시각화
sns.pairplot( 데이터프레임, kind = 'reg' )
   
jointplot
sns.pariplot( x='컬럼명', y= ' 컬럼명', data = 데이터프레임)
   
regplot
sns.regplot(x='컬럼명', y = '컬럼명' , data = 데이터프레임)

 

원본

이변량_숫자 vs 숫자 -> 상관분석

패키지 import scipy.stats as spst
   
상관계수와 p-value 계산 코

spst.pearsonr(데이터프레임['컬럼명'], 데이터프레임['컬럼명'])
   
상관계수 구하기 데이터프레임.corr()
   
상관계수 히트맵 시각화
sns.heatplot( air.corr(),
                     annot =  True                 # 숫자(상관계수) 표기 여부
                     fmt     =  '.3f '                  # 숫자 포맷 : 소수점 3자리까지 표기
                     cmap =  'RdYlBu_r'        # 칼라맵
                     vmin = -1, vmax = 1)      # 숫자(상관계수) 표기 여부

 
평균 개념

표준오차 SE
Standard Error
표준오차는 표준편차와 다른 개념

표본을 뽑아내어 모집단을 추정

표본 평균이 모평균과 완전히 일치할 수 없으며 이 오차를 '표준오차'라 한다.
   
95% 신뢰구간
sns.hisplot( 리스트, bins = 숫자)

plt.axvline( np.mean(리스트), color = '색상' )

plt.text(np.mean(pop)=1, 30000, f' pop:mean : {np.mean(pop).round(3)}', color = 'r' )

plt.show()
   
errorbar

# 100번 샘플링
samples = {'id' : [  ], 'value' : [  ]}
for i in range(100) :
    samples['id']       += [i] * 100
    samples['value'] += rd.sample(pop, 100)

samples = pd.DataFrame(samples)
samples.shape   >>   (10000, 2) 출력


sns.pointplot ( x = 'id' , y = 'value', data = samples,  join = False)    #  join = False
                                                                                                        독립적인 점들을 연결하지 않는다.
plt.axhline(np.mean(pop), color, color = 'r')                                       # pop이 모집단
plt.show()

이변량_범주 vs 숫자

평균 비교
barplot
sns.barplot( x= ' 컬럼명', y = '컬럼명',  data = 데이터프레임 )
plt.grid()
plt.show()


sns.barplot( x='Survived', y = 'Age', data = titanic)

생존 여부에 따른 Age의 평균 비교
   
boxplot sns.boxplot( x='컬럼명', y='컬럼명', data = 데이터프레임 )

실제코드

sns.boxplot( x= 'Survived', y = 'Age', data = titanic ) 
   
NaN 결측치 제거 데이터프레임.loc [ 데이터프레임 ['컬럼명].notnull() ]
   
t-test 실제 코드

temp = titanic.loc[titanic['Age'].notnull()]

died       = temp.loc[temp['Survived'] ==0, 'Age']
survived = temp.loc[temp['Survived'] ==1, 'Age']

spst.ttest_ind(died, survived)
  실제 코드 ( 성별에 대해 시행 )

male = titanic.loc[  titanic['Sex'] =='male',  'Fare' ]
female = titanic.loc[ titanic['Sex'] =='female', 'Fare'  ]

spst.ttest_ind(male, female)
   t-test를 통해 얻은 p-value 값이 0.05 보다 크다면 두 집단 간의 평균에 큰 차이가 없다는 귀무가설을 채택한다.


예시)

t-통계량  2.067 ==> 2보다 크므로 차이가 있기는 있으나 크지는 않다.
p-value : 0.039 ==> 0.05 보다 작으므로, 차이가 있기는 하지만 크지는 않다.
   
anova

Analysis Of VAriance

여러 집단 간에 차이 비교

P_1 = temp.loc[ temp.Pclass ==1, 'Age']
P_2 = temp.loc[ temp.Pclass ==2, 'Age']
P_3 = temp.loc[ temp.Pclass ==3, 'Age']

spst.f_oneway( P_1, P_2, P_3 )

원본 데이터

이변량 범주 vs 범주

교차표

pd.crosstab(행, 열)
pd.crosstab(행, 열)

pd.crosstab( 데이터프레임['컬럼명], 데이터프레임['컬럼명'], normalize = 'coulmns')

>> normalize 옵션에는 columns, index, all 이 존재
   
시각화

mosaic
mosaic( 데이터프레임, ['컬럼명', '컬럼명']  )

실제 코드

mosaic( titanic, ['Pclass, 'Survived'] )
plt.axhline( 1- titanic['Survivde].mean(), color = 'r' )
plt.show()

모자이크에서 밑에가 사망이므로 1 -  titanic['Survived']로 한다.
   
카이제곱 검정  범주형 변주들 사이에 어떤 관계가 있는지 수치화

 spst.chi2_contingency(table)

 normalize를 하면 안된다.

 >> 두 개 이상의 범주형 변수 간에 독립성을 검정하는 데 사용한다
      따라서, 검정을 통해 변수 간의 연관성을 파악하려면 원본 교차표를 사용해야 한다.
      Normalize하면 행과 열 합이 1이 되도록 스케일을 조정한다.
      범주 간의 상대적 비율을 확인할 때는 유용하지만, 카이제곱 검정의 경우,
      범주 간의 독립성을 여부를 확인하는 것이 목적이므로 스케일 조정을 하지 않는다.


 카이제곱 검정

 귀무가설 : 두 변수 간에 독립성이 있다.  p-value가 0.05보다 클 때, 채택
 대립가설 : 두 변수 간에 독립성이 없다.  p-value가 0.05보다 작을 때, 채택


<주의>

 ttest

 귀무가설 : 두 집단 간의 평균에 유의미한 차이가 없다. p-value가 0.05보다 클 때, 채택
 대립가설 : 두 집단 간의 평균에 유의미한 차이가 있다. p-value가 0.05보다 작을 때, 채택

 

크로스탭 pd.crosstab(titanic['Survivde], titanic['Sex], normalize = 'columns')

 
 
이변량 숫자 vs 범주

숫자 --> 범주
시각화
sns.histplot( x = '숫자 컬럼', data = 데이터프레임, hue ='범주 컬럼' )
   
kdeplot 작성

sns.kdeplot( x='숫자 컬럼', data= 데이터프레임, hue = '범주 컬럼' )


sns.kdeplot( x='숫자 컬럼', data = 데이터프레임, hue = '범주컬럼', common_norm = False )


>> common_norm = True가 기본 값

common을 붙였으므로 전체에 대한 비율을 요구한다.

 

728x90
728x90

KT Aivle School 에이블스쿨 기자단] 2023.08.21 ~ 2023.08.28 미니프로젝트, 서울 공모전, 스터디 진행

이번 주의 스케줄

  • 미니프로젝트 수행
  • 서울교육공모전 마무리
  • 일요일 : 프로그래머스 스터디 진행, 서울교육공모전 회의 진행

 

이번주 후기 

 이번주는 평일부터 주말까지 힘든 하루ㅠ

 

 평일에는 Aivle School에서 기존 수업에 더해 미니프로젝트 1, 2차를 수행하고

 

 주말에는 프로그래머즈 스터디, SQL 스터디, 서울 공공데이터 활용 공모전을 진행한 스케줄..

 

 

 힘든 스케줄을 소화했지만, 반장님의 글 중에서 이 부분을 보고 힘도 나고 자존감이 올랐다

 

자존감을 채워준 소중한 반장님

 

미니 프로젝트 후기

 

 그동안의 Aivle School  수업과 미니프로젝트 1차까지는 어렵지 않다고 느껴져서 "나 좀 재능이 있을지도..??"라는 생각을 했지만 미니 프로젝트 2차를 수행한 뒤 많이 겸손해졌다

 

 

현재 약하다고 느껴졌던 부분

 

 코드 중에서 날짜 타입으로 데이터 타입을 변형하는 부분이 아직 손에 덜 익은 느낌...

 

 형광펜에  표시한 부분처럼 연습용 파일을 만들고, 빈 칸부터 다시 직접 쳐보면서 복습하는 습관 갖기!!

 

 

서울 공모전

Aivle 스쿨에서의 스킬은 다 갈아넣은 데이터 분석

 

조원을 도와주고 이런 말을 들으니 자존감이 한 번 더 올랐다!!!

 

이번주의 자존감 Up ver 2

 

 

  Aivle School을 시작하자마 "프로그래머스 문제풀이 스터디", "서울 공공데이터 활용 공모전 팀"을 만들어 현재  조장으로 이끌고 있고, "SQL 스터디"에 회원으로 가입해 이 스터디 모임들을 감당하느라 월요일부터 ~ 일요일까지 그저 컴퓨터만 바라본 한 주...

 

 

스터디

 

 반장님이 이 부부분에 관심을 갖고 우리 분반에도 스터디를 만들고 싶어하던데

 

 부디 좋은 결과 있기를... 저는 적극적인 팔로워가 될게요!~~~

 

일요일 20~21시까지 진행한 프로그래머즈 스터디

 

일요일에 21~23시까지 진행한 서울 공공데이터 활용 공모전 준비

 

 2개 스터디를 조장으로서 이끌며, 좋다고 느끼는 점은 강제로 공부하게 되는 효과가 있다는 것이다

 

 이 모임 아니었으면 주말에 그냥 쉬었을 듯

 

728x90

+ Recent posts