Search

머신러닝 모델 학습 시간이 너무 긴 문제

카테고리
Python
태그
머신러닝
생성 일시
2023/02/18
상황: 머신러닝 프로젝트에서는 대규모 데이터셋에 대해 모델을 학습시키기 위해 시간이 많이 소요됩니다. 이로 인해 전체 프로젝트의 진행이 지연될 수 있습니다.
해결방안: 학습 데이터의 크기를 줄이고 학습 시간을 단축하기 위해 데이터 샘플링 기법을 사용합니다.
1.
필요한 라이브러리 설치 먼저, 학습에 필요한 라이브러리인 pandassklearn을 설치합니다.
bashCopy code pip install pandas scikit-learn
Plain Text
복사
2.
데이터 불러오기 및 샘플링 pandas 라이브러리를 사용하여 데이터를 불러온 후, sample 함수를 사용해 데이터 샘플링을 수행합니다.
pythonCopy code import pandas as pd def load_and_sample_data(csv_file, sample_ratio=0.1): data = pd.read_csv(csv_file) sampled_data = data.sample(frac=sample_ratio) return sampled_data
Python
복사
이 함수는 주어진 csv_file로부터 데이터를 불러오고, 설정된 sample_ratio에 따라 데이터를 샘플링합니다.
3.
머신러닝 모델 학습 샘플링된 데이터를 사용하여 머신러닝 모델을 학습시킵니다. 여기에서는 sklearnRandomForestClassifier를 예시로 사용합니다.
pythonCopy code from sklearn.ensemble import RandomForestClassifier from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score def train_model(sampled_data, target_column): X = sampled_data.drop(target_column, axis=1) y = sampled_data[target_column] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2) model = RandomForestClassifier() model.fit(X_train, y_train) y_pred = model.predict(X_test) accuracy = accuracy_score(y_test, y_pred) return model, accuracy
Python
복사
이 함수는 샘플링된 데이터를 사용하여 랜덤 포레스트 모델을 학습시키고, 정확도를 반환합니다.
4.
스크립트 실행 위에서 정의한 함수를 사용하여 데이터를 불러오고, 샘플링한 후 모델을 학습시킵니다.
pythonCopy code csv_file = "large_dataset.csv" target_column = "target" sampled_data = load_and_sample_data(csv_file, sample_ratio=0.1) model, accuracy = train_model(sampled_data, target_column) print(f"Model accuracy: {accuracy:.2f}")
Python
복사
이 방법을 사용하면, 학습 데이터의 크기를 줄이고 학습 시간을 단축할 쑤 있씁니다.