빅데이터분석기사 실기시험 hist 사용이 가능한가요 ? 사용을 못하는 상황에서는 로그적용해볼만한 데이터 분포 확인 쉽게 하는 방법이 무엇이 있을지 궁금합니다 3-6 Regression노트북에서 insurance 데이터셋의 charges 값에 로그를 취하실 때 왼편으로 치우친 것을 확인하신 것 관련 질문입니다 LinearRegression은 모델에 random_state를 안 줘도 계속 5888 이라는 RMSE 값이 나오는 반면에, RandomForestRegressor의 경우, (아마도 모델에 random_state적용이 없어서) 결과가 계속 달라집니다. 혹시 LinearRegression은 원래 그런 특징이 있는 모델인가요??
작업형1 모의문제3 의 9번 문제를 풀었는데 답에 '대구'만 나오지 않고 밑에 다른 설명이 나오는데, 무슨 의미이고 왜 나오는지 궁금합니다. [코딩 내용] import pandas as pd df = pd.read _csv('members.csv') # print(df.shape) # print(df.head(10)) df = df.fillna(method = 'bfill') df.head() df = df.groupby(['city', 'f2']).sum().reset_index() df.head() df = df.sort_values('views', ascending=False) df.head() print(df.iloc[2,0]) [답안내용] 대구 <ipython-input-102-fa90dbbb01dd>:7: FutureWarning: The default value of numeric_only in DataFrameGroupBy.sum is deprecated. In a future version, numeric_only will default to False. Either specify numeric_only or select only columns which should be valid for the function. df = df.groupby(['city', 'f2']).sum().reset_index()
안녕하세요. 강의 잘 듣고 있습니다. 보통 작업형2 실행시 train 데이터 id drop하고, test 데이터 id pop처리 했는데 (작업형2 모의문제1 에서는 CLIENTNUM 드롭 및 팝처리 함) 5회 작업형 2에서는 실시 안 하셨길래... 다른 이유라도 있으신지 궁금합니다. submit으로 내보내기해야하는 값에 price만 있어서 그런가요? 언제 해야하고.. .언제 안 해야하는지.. 넘 헷갈려서요. model을 없애고 돌린게.. rmse가 더 높긴 하더라구요.... ^^;; train = train.drop('model', axis = 1) test_model = test.pop('model')
ttest_rel 파라미터 중에 a,b가 있는데요 강의에서 설명주신 건 치료 후 혈압 - 치료 전 혈압 이렇게 표시되어 있으니 순서대로 넣어야 한다고 했는데요. 치료 전 혈압 - 치료 후 혈압 이라면 stats.ttest_rel(df['bp_before'] - df['bp_after']) 위와 같이 작성해야 하는 것으로 이해했습니다. 여기서, ttest_rel 유형은 예시문제 처럼 무조건 두 집단(혹은 조치 전 집단과 조치 후 집단)이 있고, 두 집단 사이의 차이를 이용하는 게 맞을까요?! a와 b를 그냥 설명주신대로만 이해하면 되는지 문의드립니다.
안녕하세요, tensorflow로 다른 강의들을 듣다가 torch를 공부하기 시작한지 얼마안돼서 여쭤보는 질문입니다. tensorflow에서는 callback함수로 간단히 earlystopping이나 checkpoint등을 가져와 쓸 수 있는 모듈이 있는걸로 알고있습니다. 혹시 torch에서는 그런 모듈이 따로 없는건가요?
작업형2 문제마다 어떤문제들은 n_train, c_train, n_test, c_test로 나누는 문제들이 있고 그렇지 않은 문제들이 있어서 헷갈리는데요. 수치형변수를 스케일링하는 과정을 거치려면 n_train, c_train, n_test, c_test로 나눠야 하고, 스케일링 과정을 생략하고 범주형 변수 인코딩 과정만을 진행할때는 나눌필요가 없는게 맞나요? 작업형 모의문제 1을 혼자 풀어보는 와중 MinMaxScaler로 스케일링을 해보는중인데 from sklearn.preprocessing import MinMaxScaler cols = ['CLIENTNUM', 'Customer_Age','Dependent_count', 'Months_on_book', 'Total_Relationship_Count', 'Months_Inactive_12_mon', 'Contacts_Count_12_mon', 'Credit_Limit', 'Total_Revolving_Bal', 'Avg_Open_To_Buy', 'Total_Amt_Chng_Q4_Q1', 'Total_Trans_Amt', 'Total_Trans_Ct', 'Total_Ct_Chng_Q4_Q1', 'Avg_Utilization_Ratio'] scaler = MinMaxScaler() for col in cols: n_train[col] = scaler.fit_transform(n_train[col]) n_test[col] = scaler.transform(n_test[col]) ValueError Traceback (most recent call last) <ipython-input-38-b70edfd82bf0> in <cell line: 5>() 4 scaler = MinMaxScaler() 5 for col in cols: ----> 6 n_train[col] = scaler.fit_transform(n_train[col]) 7 n_test[col] = scaler.transform(n_test[col]) 8 5 frames /usr/local/lib/python3.10/dist-packages/sklearn/utils/validation.py in check_array(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, estimator, input_name) 900 # If input is 1D raise error 901 if array.ndim == 1: --> 902 raise ValueError( 903 "Expected 2D array, got 1D array instead:\narray={}.\n" 904 "Reshape your data either using array.reshape(-1, 1) if " ValueError: Expected 2D array, got 1D array instead: array=[0.58522152 0.08465774 0.60121236 ... 0.06531669 0.06194963 0.52375209]. Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample. 위와 같은 오류가 발생합니다. 혹시 어떤 부분이 잘못된걸까요? 반면에 아래와 같이 실행할 경우 오류가 발생하지않습니다. 강의에서는 cols안에 컬럼값이 여러개이므로 반복문을 써야한다고 배웠는데 제가 잘못알고있는걸까요? from sklearn.preprocessing import MinMaxScaler cols = ['CLIENTNUM', 'Customer_Age','Dependent_count', 'Months_on_book', 'Total_Relationship_Count', 'Months_Inactive_12_mon', 'Contacts_Count_12_mon', 'Credit_Limit', 'Total_Revolving_Bal', 'Avg_Open_To_Buy', 'Total_Amt_Chng_Q4_Q1', 'Total_Trans_Amt', 'Total_Trans_Ct', 'Total_Ct_Chng_Q4_Q1', 'Avg_Utilization_Ratio'] scaler = MinMaxScaler() n_train[cols] = scaler.fit_transform(n_train[cols]) n_test[cols] = scaler.transform(n_test[cols])
안녕하세요. 강의를 통해 많은 도움 받고 있습니다. 강의 수강 중에 질문이 있습니다! 모델 학습할 때 학습 데이터를 전처리 과정(라벨 인코딩, 스케일링 등) 과 하이퍼 파라미터 튜닝을 거쳐 모델을 생성하는데요. 이 후 실제 서비스에 사용(웹 서비스에 rest api로 제공) 할 때, 실제 input 값으로 들어오는 값들을 이용해서 예측을 한다고 이해했습니다. 이 때 실제 input 데이터는 데이터 전처리가 진행이 안되어서 문자열 데이터도 들어오고, 스케일링 작업이 진행이 안된 데이터일 텐데 이 때 모델 api 호출 전 코드 레벨에서 전처리 과정을 해줘야 하는 걸까요? 질문 드리는 이유는 사이킷런 라이브러리를 통한 전처리를 진행해서 모델을 생성했고, 해당 모델을 rest api로 제공 하고 싶습니다. 그리고 해당 api를 spring boot 웹 어플리케이션에서 호출하여 사용하고자 하는데 이때 실제 input 값들을 spring boot 코드에서 동일하게 데이터 전처리를 하여 전달하는게 어색해 보여서요. 실무에서는 어떻게 서비스 하는지 궁금합니다. LightGBM 을 베이지안 최적화를 통해 하이퍼 파라미터를 찾을 때, n_estimators=100 으로 축소하여 최적의 하이퍼 파라미터를 찾고 나서, 최종적으로 n_estimators=400으로 최적의 하이퍼 파라미터와 함께 모델을 학습한 예제를 봤습니다. n_estimators=100 을 통해 찾은 최적의 하이퍼 파라미터가 n_estimators=400으로 증가시켰을 때도 동일하게 최적의 하이퍼 파라미터라서 이렇게 보여주신걸까요? 감사합니다.
안녕하세요. 피처엔지니어링 10:33~ 이후 질문입니다! 수치형/범주형데이터를 먼저 나누고 print(c_train.head())등을 해보았을 때 범주형컬럼이 있는 걸 알 수 있는데, 라벨 인코딩/원핫인코딩 전에 cols=['~,~,~']으로 범주형컬럼을 재설정해주는 이유가 궁금합니다 ~~! (수치형은 id 컬럼을 빼기위해라고 이해했습니다) 라벨인코딩에서 from sklearn.preprocessing import LabelEncoder le=LabelEncoder() cols=['~~~'] for col in cols: le=LabelEncoder() 로 <-이 부분을 두번 적어주는 이유가 무엇일까요? train,test 데이터의 카테고리가 다르면 두 개를 합친 다음->인코딩->분리해야한다고 하셨는데 두개가 다른건 .unique()등으로 눈으로 직접 확인해야 하는건가요..? 같은 부분에서 iloc는 찾을값 -1 로 [ ] 안에 적는다고 알고 있는데 (ex.kaggle t1-23번에서 10번째 값을 찾을 때 iloc[9]로 찾음) line=int(X_train.shape[0] X_train=all.iloc[line: ~~] 로 적으면 test의 첫번째행이 포함되는게 아닌지 궁금합니다!!
안녕하세요. 강의 잘 듣고 있습니다. 작업형 2 풀면서 print(df.head())로 데이터들이 어떻게 생겼는지 샘플로 확인할 때 안 보이는 칼럼은 pd.set_option~~ 쓰고 값이 너무 커서 혹은 또 너무 작아서 e가 들어가는 수치값으로 보인다면... 어떤 코드를 실행하라고 강의 중에 말씀해주신거 같은데 ㅠㅠㅠ... 어느 강의였는지 기억이 안 나서요.. 혹시.. 코드 기억하실까요?ㅠㅠ