반응형
chatGPT 입력 명령어
판다스를 이용하여 258,259,260,261열이 23열에, 258,259,260,261열이 24열에, 258,259,260,261열이 25열에 미치는 중요도에 대해 랜덤포레스트를 이용하여 확인하고 싶은데 7열의 값이 500 이상만 훈련할수 있도록 코드 작성해줘
import pandas as pd
from sklearn.ensemble import RandomForestRegressor
df = pd.read_csv('/content/sample_data/퀀트.csv', error_bad_lines=False, encoding='euc-kr')
df_filled = df.fillna(0)
X = df_filled.iloc[:, [73, 260, 261]].values
y_23 = df_filled.iloc[:, 23].values
y_24 = df_filled.iloc[:, 24].values
y_25 = df_filled.iloc[:, 25].values
y_26 = df_filled.iloc[:, 26].values
# 랜덤 포레스트 모델 생성 및 학습
rf_23 = RandomForestRegressor(n_estimators=3, random_state=42)
rf_24 = RandomForestRegressor(n_estimators=3, random_state=42)
rf_25 = RandomForestRegressor(n_estimators=3, random_state=42)
rf_26 = RandomForestRegressor(n_estimators=3, random_state=42)
rf_23.fit(X, y_23)
rf_24.fit(X, y_24)
rf_25.fit(X, y_25)
rf_26.fit(X, y_26)
# 변수 중요도 확인
importance_23 = rf_23.feature_importances_
importance_24 = rf_24.feature_importances_
importance_25 = rf_25.feature_importances_
importance_26 = rf_26.feature_importances_
print("중요도 - 23열:", importance_23)
print("중요도 - 24열:", importance_24)
print("중요도 - 25열:", importance_25)
print("중요도 - 25열:", importance_26)
- 열23 : 3개월등락률
- 열24 : 6개월등락률
- 열25 : 9개월등락률
- 열258 : 22년 2Q yoy
- 열259 : 22년 3Q yoy
- 열260 : 22년 4Q yoy
- 열261 : 23년 1Q yoy
코드 일부 수정,
널값 채우기, 경로수정
n_estimators=3 으로 지정
>>
73열이 23열에 미치는 중요도: [0.28408673 0.49240134 0.22351193]
260열이 24열에 미치는 중요도: [0.41005958 0.33745502 0.2524854 ]
261열이 25열에 미치는 중요도: [0.39993073 0.32409631 0.27597296]
다음에 해야 할 일
1. importance(중요도) 교차표?를 확인하여 고차원 모델 만들기
2. 바이오 및 제약, 금융을 제외하고 데이터 돌려보기
3. 시가총액 500억 이상 회사들을 대상으로 데이터를 돌렸는데 작동 안 된듯 함
4. 랜덤포레스트 외의 다른 분류기 사용
5. 영업이익 > 매출액 증가하는 시점 추가하여 모델 돌리기
반응형
'주식' 카테고리의 다른 글
넥스틴 기업분석(패턴 결함 검사) 및 경쟁기업 (0) | 2023.08.29 |
---|---|
식각 파츠(Ring, Electrode, Si/SiC), 시장, 업체별 정리(티씨케이, 하나머티리얼즈, 월덱스, 케이엔제이) (0) | 2023.08.25 |
증착(LPCVD, PECVD, ALD)과 시장 업황, 관련 기업(유진테크, 주성엔지니어링, 원익IPS, 테스) (0) | 2023.08.24 |
식각의 모든 것(원리, 장비, 산업, 시장, 기업) (0) | 2023.08.20 |
주식분석(2), 퀀트에서 상관관계 분석(heatmap) (0) | 2023.07.06 |