############## 반복해서 외워가면 좋은 명령어 모음
# object를 날짜 연산이 가능한 datetime으로 바꾸기
df['출동시간'] = pd.to_datatime(df['출동시간'])
#이동시간을 초로 변경한 후 분으로 변경하기
df['이동시간'] = df['이동시간'].dt.total_seconds()/60
#특정변수로 groupby한후 특정변수의 평균값 구하기
group_mean = df.groupby('구급대')['이동시간'].mean()
#특정변수의 최대값 구하기
result = round(group.mean.max())
#변수가 데이터 프레임인 경우
#모든 행에 대하여 2번째 열부터 끝까지 합하기
df['학생'] = df.iloc[ : , 2: ].sum(axis=1)
#선택한 열에서 최대값을 가지는 행의 인덱스 구하기
max_id = df['학생/교수'].idmax()
#특정 행과 특정 열의 값구하기
result = int(df.loc[max_id,'교수'])
#총범죄건수라는 새로운 변수를 특정 열값을 합하여 구하기
df['총범죄건수'] = df.iloc[: , 1:-1].sum(axis = 1)
#변수의 형식 확인하기
df.info()
#특정변수만 읽어서 새로운 변수 만들기
df['연도'] = df['날짜'].str[:4]
#년도별 총범죄건수를 합쳐서 평균을 내어라
group_mean = df.groupby("연도")['총범죄건수'].mean()
#object 타입 변수의 개수, 자주 나오는 값, 최고값 등을 구하라
train_df.descibe(include='object')
#학습용 데이터의 결측치를 확인해라
train_df.isnull().sum()
#특정변수의 변수별 값 count를 구하라
train_df['구분'].value_counts()
#학습용 데이터 인코딩 하기
train_df = pd.get_dummies(train_df)
#학습용 데이터를 이용한 검증용 데이터를 따로 떼낸다
#targetVal를 타겟값으로 하는 train 데이터에서 20%를 테스트 데이터로 저정한다
#학습용 데이터의 타겟 값 처리
targetVal = train_df.pop('구분')
from sklearn.model_selection import train_test_split
train_x, validation_x, train_y, validation_y = train_test_split(train_df, targetVal, test_size=0.2, radom_state=0)
#랜덤포레스트로 train 값을 학습시킨 후
#테스트값으로 예측해보기
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import f1_score
##랜덤포레스트로 학습시키기
# 랜덤포레스트 함수 가져오기
rfc = RandomForestClassifier(random_state=0)
#학습시키기
rfc.fit(train_x, train_y)
prediction_val = rfc.predict(validation_x)
#검증용 실제값과 예측값을 비교하여 f1 score를 구하기
# 높은 점수가 나오면 모델의 좋다고 할 수 있음
f1_score(validation_y, prediction_val, average='marco')
#만든 모델에 테스트 데이터를 입력하기
prediction_test = rfc.predict(test_df)
# 테스트 검증값을 변수명 pred 'pred : 테스트 검증값' 형태로 나오게 만들기
result = pd.Dataframe({'pred' : prediction_test})
# 결과값을 result.csv 값 형태로 저장하기
result.to_csv('result.csv', index=False)
# 제 1사분위수 구하기
q1 = np.percentile(lst, 25)
#어떤 단어를 포함하는 변수 조건으로 하기
result_df = df[df['date_added'].str.contains('January')&df['date_added'].str.contains('2018')]
#결측치가 많은 변수 찾기
df.info()
#결측치를 특정 값으로 넣어라
df["Ozone"].fillna(0, inplace=True)
#평균을 구하라
import numpy as np
Mean = np.mean(df["Wind"])
#표준편차를 구하가
Std = np.std(df["Wind"])
#의미없는 변수와 결측값 제거
ploan_processed = ploan.dropna().drop(['ID','ZIP Code'], axis = 1, inplace =False)
#X,Y 변수 나누기
# 꼭 X는 대문자, y는 소문자로 하더라
# 칼럼(열)을 삭제하려면 axis=1을 넣어준다
# 행축을 삭제하려면 axis=0 을 넣어준다
X = ploan_processed.drop["Personal Loan"], axis=1]
y = ploan_processed['Personal Loan']
# 학습 데이터와 테스트 데이터로 7:3으로 나누기
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X , y, stratify=y, train_size=0.7, test_size=0.3
, random_state=1234)
# 전처리 수행하는 sklearn의 패키지를 불러온다
# 표준화는 데이터가 정규 분포를 따르거나, 이상치가 있는 경우에 유용합니다. 또한, 많은 머신 러# 닝 알고리즘(예: 선형 회귀, 로지스틱 회귀, 서포트 벡터 머신)에 적합합니다.
#정규화는 데이터가 정규 분포를 따르지 않거나, 최소/최대값이 중요한 경우에 적합합니다. 거리 #기반 알고리즘(예: k-최근접 이웃, k-평균 군집화)에 유용합니다.
출처: https://cocoastudy.tistory.com/389 [EIGHTBOX:티스토리]
# 문제에 정규화라는 단어가 있거나, k가 있으면 실행한다
# 그렇지 않으면 minmax를 이용한 표준화로 전처리한다
# 표준화 전처리하는 방법
import sklearn.preprocessing as preprocessing
preprocessor = preprocessing.Normalizer()
# fit_transform은 train_dataset에서만 사용
# train data로 부터 학습된 mean값과 variance 값을 test data에 적용하기 위해
X_train = preprocessor.fit_transform(X_train)
X_test = preprocessor.transform(X_test)
#KNN 적용하기
from sklearn import metrics
from sklearn.metrics import confusion_matrix
from sklearn.metrics import accurarcy_score
from sklearn.neighbors import KNeighborsClassifier
training_accuracy = []
test_accuracy = []
# n_neighbors 설정하기
neighbors_settings = range(1,25)
for n_neighbors in neighbors_settings
clf = NNeighborsClassifier(n_neighbors=n_neighbors)
clf.fit(X_train, y_train)
#훈련 세트 정확도 저장
training_accuracy.append(clf.score(X_train, y_train))
#테스트 데이터 정확도 저장
test_accuracy.append(clf.score(X_train, y_test))
#최적의 이웃수 산출
test_accuracy
#표본평균 X를 소수점 둘째자리 반올림하기
print(round( X, 2)
#가설검정을 위한 검정통계량 구하기
import scipy.stats as stats
t_score, p_value = stats.ttest_1sam(df['Temp'], 77)
print(round(t_score, 2))
print(round(p_value, 4))
#범주형 변수만으로 만들기
cat_feat = df.select_dtypes('object', 'category').columns.values
#수치형 컬럼만으로 구성된 데이터셋 만들기
num_feat = df.select_dtypes('number').columns.values
#각 숫자컬럼간 상관계수 구하기
corr = df_num.corr(method="pearson")
corr.shape
#df.drop(labels=None, axis=0, index=None, columns=None, level=None, #inplace=False, errors='raise')
#labels : 삭제할 레이블명입니다. axis를 지정해주어야합니다.
#axis : {0 : index / 1 : columns} labels인수를 사용할경우 지정할 축입니다.
#index : 인덱스명을 입력해서 바로 삭제를 할 수 있습니다.
#columns : 컬럼명을 입력해서 바로 삭제를 할 수 있습니다.
#level : 멀티인덱스의 경우 레벨을 지정해서 진행할 수 있습니다.
#inplace : 원본을 변경할지 여부입니다. True일경우 원본이 변경됩니다.
#errors : 삭제할 레이블을 찾지 못할경우 오류를 띄울지 여부입니다. ignore할 경#우 존재하는 레이블만 삭제됩니다.
#※ axis=0 + labels 는 index인수와 역할이 같고 axis=1 + labels는 columns와 역#할이 같습니다.
# drop시 inplace는 원본 변경 여부를 의미
dat_processing = dat.drop(['name'], axis = 1, inplace = False)
#상수항 추가
dat_processed = sm.add_constant(dat_processed, has_constant ='add')
#p_value를 구하고, 채택과 기각 중 선택하시오
p_value = result.pvalue
print(round(p_value, 4))
if p_value < 0.05:
print('기각')
else
print('채택')
참고하면 좋은 명령어 모음
1번째 참
Bigdata_Analyst_Certificate_Korean/01_주요코드정리.ipynb at main · inrap8206/Bigdata_Analyst_Certificate_Korean
빅데이터분석기사 실기관련 코드. Contribute to inrap8206/Bigdata_Analyst_Certificate_Korean development by creating an account on GitHub.
github.com
2번째 참고
https://in0-pro.tistory.com/89
빅데이터분석기사 실기 대비 명령어 정리
데이터 불러오기 import pandas as pd data = pd.read_csv("위치/파일명.csv") 행렬 몇x몇인지 확인, 데이터 열 확인 print(data.shape) print(data.columns) 데이터의 기초통계량 확인 (데이터 개수, 평균, 표준편차, 사
in0-pro.tistory.com
3번째 참고
https://m.blog.naver.com/da0097/222582321859
빅데이터분석기사 실기 꿀팁 모음_21.06.19 2차 (사실상 1차)시험 기준
요즘 바쁜 일의 연속이라 블로그 신경을 안썼는데, 문득 일일방문자수가 세자리수가 찍히는 걸 보고 놀랐다...
blog.naver.com