반응형
작업형 제2유형 모의 문제
# 시험환경 세팅
import pandas as pd
from sklearn import datasets
dataset = datasets.load_wine()
df = pd.DataFrame(dataset['data'], columns=dataset['feature_names'])
df['target'] = dataset['target']
df.to_csv("data1-1.csv", index=False)
#####################################################################
# 출력을 원할 경우 print() 함수 활용
# 예시) print(df.head())
# getcwd(), chdir() 등 작업 폴더 설정 불필요
# 파일 경로 상 내부 드라이브 경로(C: 등) 접근 불가
# 데이터 파일 읽기 예제
import pandas as pd
df = pd.read_csv("data1-1.csv")
# 사용자 코딩
# 앞에서 부터 50%의 데이터와 'target'컬럼이 0 값을 가진 데이터만 활용해 'proline'컬럼의 평균을 구하시오 (소수점 절사(버림), 정수형 출력)
line = int(len(df)/2)
df = df[:line]
df = df[ df.target==0 ]
# print(df['proline'].mean())
print(int(df['proline'].mean()))
# 답안 제출 예시
# print(평균변수값)
# 시험환경 세팅
import pandas as pd
from sklearn import datasets
dataset = datasets.load_diabetes()
df = pd.DataFrame(dataset['data'], columns=dataset['feature_names'])
df.to_csv("data1-2.csv", index=False)
#####################################################################
# 출력을 원할 경우 print() 함수 활용
# 예시) print(df.head())
# getcwd(), chdir() 등 작업 폴더 설정 불필요
# 파일 경로 상 내부 드라이브 경로(C: 등) 접근 불가
# 데이터 파일 읽기 예제
import pandas as pd
a = pd.read_csv("data1-2.csv")
# 사용자 코딩
# s1, s2, s3, s4, s5, s6, 컬럼의 행(row)별 합을 구하고 그 합이 0.1보다 큰 값의 수를 구하시오
# print(a.columns)
# print(a.head())
a['ans'] = a.s1 + a.s2 + a.s3 + a.s4 + a.s5 + a.s6
# print(a.head())
print(len(a[0.1<a['ans']]))
# 답안 제출 예시
# print(평균변수값)
# 시험환경 세팅
import pandas as pd
from sklearn import datasets
dataset = datasets.load_breast_cancer()
df = pd.DataFrame(dataset['data'], columns=dataset['feature_names'])
df['target'] = dataset['target']
df.to_csv("data1-3.csv", index=False)
#####################################################################
# 출력을 원할 경우 print() 함수 활용
# 예시) print(df.head())
# getcwd(), chdir() 등 작업 폴더 설정 불필요
# 파일 경로 상 내부 드라이브 경로(C: 등) 접근 불가
# 데이터 파일 읽기 예제
import pandas as pd
a = pd.read_csv("data1-3.csv")
# 사용자 코딩
# 고유한 값이 가장 많은 컬럼의 이름은?
# print(a.columns)
df = a.nunique()#.reset_index()
# print(df)
df = df.sort_values( ascending=False)
# print(df)
# print(df.iloc[0,:]['index'])
print(df.index[0])
# 답안 제출 예시
# print(평균변수값)
a = pd.read_csv("data1-3.csv")
df = a.nunique().reset_index()
df = df.sort_values(by=0, ascending=False)
print(df.iloc[0,:]['index'])
#위에는 선생님코드. 좀더 효율적... 밑에꺼는 내가 했던거
제3유형
from scipy import stats
가설검정은 이 라이브러리 안에 있다고함
import pandas as pd
df = pd.read_csv('data/blood_pressure.csv', index_col=0)
# 사용자 코딩
# 해당 화면에서는 제출하지 않으며, 문제 풀이 후 답안제출에서 결괏값 제출
df['diff'] = df['bp_after'] - df['bp_before']
print(round(df['diff'].mean(),2)) #표본평균
from scipy import stats
result = stats.ttest_rel(df['bp_after'] , df['bp_before'], alternative='less')
print(result)
print(round(result.statistic,2)) # 검정통계량
print(round(result.pvalue,4)) #통계량에 대한 p-값
####################################################################
stats.ttest_rel(1번째,2번째,alternative='greater/less/two-sided')
대립가설 기준으로, 1번째 데이터가 더 커야 한다면 greater
대립가설 기준으로, 2번째 데이터가 더 커야 한다면 less
귀무가설이 같고, 대립가설이 같지 않음 d이라면 two-sided (디폴트값)
####################################################################
유의수준 0.05 하에서 => p-value 값이 0.05 보다 작다면, 귀무가설을 기각하고 대립가설을 채택한다.
유의수준 보다 p-value값이 크면, 귀무가설을 기각하지 못한다.
st, pv = stats.ttest_rel(df['bp_after'] , df['bp_before'], alternative='less')
print(st)
print(pv)
반응형
'IT,SW,Data,Cloud,코딩 > Python' 카테고리의 다른 글
20230619 lightgbm (0) | 2023.06.19 |
---|---|
20230619 빅분기 공부 5회 기출 유형 (0) | 2023.06.19 |
20230617 빅분기 4회 기출유형 제2유형 (0) | 2023.06.17 |
20230617 빅분기 3유형 가설검정 t-test, one-way ANOVA (1) | 2023.06.17 |
20230615 머신러닝 공부, 시험환경 꿀팁 등 (0) | 2023.06.15 |
20230614 kaggle 따라치기 - 타이타닉 튜토리얼 (0) | 2023.06.14 |
20230614 하이퍼 파라메터 튜닝 - 랜덤포레스트, xgboost (0) | 2023.06.14 |
20230614 파이썬공부 - 모델링, 평가지표 (0) | 2023.06.14 |
댓글