Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- python visualization
- 월간결산
- Linux
- 딥러닝
- 한빛미디어
- 매틀랩
- Python
- MySQL
- Visualization
- Google Analytics
- Tistory
- 파이썬
- 블로그
- 서평단
- matplotlib
- 리눅스
- Blog
- 텐서플로
- 통계학
- 티스토리
- 파이썬 시각화
- MATLAB
- Ga
- Pandas
- 독후감
- SQL
- 한빛미디어서평단
- tensorflow
- 시각화
- 서평
Archives
- Today
- Total
pbj0812의 코딩 일기
[통계학] z-score 를 python, MySQL 로 구현하기 본문
0. 목표
- z-score 를 python, MySQL 로 구현하기
1. 이론
- 데이터의 평균을 0.0 으로 표준편차를 1.0 으로 만드는 기법
2. 구현
1) scipy 로 구현
from scipy import stats
x = [i for i in range(1, 10)]
z_score = stats.zscore(x)
print(z_score)
2) 그냥 python 으로 구현
import math
x = [i for i in range(1, 10)]
len_x = len(x) # 길이
x_mean = sum(x) / len_x # 평균
x_var = 0
for i in x:
x_var += (i - x_mean) ** 2
x_var = x_var / len_x # 분산
x_std = math.sqrt(x_var) # 표준편차
z_score = []
for i in x:
z_score.append((i - x_mean) / x_std)
print(z_score)
3) MySQL
CREATE TABLE sql_study.z_score
(
number int
);
INSERT INTO sql_study.z_score(number) VALUES(1);
INSERT INTO sql_study.z_score(number) VALUES(2);
INSERT INTO sql_study.z_score(number) VALUES(3);
INSERT INTO sql_study.z_score(number) VALUES(4);
INSERT INTO sql_study.z_score(number) VALUES(5);
INSERT INTO sql_study.z_score(number) VALUES(6);
INSERT INTO sql_study.z_score(number) VALUES(7);
INSERT INTO sql_study.z_score(number) VALUES(8);
INSERT INTO sql_study.z_score(number) VALUES(9);
SELECT * FROM sql_study.z_score;
# 평균
WITH x_mean AS (
SELECT
AVG(number) AS x_mean
FROM sql_study.z_score
),
# 분산
x_var AS (
SELECT
SUM(POW(z.number - x.x_mean, 2)) / (SELECT COUNT(*) FROM sql_study.z_score) AS x_var
FROM sql_study.z_score AS z, x_mean AS x
),
# 표준편차
x_std AS (
SELECT
SQRT(x_var) AS x_std
FROM x_var
),
# z-score
z_score AS (
SELECT
(number - (SELECT x_mean FROM x_mean)) / (SELECT x_std FROM x_std) AS z_score
FROM sql_study.z_score
)
SELECT * FROM z_score;
3. 참고
'Science > 통계학' 카테고리의 다른 글
[통계학] 산술평균, 기하평균, 조화평균 python, sql 로 구현하기 (0) | 2023.02.27 |
---|---|
[통계학] python, sql 로 t-test 구현 (1) | 2023.02.21 |
[통계학] PYTHON 으로 t-test 구현하기 (0) | 2022.07.24 |
[통계학] 정규분포 그래프 그리기 (0) | 2021.08.08 |
[통계학] SkillMetrics(python) 을 통한 테일러 다이어그램 그리기 (0) | 2021.01.13 |
Comments