cols =['neighbourhood_group','neighbourhood','room_type'] # from sklearn.preprocessing import LabelEncoder # for col in cols: # le = LabelEncoder() # train[col] = le.fit_transform(train[col]) # test[col] = le.fit_transform(test[col]) train = pd.get_dummies(train) test = pd.get_dummies(test) train[cols] --------------------------------------------------------------------------- KeyError Traceback (most recent call last) <ipython-input-89-9aca98e66a02> in <cell line: 14>() 12 test = pd.get_dummies(test) 13 ---> 14 train[cols] 2 frames /usr/local/lib/python3.10/dist-packages/pandas/core/indexes/base.py in _raise_if_missing(self, key, indexer, axis_name) 6247 if nmissing: 6248 if nmissing == len(indexer): -> 6249 raise KeyError(f"None of [{key}] are in the [{axis_name}]") 6250 6251 not_found = list(ensure_index(key)[missing_mask.nonzero()[0]].unique()) KeyError: "None of [Index(['neighbourhood_group', 'neighbourhood', 'room_type'], dtype='object')] are in the [columns]"
섹션19 강의 중 에러메세지와 마주하기 영상에서 에러3 : 결측치가 있는 경우, 모델 학습시 에러가 나므로 결측치를 처리해야 한다고 나와있습니다만, 코드를 실행해보니 결측치가 있는 상태에서도 에러가 나지 않고 학습이 되었습니다 영상을 제작하셨을 당시와 지금의 버전 차이로 인해 에러가 나지 않는 것 같아서 교재 작업형2 ch4 회귀 파트의 코드를 이용해 비교 확인해보았는데요, 교재의 코드에서 수치형 데이터(Item_Weight)의 결측치를 채우지 않고 모델을 실행했을 때 선형회귀 모델에서는 결측치로 인한 에러가 발생하였고, 랜덤포레스트, lightgbm에서는 에러가 발생하지 않았습니다. 저는 랜덤포레스트, lightgbm 모델을 사용하려고 하는데, 이러한 경우에도 전처리를 하는게 더 좋은 방법인지 문의드립니다. 평가지표로 확인을 해보기는 하겠지만 모델 학습에 에러가 나는게 아니라면 없는 값은 없는 대로 학습하는게 더 나을 것 같다는 생각이 들어서요. 감사합니다
안녕하세요 일코님 한글 블록저장에 대해 살펴보다가 궁금한 점이 생겨서 여쭤봅니다. 커서를 이동해서 블록선택한 다음 hwp.HAction.GetDefault("FileSaveAs_S", hwp.HParameterSet.HFileOpenSave.HSet) hwp.HParameterSet.HFileOpenSave.filename = filename hwp.HParameterSet.HFileOpenSave.Format = "HWP" hwp.HParameterSet.HFileOpenSave.Attributes = 1 hwp.HAction.Execute("FileSaveAs_S", hwp.HParameterSet.HFileOpenSave.HSet) 이 코드를 실행하면 블록 저장이 됨을 확인했습니다. 여기서 궁금한 점이 있는데요 hwp.SaveAs(hwp.Path.replace('.hwp', " - 계약서.hwp"), Format="HWP") 이 코드와의 차이점이 뭘까요? 실행하면 위에 코드는 블록저장이 되지만, 아래 코드는 전체 파일이 다른이름으로 저장되더라구요. FileSaveAs_S가 블록저장 메소드인가요? 혹시 가능하다면 한글API설명서 어디에 있는지도 알려주실 수 있을까요? 한글API설명서도 읽을 수 있는 수준이 되고싶은데 너무 어렵네요..
질문 있습니다. 아래와 같이 로짓모델에서 "B"가 사람 유형으로 이미 수치로 인코딩 되어있다고 합니다. (어른은 1, 아이는 2, 청소년은 3) 즉 B열은 수치형으로 되어 있죠. 그러나 성격은 범주형 데이터 입니다.((B = [3,1,3,2,3,...]) 그럼 B열을 C(B)로 하는게 맞는지? B로 하는게 맞는지요?( llf 값과 parameter값이 달라집니다.) from statsmodels.formula.api import logit model = logit("A ~ B + C", data=df).fit() from statsmodels.formula.api import logit model = logit("A ~ C(B) + C", data=df).fit()
from sklearn.preprocessing import LabelEncoder le=LabelEncoder() for col in cols: train[col]=le.fit_transform(train[col]) test[col]=le.transform(test[col] 이렇게 레이블 인코딩을 했는데요.. object안에 갯수가 많을 경우 fit을 통해서 매팅사전을 만드는데요. 제가 궁금한것은 매핑이 어떻게 되었는지 확인하는 방법이 궁금합니다. 예) 사과, 배, 수박, 메론이 있으면 무엇이 1, 2,3,4로 매핑되었는지 확인하고 싶을때 그 방법이 궁금합니다.
정오표(구글독스)에 P344 아메리카노 한 잔의 원두의 -> 팝콘 라지 사이즈의 로 나와있는데, H_1 : 120g이 아니다 -> 120g 보다 작다 이부분 또한 수정이 필요해보입니다. 또한 3번째 문장 "여기서 120은 팝콘의 알려진 무게 (중앙값) p-value가 0.05보다 크기 때문에 귀무가설을 채택한다." 무슨 의미인지는 알겠지만 문장이 뭔가 어색한 것 같습니다. 감사합니다.
from sklearn.preprocessing import RobustScaler cols = ['Age','AnnualIncome', 'FamilyMembers', 'ChronicDiseases',] for col in cols: scaler = RobustScaler() train[col] = scaler.fit_transform(train[col]) test[col] = scaler.fit_transform(test[col]) train ValueError: Expected a 2-dimensional container but got <class 'pandas.core.series.Series'> instead. Pass a DataFrame containing a single row (i.e. single sample) or a single column (i.e. single feature) instead. 로버스트 스케일러를 라벨인코딩처럼 for 문으로 사용안되는 것인가요? 에러가 발생하네요
custom id를 drop 하지 않고 검증 데이터 분리해서 랜덤포레스트 하면 could not convert string to float: 'CUST0734' 이러한 에러메시지가 뜨더라구요. 무조건 drop을 진행해야 하는건지.. 어쩔때 drop하고 어쩔때 안하는건지 비교가 가능할까요?
안녕하십니까 기출2 작업형 1번 - 1번문제에서 문제 : (1)주어진 데이터셋(members.csv)의 'views' 컬럼 상위 10개 데이터를 상위 10번째 값으로 대체한 후 (2)'age'컬럼에서 80 이상인 데이터의 'views' 컬럼 평균값 구하기 코드: import pandas as pd df = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p1/members.csv") df.head(5) df = df.sort_values('views',ascending=False) df.head(10) #min = df['views'][:10].min() min_value = df['views'].head(10).min() #print(min_value) = 9690 df.iloc[:10,-1] = min_value #print(df.head(11)) cond = df['age'] >= 80 =(K) print(df[cond]['views'].mean()) 문제에서 크게 (1), (2)를 구하라고 하는것 같은데 시험에서 답안을 제출할때 최종적으로 (K)부분에만 print 붙여서 제출하는게 맞을까요? Q2. 실제 시험장에서 문제를 보았을때 import pandas as pd df = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p1/members.csv") 이런 setting이 되어있나요, 아니면 문제의 데이터위치를 보고 직접 코드를 쳐야하나요?
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 강의수업 반복 수강 후에, 모의고사나 실제 기출문제 보는게 나을까요? 아니면 모의고사, 기출문제 까지 일단 같이 반복 하는게 나을까요? 그리고 작업형 3은 버리고, 1,2 위주로 학습 해도 괜찮을까요? 비전공자에다가 노베이스라서 선택과 집중 해야할거 같아서요.
ID,Segmentation 열로 최종 제출해라고 했는데 한가지 방법으로 풀기 강의에는 Segmentation만 pop으로 처리하고 1열 index 2열 pred 를 대입해서 제출을 해서요, 이와 같이 제출해도 무관한건지 궁금합니다. 그리고, 푸는방식도 바뀌는게 있을까요? 아래와 같이 하니 오류가 나는데 한가지 방법으로 풀기 방식으로 풀이가 가능할까요? target1=train.pop( 'Segmentation' ) target2=train.pop( 'ID' ) submit=pd.DataFrame({ 'ID' :target2, 'Segmentation' :pred})