작업형 1의 세번째 문제를 혼자 풀고 풀이를 보며 비교해보니 답이 조금 달라 질문드립니다. import pandas as pd df = pd.read_csv("members.csv") a= df.isnull().sum() # print(a) print(a.sort_values(ascending=False).index[0]) 저는 위처럼 풀어 f1이라는 답을 냈지만 풀이의 답은 'f1'입니다. ( 작은 따옴표의 차이) 이 같은 경우에는 제 풀이가 오답이 되는 것인지 궁금합니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 제목 그대로 다중선형 회귀 분석 시에 from statsmodels.formula.api import ols model=ols('종속~독립1+유형(범주형)',data=df).fit() 하고 summary() 했을 때 유형[T.C] ,유형[T.B] 이것의 의미는 뭘까요?
안녕하세요 수치형 변수 결측치를 채울 때 X_test 데이터에는 X_test의 age 평균값이 들어가야 한다고 생각했는데 X_test['age'] 에 X_train['age']의 평균값을 넣는데 이유가 있을까요? 주당 근무시간에 대해서도 test 데이터에 train 데이터의 중앙값을 넣어주던데 같은 질문입니다!
p-value값이 0.4이므로 귀무가설을 채택한다는 것은 결국 대립가설을 기각한다는 뜻이므로 B점수가 더 높다는 것을 기각한다는 뜻인가요? 혹시나 해서 A 와 B각각 평균을 내보았더니 A는 60점대고 B는 80점대였습니다. 제가 잘못 이해했는지 모르겠는데, B의 평균이 더 높기 때문에 원래대로라면 p값이 0.05보다 작게 나왔어야 하는 것 같은데 왜 그런가요 ?
수치형 데이터 스케일링 할때, 범주형 데이터 라벨 인코딩 하듯이, 아래와 같은 방법으로 해도 되는지요? 에러가 나서, 방법이 자체가 잘 못 된건지.. 아니면 방법은 틀리지 않은데, 부분적인 코드 작성에 실수가 있는건지 .... 여쭤보고 싶습니다. ^^;; from sklearn.preprocessing import MinMaxScaler n_cols = ['Age', 'AnnualIncome', 'FamilyMembers', 'ChronicDiseases'] for n_col in n_cols : scaler = MinMaxScaler() X_train[n_col] = scaler.fit _transform(X_train[n_col]) test[n_col] = scaler.transform(test[n_col])
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 train = train.drop 할 때가 있고 target = train.pop 할 때있는데 방법이 다른 이유가 무엇인지
5회 2형 lightgbm으로 작성하면 아래와 같은 문구가 나타납니다. 혹시 어떤 부분이 잘못되었을까여?? < 코드 > x_train = pd.get_dummies(x_train) x_test = pd.get_dummies(x_test) from sklearn.model_selection import train_test_split xx_train, xx_test, yy_train, yy_test = train_test_split(x_train, y_train, test_size = 0.2, random_state = 42) import lightgbm as lgb model_g = lgb.LGBMRegressor(n_estimators = 150, max_depth = 4, random_state = 42) model_g.fit(xx_train, yy_train) pred_t_g = model_g.predict(xx_test) < 에러 메세지 > [LightGBM] [Warning] Found whitespace in feature_names, replace with underlines [LightGBM] [Info] Auto-choosing row-wise multi-threading, the overhead of testing was 0.000399 seconds. You can set force_row_wise=true to remove the overhead. And if memory is not enough, you can set force_col_wise=true . [LightGBM] [Info] Total Bins 395 [LightGBM] [Info] Number of data points in the train set: 3007, number of used features: 23 [LightGBM] [Info] Start training from score 12318.722980 [LightGBM] [Warning] No further splits with positive gain, best gain: -inf [LightGBM] [Warning] No further splits with positive gain, best gain: -inf
안녕하세요! # 주어진 데이터에서 상위 10개 국가의 접종률 평균과 하위 10개 국가의 접종률 평균을 구하고, 그 차이를 구해보세요 # (단, 100%가 넘는 접종률 제거, 소수 첫째자리까지 출력) 이 문제에서 df2 = df.groupby('country').max() 왜 이 코드가 나오는지 이해를 못하겠습니다 ㅜ 국가별로 접종률의 최대값이 나오는건가요?? 상, 하위국가를 구해야하니 국가별로 groupby를 해야하는 것은 알겠는데 max를 하는 이유는 무엇일까요?
https://www.kaggle.com/code/agileteam/t3-2-example-py/ 캐글에 올려주신 문제를 보고 있는데 위랑 아래 각각 결과가 다른데 이유를 모르겠어서 문의남깁니다. 로지스틱 회귀 문제의 계수문제는 logit으로 푸는게 맞는걸까요? import pandas as pd from sklearn.linear_model import LogisticRegression # 데이터 로드 df = pd.read_csv('/kaggle/input/bigdatacertificationkr/Titanic.csv') # 데이터 전처리 df['Gender'] = df['Gender'].map({'male': 0, 'female': 1}) # 로지스틱 회귀 모형 생성 및 학습 X = df[['Pclass', 'Gender', 'SibSp', 'Parch']] y = df['Survived'] model = LogisticRegression() model.fit(X, y) # parch 변수의 계수값 출력 print("Parch 변수의 계수값:", model.coef_[0][3]) import pandas as pd from statsmodels.formula.api import logit df = pd.read_csv("/kaggle/input/bigdatacertificationkr/Titanic.csv") formula = "Survived ~ C(Pclass) + Gender + SibSp + Parch" model = logit(formula, data=df).fit() model.params['Parch']
범주형 변수만 선택하여 아래와 같이 원핫인코딩했는데 타입이 모두 bool 바꼈습니다. 왜 int로 안바뀌는지궁금합니다. 또 bool 상태로 계속 진행해도 괜찮은가요? c_cols = ['Gender', 'Ever_Married', 'Graduated', 'Profession', 'Spending_Score', 'Var_1'] train = pd.get_dummies(train,c_cols) test = pd.get_dummies(test,c_cols)
안녕하세요 6회 작업형 3에 질문이생겨서 문의드립니다. 카이제곱 적합성검정의 경우 모든 기대빈도가 5이상일때 사용한다고 알고있었는데요 배포해주신 문제의 데이터는 보면 무증상 70% 그외 30%로 전체데이터수를 곱해 빈도로 변환해주면 [2.0, 1.0, 3.0, 14.0]입니다. 문제가 [감기약의 예상 부작용 비율과 항암약의 부작용 관찰값이 통계적으로 유의미하게 차이가 있는지 확인하려 한다. 카이 제곱 검정을 사용하여 검정 통계량을 구하시오.] 이경우 기대값에서 빈도가 5이하인 아픔: 10% 조금 아픔 5% 속 쓰림 15% 의 범주를 합쳐주고 검정을 해야하는것 아닌가요? 그냥 검정을해도 값이 나오긴하지만 이 값이 신뢰할만한 값이라고 할수있는건가요?
100만 이하의 약수가 존재하는지 확인할 때 반복문을 왜 101만까지 돌리는 건 가요? 저는 입력 받은 수까지 확인을 했었거든요... 이유가 궁금합니다! 백만보다 큰지 안 큰지 확인하기 위함인 건 알겠는데 수학적으로 이해가 좀 안 가서 질문을 드립니다. 추가적으로 알고리즘을 풀다보면 수학적인 지식이 좀 많이 부족하다고 느끼는데 어떻게 채우는 게 좋을지도 궁금합니다.. 6개월 정도 회사 다니면서 코테에만 집중해서 이직하는 게 현재 목표입니다. 제가 작성한 답안입니다. 답 도출까지는 못했습니다.
체험환경 2유형 학습중에 DataConversionWarning가 발생해서 문의드립니다. 아래와 같이 코드 작성 후에 roc_auc로 성능평가하는 과정에서 워닝이 발생했는데 이유가 무엇인가요?? # print(train.shape, test.shape) # (3500, 11) (2482, 10) # print(train.isnull().sum()) # print(test.isnull().sum()) train = train.fillna({'환불금액' : train['환불금액'].median()}) test = test.fillna({'환불금액' : test['환불금액'].median()}) # print(train.isnull().sum().sum()) # print(test.isnull().sum().sum()) # print(train.info()) # print(test.info()) # print(train.describe(include='O')) # print(test.describe(include='O')) # print(train.head()) target = train.pop('성별') train = train.drop(['회원ID'], axis=1) test_id = test.pop('회원ID') # print(train.shape, test.shape) c_train = train.select_dtypes(exclude='number') n_train = train.select_dtypes(include='number') c_test = test.select_dtypes(exclude='number') n_test = test.select_dtypes(include='number') from sklearn.preprocessing import LabelEncoder for i in c_train.columns: le = LabelEncoder() c_train[i] = le.fit_transform(c_train[[i]]) c_test[i] = le.transform(c_test[[i]]) train = pd.concat([c_train, n_train], axis=1) test = pd.concat([c_test, n_test], axis=1) # print(train.head()) # print(train.shape, test.shape) from sklearn.model_selection import train_test_split x_tr, x_val, y_tr, y_val = train_test_split(train, target, random_state=2024, test_size=0.2, stratify=target) print(x_tr.shape, x_val.shape, y_tr.shape, y_val.shape) from sklearn.ensemble import RandomForestClassifier rfc = RandomForestClassifier(random_state=2024) rfc.fit(x_tr, y_tr) pred1 = rfc.predict_proba(x_val) print(pred1[:,1].shape) print(y_val.shape) from sklearn.metrics import roc_auc_score print(roc_auc_score(y_val, pred1[:,1])) >> 프로세스가 시작되었습니다.(입력값을 직접 입력해 주세요) > (2800, 9) (700, 9) (2800,) (700,) (700,) (700,) 0.6341283030687979 /usr/local/lib/python3.9/dist-packages/sklearn/utils/validation.py:63: 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(). return f(*args, **kwargs) /usr/local/lib/python3.9/dist-packages/sklearn/utils/validation.py:63: 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(). return f(*args, **kwargs) /usr/local/lib/python3.9/dist-packages/sklearn/utils/validation.py:63: 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(). return f(*args, **kwargs) /usr/local/lib/python3.9/dist-packages/sklearn/utils/validation.py:63: 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(). return f(*args, **kwargs) 프로세스가 종료되었습니다.
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
(1) 요청사항 사용자로부터 주민등록번호를 입력받아, 성별을 '남성' 또는 '여성'으로 출력하세요. 주민등록번호 뒷자리 맨 앞자리는 성별을 나타냄 예) 800001-1231231 주민번호를 입력받으면 1을 출력하면 됨 1이면 남성, 2이면 여성을 출력하면 됨 (2) 입력코드 data = input() if data[7] == '1': print ("남성") else: print ("여성") (3) 코드결과 800001-1231231 남성 입력코드에서 data[7]이면 '-'인데, 어떻게 코드 결과가 원활하게 나올 수 있는 걸까요? 요청사항을 충족하려면, 아래와 같은 코드를 입력해야 하는 거 아닌가요?? (4) 수정코드 data1 = input() if data1.split("-")[1][0] == 1: print ("남성") else: print ("여성") 예제로 주신 코드가 오류 없이 작동하는 점이 궁금해 질문드립니다.
기출문제4-작업형1 에서 데이터의 갯수를 구하는 부분에서 강의 답안에는 len 을 사용하셨는데 아래와 같이 sum 사용시에는 에러가 나는 이유가 궁금합니다. print(len(df[cond1 & cond2 & cond3])) #6 데이터프레임의 행의 개수 print(len(cond1 & cond2 & cond3)) #8807, true/false 경우 모두 포함 print(sum(cond1 & cond2 & cond3)) #6 true만 계산 print(sum(df[cond1 & cond2 & cond3])) #오류나는 이유???