1주차 학습정리_4
Pandas
Groupby
- SQL groupby와 동일
df.groupby(["시군구명", "지번본번지"])["건물명"].value_counts()
'''
시군구명 지번본번지 건물명
강릉시 1 세인트존스호텔 16
효산콘도미니엄 13
임당시장 7
명정그린빌라 4
2 강릉종합운동장 2
..
횡성군 1060 SK강림주유소 1
1511 횡성(인천방향)휴게소 6
횡성휴게소(인천방향) 3
1530 횡성휴게소(강릉방향) 17
횡성(강릉방향)휴게소 6
Name: 건물명, Length: 9517, dtype: int64
'''
groupby 특징
-
위와 같이 column을 묶어서 어떤 컬럼을 기준으로 표현할 수 있다.
-
Groupby 명령의 결과물도 결국은 dataframe 두 개의 column으로 groupby를 할 경우, index가 두개 생성된다.
-
unstack() = Group으로 묶여진 데이터를 matrix 형태로 전환해줌
-
swaplevel() = Index level을 변경할 수 있음
dff = df.groupby(["가해자연령층", '발생월'])['사망자수'].sum()
dff , dff.swaplevel()
'''
(가해자연령층 발생월
20세이하 1 5
2 6
3 8
4 5
5 9
..
불명 8 0
9 0
10 0
11 0
12 0
Name: 사망자수, Length: 96, dtype: int64,
발생월 가해자연령층
1 20세이하 5
2 20세이하 6
3 20세이하 8
4 20세이하 5
5 20세이하 9
..
8 불명 0
9 불명 0
10 불명 0
11 불명 0
12 불명 0
Name: 사망자수, Length: 96, dtype: int64)
'''
Groupby - gropued
추출된 group 정보에는 세가지 유형의 적용이 가능하다
- Aggregation : 요약한 통계정보를 추출한다.
특정 컬럼에 여러개의 function을 적용할 수 있다.(sum, mean 등)
- Transformation : 해당 정보를 변환한다.
Aggregation과 달리 key값 별로 요약된 정보가 아니며 개별 데이터의 변환을 지원한다.
Column별로 function을 수행하되, 개별로 각각 다른 값이 들어갈 때 효과적 - Filtration : 특정 정보를 제거하여 보여주는 필터링 기능
특정 조건으로 데이터를 검색할 때 사용한다.
Pivot Table
-
Index 축은 groupby와 동일함, Column에 추가로 labeling 값을 추가하여, Value에 numeric type 값을 aggregation 하는 형태
-
Crosstab
- 특허 두 칼럼에 교차 빈도, 비율, 덧셈 등을 구할 때 사용
- Pivot table의 특수한 형태
Merge
pd.merge(df_a, df_b, on = 기준 column, how = option)
- 두 개의 데이터를 하나로 합침
- SQL과 마찬가지로 left, right, outer, inner가 있음
concat
-
같은 형태의 데이터를 붙이는 연산작업
AI Math
vector
norm = 원점에서부터의 거리
-norm = 변화량의 절대값
-norm = 피타고라스 정리를 이용한 유클리드 거리
두 벡터 사이의 각도
정사영 =
matrix
유사역행렬 (Moore-Penrose 역행렬)
인 경우
인 경우
유사역행렬을 이용하면 연립방정식의 해를 구할 수 있다.
연립방정식은 행렬을 사용하면 로 표현할 수 있다.
이를 유사역행렬을 사용하면
또한 유사 역행렬을 이용하면 선형모델로 해석하는 선형 회귀식을 찾을 수 있다.
선형회귀분석은 X와 y가 주어진 상황에서 계수 beta를 찾아야한다.
경사 하강법
미분은 함수 f의 주어진점 에서의 접선의 기울기를 구한다.
한 점에서의 접선의 기울기를 알면, 어느 방향으로 점을 움직여야 함수값이 증가, 감소하는지 알 수 있다.
미분값을 빼면 함수값이 극소값으로 감소하게 되며, 이를 경사하강법(gradient descent)이라 한다.
경사하강법을 이용해 선형모델을 찾게 되면, 역행렬을 이용하지 않고 얻을 수 있다.
-
선형회귀의 목적식은 이고 를 찾아야 하므로 목적식의 그레디언트 벡터를 구해야 한다
복잡해 보이지만, 를 계수 에 대해 미분한 결과인 만 곱해지는 것과 같다.
목적식을 최소화하는 를 구하는 경사 하강법 알고리즘은 다음과 같다.
확률적 경사하강법(SGD)
확률적 경사하강법은 모든 데이터를 사용해서 업데이트하는 대신 데이터 한개 또는 일부를 활용하여 업데이트한다. 볼록하지 않은(non-convex)목적식은 SGD를 통해 최적화 할 수 있다.
전체 데이터 가 아닌 미니배치(를 사용하여 업데이트하므로 연산량이 b/n으로 감소한다.
Author And Source
이 문제에 관하여(1주차 학습정리_4), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@simbean/1주차-학습4저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)