묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
- 
      
        
    해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
카이제곱 독립성 검정에서 각 항목의 빈도수가 이상하게 나와요.
import pandas as pd df = pd.DataFrame({ '남자': {'합격': 100, '불합격': 200}, '여자': {'합격': 130, '불합격': 170}}) from scipy.stats import chi2_contingency chi2_contingency(df)Chi2ContingencyResult(statistic=5.929494712103407, pvalue=0.01488951060599475, dof=1, expected_freq=array([[115., 115.], [185., 185.]]))위 코드를 실행하면 expected_freq 값이 행별로 동일하게 나오는데.. 혹시 이유가 있을까요?
 - 
      
        
    해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예시문제 작업형2(신버전) 질문입니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요분명 CSV 파일 예시는pred0010 이렇게 되어있는데,pred[:,1]로 하면 확률로 표시되는데... 그래도 가능할까요?
 - 
      
        
    해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
2회 기출 작업형 1문 풀이 질문있습니다.
주어진 데이터셋(members.csv)의 'views' 컬럼 상위 10개 데이터를 상위 10번째 값으로 대체한 후 'age'컬럼에서 80 이상인 데이터의 'views' 컬럼 평균값 구하기문제에서는 view 칼럼 내림차순으로 정렬된 df에서 10번째 값으로 상위 10번째 값으로 모두 대체후에 age 조건 이후 view 평균값을 구해주셨는데, 문제를 읽어보면 원래 기존의 df 에서 10번째 값까지 상위 10번째 view 값으로 대체 후에 정답을 구해야 하지 않나요? 주어진 데이터셋을 정렬한 후에 값을 구하면 답이 달라지는것 같습니다!
 - 
      
        
    해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 2,3 관련 질문
선생님 안녕하세요! 공부하다가 헷갈리는 부분에 대해 질분드립니다🙂 1. 작업형 3에서 회귀 분석에서 범주형 변수는 get_dummies 사용하지 않고 선형 회귀 분석 하듯이 하면 되는것 맞을까요?? 2. 강의 이원 분산 분석 편에서 사후 검정 중 Tukey HSD를 진행할 때 비료에 .astype(str)를 하는 이유는 무엇인가요?? 3. 작업형 2에서 수치형 데이터로만 모델 성능을 예측할 때 이미 검증데이터 분리에서from sklearn.model_selection import train_test_splitX_tr, X_val, y_tr, y_val = train_test_split(train[cols], train['성별'], test_size=0.15, random_state=0) 로 했다면 모델 학습 시model.fit(X_tr, y_tr)로만 하면 되지 않나요?? 왜 fit(X_tr[cols])로 또 해줘야하는지 궁금합니다!
 - 
      
        
    해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업2
1. 빠르게(인코딩 없이 드랍) 베이스라인을 만들고 (데이터 분할과 랜덤포레스트 모델 random_state값 고정) 검증 - 1차 제출인코딩 후 검증 -> 점수 좋아졌다면 - 2차 제출(결측치가 있다면) 결측치 처리 다양한 방식 시도 - 3차 제출다른 질문에서 이렇게 답변하셨는데 인코딩 없이 드랍시에도 데이터분할 treain_test_split 을 해야하는거군요?? 처음부터 드랍말고 라벨인코딩이나 원핫인코딩을 하면 무조건 성능이 좋은건 아닌가요? 라벨인코딩과 원핫인코딩 둘중 하나를 선택하셔서 풀이하시던데기준이 궁금합니다
 - 
      
        
    해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 train_test_split 사용 관련 질문
작업형2문제를 풀때 eda 후 전처리&피처엔지니어링 단계에서 범주형자료들을 무조건 라벨인코딩만 하려고 합니다 ((원핫인코딩과 라벨인코딩 둘다 실행시켜서 비교안할거임)라벨인코딩만 하려는 상황에서도 train_test_split 을 사용해야 하는지 아니면 그냥 바로 랜덤포레스트를 돌려도 되는지 궁금합니다 작업형2 모의문제1 풀이를 적으면서 보는중인데 만약 train_test_split 을 사용안하면 랜덤포레스트 돌릴때model(X_tr,y_tr)pred =model.predict(X-val) 이자리에 뭘 넣어야 할지 궁금합니다 +train_test_split 을 사용하면 좋은 점수를 받는지도 궁금합니다 +작업형2 모의문제1 풀이에서 강사님이 처음에 drop의 방식을 하셨는데 drop방식보단 라벨인코딩이 더 좋은점수를 받을수 있는 풀이방법인지도 궁금합니다
 - 
      
        
    해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
인코딩과 컬럼선택기준
인코딩을 할때 선생님이 어쩔때는 원핫인코딩을 하시고 어쩔때는 레이블인코딩을 하시던데 그 인코딩을 정하시는 기준을 잘 모르겠습니다! 인코딩을 정하실때 그 경우에 대해서 자세히 알려주시면 감사하겠습니다 그리고 인코딩을 할때 컬럼도 몇개 정하셔서 하시던데 그 컬럼고르는 기준도 잘 모르겠습니다 그 기준에 대해서도 선택하는 방법을 알려주시면 감사하겠습니다 ㅠㅠ
 - 
      
        
    해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
25강질문입니다
밑에적혀있던 시험환경 링크로 들어가서 강의들으면서 따라해봤는데요 선생님이 수업으로 진행하실때는 영상에 x_train, x_test, y_train 파일 3개가 있었는데 실제 제가 할때는 파일이 train이랑 test가 두개밖에없어서 RandomForestClassifier를 진행할때 영상에서는 model. fit(x_train,y_train['gender')를 적으셨는데 데이터가 2개밖에없다보니 어떻게 적어야할지모르겠습니다 이럴때는 랜덤포레스트말고 다른모델로 적용해야하나요? 아니면 RandomForestClassifier를 이용한 다른코딩법이있나요? 답변부탁드립니다!
 - 
      
        
    해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 모의문제 1
마지막에 예측및 csv제출 하실ㄸ ㅐ'Attirition_Flag' : pred[:,1]로 하셨는데이탈할 고객을 찾아라니깐 이탈의 확률인 1의 확률로 구해야하는거 아닌가요? 제가생각한 답은 'Attirition_Flag' : pred[:,0] 이였는데 왜 그런거죠? +강사님train['Attrition_Flag'].value_counts() 을 치면0 68151 1286이렇게 나오는데pred = model.predict_proba(X_val)pred array([[0.88, 0.12], [0.95, 0.05], [1. , 0. ], ..., [0.66, 0.34], [1. , 0. ], [0.93, 0.07]])위 0,1 의 순서가 여기서도 동일하게 적용되서여기서 0.88은 0의 확률 0.12는 1의 확률인가요?그래서'Attirition_Flag' : pred[:,1]이 정답인건가요?
 - 
      
        
    해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
2회 기출유형(작업형2)
import pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_splitdef exam_data_load(df, target, id_name="", null_name=""): if id_name == "": df = df.reset_index().rename(columns={"index": "id"}) id_name = 'id' else: id_name = id_name if null_name != "": df[df == null_name] = np.nan X_train, X_test = train_test_split(df, test_size=0.2, random_state=2022) y_train = X_train[[id_name, target]] X_train = X_train.drop(columns=[target]) y_test = X_test[[id_name, target]] X_test = X_test.drop(columns=[target]) return X_train, X_test, y_train, y_testdf = pd.read_csv("Train.csv") # 파일명이 다를 경우 파일명을 수정해주세요X_train, X_test, y_train, y_test = exam_data_load(df, target='Reached.on.Time_Y.N', id_name='ID')X_train.to_csv("X_train.csv", index=False)y_train.to_csv("y_train.csv", index=False)X_test.to_csv("X_test.csv", index=False) import pandas as pd X_test = pd.read_csv("X_test.csv") X_train = pd.read_csv("X_train.csv") y_train = pd.read_csv("y_train.csv") # X_train.shape, y_train.shape, X_test.shape #print(X_train.info()) print(X_test.info()) #print(y_train.info()) y_train = y_train.drop(columns = ['ID']) #print(X_train.shape, X_test.shape) X_train = X_train.drop(columns = ['ID']) X_train = X_train.drop(columns = ['Warehouse_block']) X_train = X_train.drop(columns = ['Mode_of_Shipment']) X_train = X_train.drop(columns = ['Product_importance']) X_train = X_train.drop(columns = ['Gender']) X_test = X_test.pop('ID') X_test = X_test.drop(columns = ['Warehouse_block']) X_test = X_test.drop(columns = ['Mode_of_Shipment']) X_test = X_test.drop(columns = ['Product_importance']) X_test = X_test.drop(columns = ['Gender']) #print(X_train.shape, X_test.shape) from sklearn.ensemble import RandomForestClassifier model = RandomForestClassifier() model.fit(X_train,y_train) model_pred = model.predict_proba(X_test) 강사님 안녕하세요. 위와 같이 인코딩을 하지 않고 object 컬럼을 지우는 방향으로 해서 모델학습을 진행하였어요. 그런데 이런 애러가 났어요. 어떻게 해야 할까요? None <ipython-input-36-25befb274901>:30: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel(). model.fit(X_train,y_train) /usr/local/lib/python3.10/dist-packages/sklearn/base.py:439: UserWarning: X does not have valid feature names, but RandomForestClassifier was fitted with feature names warnings.warn( --------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-36-25befb274901> in <cell line: 31>() 29 model = RandomForestClassifier() 30 model.fit(X_train,y_train) ---> 31 model_pred = model.predict_proba(X_test) 32 3 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=[ 8285. 10192. 8675. ... 7390. 9977. 5696.]. 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.
 - 
      
        
    미해결[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기
boxcox를 변환하는 코드 에
from scipy.special import boxcox1p from scipy.stats import boxcox_normmax # 왜도가 1보다 높은 수치형 변수를 출력하는 코드 high_skew = skewness_features[skewness_features > 1] high_skew_index = high_skew.index print("The data before Box-Cox Transformation: \n", all_df[high_skew_index].head()) # boxcox를 변환하는 코드 for num_var in high_skew_index: all_df[num_var] = boxcox1p(all_df[num_var], boxcox_normmax(all_df[num_var] + 1)) print("The data after Box-Cox Transformation: \n", all_df[high_skew_index].head())위와 같이 코드를 실행시켰을 때 다음과 같은 에러가 발생하였습니다. <ipython-input-72-7b0af0216c6e> in <cell line: 11>() 10 # boxcox를 변환하는 코드 11 for num_var in high_skew_index: ---> 12 all_df[num_var] = boxcox1p(all_df[num_var], boxcox_normmax(all_df[num_var] + 1)) 13 14 print("The data after Box-Cox Transformation: \n", all_df[high_skew_index].head()) BracketError: The algorithm terminated without finding a valid bracket. Consider trying different initial points.
 - 
      
        
    해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
dropna와 drop의 차이가 궁금합니다.
#특정컬럼에 결측치가 있으면 데이터(행) 삭제 subset=['native.country']df = X_train.dropna(subset=['native.country']) # 결측치가 많은 특정 컬럼 삭제 drop(['workclass'], axis=1) df=X_train.drop(['workclass'], axis=1) 언제 drop을 쓰고, 언제 dropna를 쓰는지 궁금합니다.
 - 
      
        
    해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
적합도 검정 예제 결과, 답안은?
[작업형3] 범주형 데이터 분석 > 적합도 검정pvalue = 0.028이 나왔으니, 귀무가설 기각, 대립가설 채택으로 새로운 시험문제는 기존 시험문제 점수와 다르다. 가 맞는지요?
 - 
      
        
    해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
코랩 링크
매 강의마다 colab 링크가 있었던 것 같은데 어디서 확인할 수 있을까요?
 - 
      
        
    해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예시문제 작업형2(신버전) 질문
문제에 roc-auc 평가지표에 따라 평가함 해당 문구를 보고 확률값을 예측한다라고 판단하셨는데 또 다른 예시가 있을까요? 예측은 RandomForestRegressor을 사용하는 것으로 공부했는데 제가 잘못 알고 있는 걸까요?
 - 
      
        
    미해결차량 번호판 인식 프로젝트와 TensorFlow로 배우는 딥러닝 영상인식 올인원
한국번호판 머신러닝
안녕하세요~한국 번호판도 OCR 인식이 가능할까요?데이터셋에 필요한게 무엇이 있을까요? 한국 번호판은 생성을 했는데..groundtruth.csv 파일도 필요할까요?
 - 
      
        
    해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
구름 환경(실기테스트)에서 본페로니 검정 수행시 오류 발생
아노바 사후검정에 대해 실습환경에서 코드 수행해보려고 하는데, 아래와 같이 오류뜨는건 실습환경에서 지원하지 않는 모듈이라고 생각하면 될까요? from scipy import statsfrom statsmodels.stats.multicomp import pairwise_tukeyhsd, MultiComparsion# Tukey HSD(투키)tukey_result = pairwise_tukeyhsd(df_melt['value'], df_melt['variable'], alpha=0.05)print(tukey_result.summary()) ImportError: cannot import name 'MultiComparsion' from 'statsmodels.stats.multicomp' (/usr/local/lib/python3.9/dist-packages/statsmodels/stats/multicomp.py)
 - 
      
        
    해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
section 4-2 문제 관련 질문입니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요section 4-2 문제 1번에서 object 컬럼을 삭제할 때에 보여주신 방법 외에 다른 방법을 사용해봤는데,이 방법도 가능한 건지 궁금해서 질문드립니다. import pandas as pdimport numpy as np df = pd.read_csv("members.csv")df = df.select_dtypes(exclude='object') <----------------------------- 아예 object 컬럼을 제외한 나머지 컬럼을 df에 담아도 가능한 건지 궁금합니다!
 - 
      
        
    해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
[col] [[col]] 차이
안녕하십니까 강사님, 양질의 강의로 이해하기 쉽게 준비해주셔서 감사합니다.실은 섹션 11, 예시문제 작업형 2, 16:57 쯤에 복습 중for 문을 이용하여 조금 코드를 수정해보았습니다.아래의 코드가 바로 정상 작동하는 일부 수정한 코드입니다.from sklearn.preprocessing import MinMaxScaler cols = ['총구매액', '최대구매액', '환불금액', '내점일수', '내점당구매건수', '주말방문비율', '구매주기'] for col in cols: scaler = MinMaxScaler() X_train[col] = scaler.fit_transform(X_train[[col]]) X_test[col] = scaler.transform(X_test[[col]]) X_train.head()근데 바로 위의 `LabelEncoder`을 수행한 코드를 보면 for 문과 함께 [col]로 작성이 되어있는데, 이 일부 수정된 코드에서는 [col]을 적으면 왜 이 오류가 나오는지 잘 모르겠습니다.ValueError: Expected 2D array, got 1D array instead:[[col]] 를 작성해야만 정상 작동하더군요. 혹시 LabelEncoder를 적용한 바로 위의 코드와 어떤 차이가 있어서 []을 한번 더 기입해야 하나요?.
 - 
      
        
    해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 2 - 모의고사 1 질문
기초적인 질문 드립니다. CLIENTNUM을 미삭제 시 오버피팅 때문에 삭제해야 한다고 말씀하셨는데, 이해가 되지 않아서요 ㅠ좀 더 자세한 설명 부탁드립니다. 미삭제 상태로 학습하면 결과가 어떻게 달라지나요?