강의 순차적으로 들으면서 코랩에서 복습하고 있긴한데, 이렇게 계속 반복하면 되는걸까요? 예를들어 요약정리집이나 이런것들이 있으면 좋겠는데 실습환경에서 코드 쓰고, 실행하고 이런것만 반복하다보니 큰 틀에서의 개념이 명확해 지지가 않아서요! 혹시 제가 못 찾는걸까요 자료를 ㅠ
# 의사결정나무 from sklearn.tree import DecisionTreeClassifier dt = DecisionTreeClassifier dt.fit(X_tr[cols], y_tr) pred = dt.predict_proba(X_val[cols]) 강의 순서대로 잘 따라하고 있었는데, y 인자가 없다는 오류가 나옵니다
[리뉴얼] 처음하는 파이썬 머신러닝 부트캠프 (쉽게! 실제 캐글 문제 풀며 정리하기) [데이터분석/과학 Part2]
안녕하세요 선생님 주피터 노트북 201_REGRESSION_BIKE_SHARING_MODELS 중 Model Evaluation Test: LinearRegression 에 관하여 질문드립니다. predict_bikecount함수에서 , y_train 값을 casual_log 와 registered_log로 둔게 아닌 그냥 count 값으로 바로 사용했을때 predict값의 배열중에 음수 값으로 리턴 되는 것들이 있습니다. [코드 예시] X_train = df_train[ml_columns].copy() y_train = df_train['count'].copy() X_test = df_test[ml_columns].copy() LiRe = LinearRegression() LiRe_model = LiRe.fit (X_train, y_train) LiRe_model.predict(X_test) 리턴값 : array([-64.76111758, -55.17545696, -50.25089772, ..., 259.71536368, 271.23511233, 266.73978586]) LinearRegression 뿐만아닌 Random Forest Regressor 같은 다른 모델을 사용 할 때도 count값을 log변환 하지 않고 바로 예측하게 되면 음수값이 예측되는데요.. "kaggle 에서 rmsle로 scroing값을 제출 해야한다고 규칙이 정해져있어" log로 예측값을 변환한 후 처리하는 줄 알았는데, 그것보다 앞서 이런 회귀모델은 전부 내부적으로 처리될때 그냥 계산을 (로그변환을 하지 않고)하게되면 음수로 나오기 때문에 log처리를 해야하는건지... 정확하게 이해가 되지 않네요 어떤 이유에서 바로 count (log처리를 하지 않고) 를 예측하게 되면 음수가 리턴 되는건가요?? - 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다) - 이외의 문의등은 평생강의이므로 양해를 부탁드립니다 - 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다 - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
7회때 코딩하던 짬바로 호기롭게 갔다가 광탈했었네요... 아무리 dir help 기능 믿고 가더라도 분류, 분석 등 언제 어느 것을 사용해야하는지 충분히 몸에 익혀야되겠더라고요... 7회때 작업형3에서 사용된 로지스틱회귀모형 문제는 강의 중에서는 7회 체험링크와 7회 실제 2번문제에만 있는건가요? 7회부터 다시 복기해보려하니 못 본거 같은 기억이... 나네요.. 다시 강의를 완독해야겠찌만 import statsmodels.api as sm logit = sm.Logit(종속변수, 독립변수) 위 방법과 강의의 아래 방법이랑 같은 방법인가요? from statsmodels.formula.api import logit
왜 아래와 같이 풀면 총합이 맞지 않는지 알 수 있을까요?? import pandas as pd df = pd.read_csv("members.csv") # df.head() df = df.dropna(subset = 'views') df["f3"] = df["f3"].fillna(0) df["f3"] = df["f3"].replace('silver',0).replace('gold',2).replace('vip',3) sum(df["f3"]) 또 어떨 때는 sum(df["f3"])이라고 작성하고 어떨 때는 df["f3"].sum()으로 작성하는지 차이점도 궁금합니다
혹시 명령어를 다음과 같이 작성해도 될까요?답은 202로 동일하게 나왔습니다. df['mean'] = df.mean(axis=1) print(sum(df.loc[2001] > df.loc[2001,'mean']) + sum(df.loc[2003] < df.loc[2003,'mean']))
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 폴더 만드는 부분에서 directory_create('x/x')를 하게 되면 x에 어떤 이름을 넣어도 다 이미 만들어졌다고만 뜨고 실제 드라이브 들어가면 아무것도 폴더가 생성이 안되었는데, 왜 그런건지 잘 모르겠어요. 그리고 현재 디렉토리 위치 설정하는 것도 이런 오류가 발생하는데, 구글 드라이브 마운트 할 때는 잘 됐었는데 이런 오류가 발생하네요..! cd/~ 의 코드를 실행하면 현재 디렉토리를 cd/~에서 ~에 해당하는 디렉토리로 이동해주는게 아닌가요? 아래 사진은 현재 드라이브 디렉토리 경로입니다!
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요 저는 먼저 혼자 풀어보고 강의를 보는식으로 공부를 하는 중입니다. 베이스라인만 작성하여 아무처리 하지않고 데이터 분리후 (test size = 0.15 , random_state=2022) 최대한 영상과 똑같이 모델 훈련을 하였는데요스코어가 roc , auc , f1모두 자꾸 스코어가 1점으로 나와서 훈련율의 문제인가 싶어 런타임을 재실행하거나 그래도 자꾸 1로나오더라구요 그런데 훈련율 파라미터인 max_samples를 0.5로해도 1로 나오던게 0.01로 하니 인강과 비슷한 점수로 from sklearn.metrics import roc_auc_score, accuracy_score , f1_score model = RandomForestClassifier(random_state=2022,max_depth =5,max_samples =0.01 ) model.fit(X_tr,y_tr) pred = model.predict(X_val) pred_proba = model.predict_proba(X_val) print('roc:',roc_auc_score(y_val,pred_proba[:,1]),'\n' , 'accuracy:',accuracy_score(y_val,pred),'\n', 'f1:',f1_score(y_val,pred),'\n') >>>roc: 0.9712121212121212 accuracy: 0.8648648648648649 f1: 0.8717948717948718 이렇게 나오더라구요 뭐가 문제인걸까요...? 데이터 전체갯수가 300개가 되지않아 과적합된것같단 생각은있는데 인강에서는 저랑 똑같이 진행했는데도 불구하고 점수가 잘나와서 의문이네요 ㅠㅠ
안녕하세요. 강의 수강 중 질문이 있어 글 남깁니다. ________________________________________________________ 첫 번째 질문 이원 분산 분석 5분 30초 즈음, 모든 변수에 C()로 감싸주는게 차라리 속 편하다고 하셨는데, 만약 독립변수 중에 범주형이 아닌 수치형 변수에다가도 C()로 감싸주어도 될까요? + 인프런 AI 댓글을 보고, 결론을 요약해보았습니다. 이원 분산 분석에서 1. object형 + 범주형 특성 => 앞에 C()를 붙인다. 2. int/float형 + 범주형 특성 => 앞에 C()를 붙인다. 3. int/float형 + 범주형 특성 X => 앞에 C()를 붙이지 않는다. 요약한 내용이 맞을까요? ________________________________________________________ 두 번째 질문 또한 이원 분산 분석이 아니라, 일원 분산 분석에서 독립 변수가 범주형 변수면 C()로 감싸주어야 할까요? ________________________________________________________ 세 번째 질문 예시문제 작업형3 /로지스틱 회귀 강의 중 7분 12초 즈음에, model = logit("Survived ~ C(Gender) + SibSp + Parch + Fare", data=df).fit() 부분에 SibSp 와 Parch는 수치형이지만 범주형 특성을 띄고 있는데, 이 부분에는 C()를 왜 안하는건지 여쭤보고 싶습니다! 감사합니다!
시험에 전반적으로 궁금한 점인데요 예를 들어 작업형1 모의문제1에서 2번문제 같은경우 주어진 데이터에서 결측치가 30%이상 되는 컬럼을 찾고 해당 컬럼에 결측치가 있는 데이터(행)를 삭제 함. 이런 조건이 있는데요 이런 문제를 풀때 그냥 전체 갯수에서 30%에 해당하는 갯수 확인하고 isna().sum()이용해서 30% 넘어가는것 갯수확인하고 해당하는 column 확인해서 그냥 지정해서 지워주고 이런식으로 풀면 되는건가요? 아니면 count=len(df)*0.3 check=df.columns for i in check: if df[i].isna().sum()>count: df=df.dropna(subset=i) 이런 식으로 코드 내에 30%를 확인해서 지워주는 부분을 포함해야 하는지 궁금합니다.
10_ADVANCE-EXAMPLE-MILTI-LABEL-CLASSIFICATION 과 11_MILTI-LABEL-CLASSIFICATION-DROPOUT-BATCHNORMALIZATION 강의자료에서 맨 밑부분의 테스트셋 기반 Evaluation 에서 test_loss 를 계산할 때 전체 데이터인 10000으로 나누셨는데, 왜 그러신건지 궁금해서 질문드립니다. train 과 validation 의 loss 계산은 train_batches 와 val_batches 개수(for문 도는 횟수) 만큼만 나누셨는데 test loss 를 계산할 때는 minibatch 가 아닌 전체 데이터로 나누셔서 상대적으로 test data 의 loss 값이 작아보여서요. test_loss = 0 correct = 0 wrong_samples, wrong_preds, actual_preds = list(), list(), list() model.eval() with torch.no_grad(): for x_minibatch, y_minibatch in test_batches: y_test_pred = model(x_minibatch.view(x_minibatch.size(0), -1)) test_loss += loss_func(y_test_pred, y_minibatch) pred = torch.argmax(y_test_pred, dim=1) correct += pred.eq(y_minibatch).sum().item() wrong_idx = pred.ne(y_minibatch).nonzero()[:, 0].numpy().tolist() for index in wrong_idx: wrong_samples.append(x_minibatch[index]) wrong_preds.append(pred[index]) actual_preds.append(y_minibatch[index]) test_loss /= len(test_batches.dataset)