초보자를 위한 Python의 최고의 기계 학습 프로젝트 [2022]

게시 됨: 2021-01-03

머신 러닝 전문가가 되려면 해당 기술을 사용하여 경험을 쌓아야 합니다. 가장 좋은 방법은 프로젝트를 완료하는 것입니다. 그렇기 때문에 이 기사에서는 빠르게 기술 테스트를 시작하고 귀중한 경험을 얻을 수 있도록 Python으로 여러 기계 학습 프로젝트를 공유합니다.

그러나 시작하기 전에 기계 학습 및 해당 알고리즘에 대해 잘 알고 있는지 확인하십시오. 이전에 프로젝트에서 작업한 적이 없더라도 한 프로젝트에 대한 자세한 자습서도 공유했기 때문에 걱정하지 마십시오.

목차

홍채 데이터세트: 초보자를 위한 것

Iris 데이터 세트는 Python에서 가장 인기 있는 기계 학습 프로젝트 중 하나입니다. 상대적으로 작지만 단순하고 컴팩트한 크기로 초보자에게 적합합니다. Python에서 기계 학습 프로젝트에 대해 작업한 적이 없다면 시작해야 합니다. Iris 데이터셋은 꽃창포의 꽃받침과 꽃잎 크기의 모음입니다. 3개의 클래스가 있으며 각 클래스에는 50개의 인스턴스가 있습니다.

다양한 위치에서 샘플 코드를 제공했지만 작동 방식을 이해하는 데만 사용해야 합니다. 코드를 이해하지 않고 구현하면 프로젝트 수행의 전제가 실패합니다. 따라서 구현하기 전에 코드를 잘 이해해야 합니다.

1단계: 라이브러리 가져오기

모든 기계 학습 프로젝트의 첫 번째 단계는 라이브러리를 가져오는 것입니다. Python이 다재다능한 주된 이유는 강력한 라이브러리 때문입니다. 이 프로젝트에 필요한 라이브러리는 다음과 같습니다.

  • 판다
  • 매트플롯립
  • 스클런
  • 사이파이
  • 넘파이

라이브러리를 시스템으로 가져오는 방법에는 여러 가지가 있으며 모든 라이브러리를 가져오려면 특정 방법을 사용해야 합니다. 일관성을 보장하고 혼란을 피하는 데 도움이 됩니다. 설치는 장치의 운영 체제에 따라 다르므로 라이브러리를 가져올 때 염두에 두십시오.

암호:

# 라이브러리 로드

팬더에서 read_csv 가져오기

pandas.plotting에서 scatter_matrix 가져오기

matplotlib에서 pyplot 가져오기

sklearn.model_selection import train_test_split에서

sklearn.model_selection에서 cross_val_score 가져오기

sklearn.model_selection 가져오기 StratifiedKFold에서

sklearn.metrics 가져오기 분류 보고서에서

sklearn.metrics에서 혼동_매트릭스 가져오기

sklearn.metrics에서 정확도_점수 가져오기

sklearn.linear_model에서 LogisticRegression 가져오기

sklearn.tree에서 DecisionTreeClassifier 가져오기

sklearn.neighbors에서 KNeighborsClassifier 가져오기

sklearn.discriminant_analysis에서 가져오기 LinearDiscriminantAnalysis

sklearn.naive_bayes에서 GaussianNB 가져오기

sklearn.svm 가져오기 SVC에서

읽기: 초보자를 위한 상위 10가지 기계 학습 데이터 세트 프로젝트 아이디어

2단계: 데이터세트 로드

라이브러리를 가져온 후 데이터 세트를 로드할 차례입니다. 논의한 대로 이 프로젝트에서는 Iris 데이터 세트를 사용합니다. 여기 에서 다운로드할 수 있습니다 .

데이터를 로드하는 동안 모든 열의 이름을 지정했는지 확인하십시오. 그러면 나중에 프로젝트에서 도움이 됩니다. 데이터 세트를 다운로드하는 것이 좋으므로 연결 문제가 발생하더라도 프로젝트는 영향을 받지 않습니다.

암호:

# 데이터세트 로드

url = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv"

이름 = ['꽃받침 길이', '꽃받침 너비', '꽃잎 길이', '꽃잎 너비', '클래스']

데이터 세트 = read_csv(url, 이름=이름)

3단계: 요약

데이터 세트를 사용하기 전에 먼저 데이터 세트에 있는 데이터를 살펴봐야 합니다. 먼저 데이터 세트의 차원을 확인하여 데이터 세트에 5개의 속성과 150개의 인스턴스가 있음을 보여줍니다.

차원을 확인한 후 데이터 세트의 몇 가지 행과 열을 보고 내용에 대한 일반적인 아이디어를 얻어야 합니다. 그런 다음 데이터 세트의 통계 요약을 보고 동일한 데이터 세트에서 가장 널리 퍼진 메트릭을 확인해야 합니다.

마지막으로 데이터 세트의 클래스 분포를 확인해야 합니다. 즉, 각 클래스에 속하는 인스턴스 수를 확인해야 합니다. 데이터 세트를 요약하는 코드는 다음과 같습니다.

# 데이터 요약

팬더에서 read_csv 가져오기

# 데이터세트 로드

url = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv"

이름 = ['꽃받침 길이', '꽃받침 너비', '꽃잎 길이', '꽃잎 너비', '클래스']

데이터 세트 = read_csv(url, 이름=이름)

# 모양

인쇄(dataset.shape)

# 머리

인쇄(dataset.head(20))

# 설명

인쇄(데이터세트.설명())

# 클래스 분포

print(dataset.groupby('class').size())

4단계: 데이터 시각화

데이터 세트를 요약한 후에는 더 나은 이해와 분석을 위해 시각화해야 합니다. 일변량 플롯을 사용하여 모든 속성을 자세히 분석하고 다변량 플롯을 사용하여 모든 기능의 관계를 연구할 수 있습니다. 데이터 시각화는 데이터 세트 내에 있는 필수 정보를 찾는 데 도움이 되므로 머신 러닝 프로젝트의 중요한 측면입니다.

5단계: 알고리즘 평가

데이터를 시각화한 후 여러 알고리즘을 평가하여 프로젝트에 가장 적합한 모델을 찾습니다. 먼저 원본 데이터 집합에서 가져올 유효성 검사 데이터 집합을 만듭니다. 그런 다음 10겹 교차 검증을 사용하여 다양한 모델을 생성합니다. 이미 논의한 바와 같이, 우리는 꽃의 측정을 통해 종을 예측하는 것을 목표로 합니다. 다양한 종류의 알고리즘을 사용하고 최상의 결과를 산출하는 알고리즘을 선택해야 합니다. SVM(Support Vector Machines), KNN(K-Nearest Neighbors), LR(Logistic Regression) 등을 테스트할 수 있습니다.

우리의 구현에서 우리는 SVM이 최고의 모델임을 발견했습니다. 코드는 다음과 같습니다.

팬더에서 read_csv 가져오기

matplotlib에서 pyplot 가져오기

sklearn.model_selection import train_test_split에서

sklearn.model_selection에서 cross_val_score 가져오기

sklearn.model_selection 가져오기 StratifiedKFold에서

sklearn.linear_model에서 LogisticRegression 가져오기

sklearn.tree에서 DecisionTreeClassifier 가져오기

sklearn.neighbors에서 KNeighborsClassifier 가져오기

sklearn.discriminant_analysis에서 가져오기 LinearDiscriminantAnalysis

sklearn.naive_bayes에서 GaussianNB 가져오기

sklearn.svm 가져오기 SVC에서

# 데이터세트 로드

url = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv"

이름 = ['꽃받침 길이', '꽃받침 너비', '꽃잎 길이', '꽃잎 너비', '클래스']

데이터 세트 = read_csv(url, 이름=이름)

# 분할 검증 데이터세트

배열 = 데이터세트.값

X = 배열[:,0:4]

y = 배열[:,4]

X_train, X_validation, Y_train, Y_validation = train_test_split(X, y, test_size=0.20, random_state=1, shuffle=True)

# 스팟 체크 알고리즘

모델 = []

models.append(('LR', LogisticRegression(solver='liblinear', multi_class='ovr')))

models.append(('LDA', LinearDiscriminantAnalysis()))

models.append(('KNN', KNeighborsClassifier()))

models.append(('카트', DecisionTreeClassifier()))

models.append(('NB', GaussianNB()))

models.append(('SVM', SVC(감마='자동')))

# 각 모델을 차례로 평가

결과 = []

이름 = []

이름, 모델의 모델:

kfold = StratifiedKFold(n_splits=10, random_state=1, shuffle=True)

cv_results = cross_val_score(모델, X_train, Y_train, cv=kfold, 스코어링='정확도')

result.append(cv_results)

이름.추가(이름)

print('%s: %f (%f)' % (이름, cv_results.mean(), cv_results.std()))

# 알고리즘 비교

pyplot.boxplot(결과, 레이블=이름)

pyplot.title('알고리즘 비교')

pyplot.show()

6단계: 예측

다양한 알고리즘을 평가하고 최상의 알고리즘을 선택한 후에는 결과를 예측할 차례입니다. 먼저 유효성 테스트 데이터 세트에서 모델을 사용하여 정확성을 테스트합니다. 그런 다음 전체 데이터 세트에서 테스트합니다.

다음은 데이터세트에서 모델을 실행하기 위한 코드입니다.

# 예상하다

팬더에서 read_csv 가져오기

sklearn.model_selection import train_test_split에서

sklearn.metrics 가져오기 분류 보고서에서

sklearn.metrics에서 혼동_매트릭스 가져오기

sklearn.metrics에서 정확도_점수 가져오기

sklearn.svm 가져오기 SVC에서

# 데이터세트 로드

url = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv"

이름 = ['꽃받침 길이', '꽃받침 너비', '꽃잎 길이', '꽃잎 너비', '클래스']

데이터 세트 = read_csv(url, 이름=이름)

# 분할 검증 데이터세트

배열 = 데이터세트.값

X = 배열[:,0:4]

y = 배열[:,4]

X_train, X_validation, Y_train, Y_validation = train_test_split(X, y, test_size=0.20, random_state=1)

# 검증 데이터셋에 대한 예측

모델 = SVC(감마='자동')

model.fit(X_train, Y_train)

예측 = model.predict(X_validation)

# 예측 평가

print(accuracy_score(Y_validation, 예측))

print(confusion_matrix(Y_validation, 예측))

print(classification_report(Y_validation, 예측))

그게 다야 이제 Iris 데이터 세트를 사용하여 Python에서 기계 학습 프로젝트를 완료했습니다.

Python의 추가 기계 학습 프로젝트

Iris 데이터셋은 주로 초보자를 위한 것입니다. Python에서 기계 학습 프로젝트 작업 경험이 있는 경우 아래 프로젝트를 살펴봐야 합니다.

1. ML을 사용하여 주가 예측

기계 학습 알고리즘을 적용하기에 좋은 곳은 주식 시장입니다. 기업들은 AI 알고리즘과 ML 기반 기술을 활용해 기술적 분석을 꽤 오래전부터 수행하고 있다. 주가를 예측하는 ML 모델을 구축할 수도 있습니다.

그러나 이 프로젝트에서 작업하려면 회귀 분석, 예측 분석, 통계 모델링 및 작업 분석을 포함한 여러 기술을 사용해야 합니다. 증권 거래소의 공식 웹 사이트에서 필요한 데이터를 얻을 수 있습니다. 그들은 주식의 과거 실적에 대한 데이터를 공유합니다. 해당 데이터를 사용하여 모델을 훈련하고 테스트할 수 있습니다.

초보자는 특정 회사에 집중하고 3개월 동안의 주식 가치를 예측할 수 있습니다. 마찬가지로, 프로젝트를 어렵게 만들고 싶다면 여러 회사를 이용하고 예측 일정을 연장할 수 있습니다.

이 프로젝트에서 배울 내용:

이 프로젝트를 통해 금융 산업에서 AI 및 ML의 응용 프로그램에 익숙해질 수 있습니다. 이 프로젝트를 통해 예측 분석을 연구하고 다양한 알고리즘을 시도할 수도 있습니다.

2. 처음부터 기계 학습 알고리즘 작성

초보자이고 Python에서 기계 학습 프로젝트에 대해 작업한 적이 없다면 이 프로젝트로 시작할 수도 있습니다. 이 프로젝트에서는 ML 알고리즘을 처음부터 빌드해야 합니다. 이 프로젝트를 수행하면 알고리즘 기능의 모든 기본 사항을 이해하는 데 도움이 되며 수학 공식을 기계 학습 코드로 변환하는 방법도 배울 수 있습니다.

앞으로 여러 번 구현해야 하므로 수학적 개념을 ML 코드로 변환하는 방법을 아는 것이 중요합니다. 고급 문제를 다루게 되면 이 기술에 의존해야 합니다. 개념에 대한 친숙도에 따라 알고리즘을 선택할 수 있습니다. 경험이 부족하다면 간단한 알고리즘으로 시작하는 것이 가장 좋습니다.

이 프로젝트에서 배울 내용:

인공 지능과 기계 학습의 수학적 개념에 익숙해질 것입니다.

3. 필기 리더 만들기

이것은 컴퓨터 비전 프로젝트입니다. 컴퓨터 비전은 이미지 분석과 관련된 인공 지능 분야입니다. 이 프로젝트에서는 필기를 읽을 수 있는 ML 모델을 만듭니다. 읽기는 모델이 종이에 쓰여진 내용을 인식할 수 있어야 함을 의미합니다. 딥 러닝 및 관련 개념에 익숙해지려면 이 프로젝트에서 신경망을 사용해야 합니다.

먼저 이미지를 사전 처리하고 불필요한 섹션을 제거해야 합니다. 즉, 명확성을 위해 이미지에 데이터 정리를 수행합니다. 그런 다음 알고리즘이 문자를 올바르게 읽을 수 있도록 이미지의 분할 및 크기 조정을 수행해야 합니다. 전처리 및 세분화가 완료되면 다음 단계인 분류로 이동할 수 있습니다. 분류 알고리즘은 텍스트에 있는 문자를 구별하여 해당 범주에 넣습니다.

로그 시그모이드 활성화를 사용하여 이 프로젝트에 대한 ML 알고리즘을 훈련할 수 있습니다.

이 프로젝트에서 배울 내용:

컴퓨터 비전과 신경망을 배우게 됩니다. 이 프로젝트를 완료하면 이미지 인식 및 분석에도 익숙해질 것입니다.

4. 판매 예측자

소매 부문에는 AI 및 기계 학습을 위한 많은 응용 프로그램이 있습니다. 이 프로젝트에서는 이러한 응용 프로그램 중 하나, 즉 제품 판매 예측을 발견할 것입니다.

머신 러닝 애호가들 사이에서 널리 퍼진 데이터 세트는 BigMart 판매 데이터 세트입니다. 10개 도시의 다양한 매장에 1559개 이상의 제품을 보유하고 있습니다. 데이터 세트를 사용하여 회귀 모델을 작성할 수 있습니다. 아울렛에 따르면 모델은 다음 해에 특정 제품의 잠재적인 판매를 예측해야 합니다. 이 데이터 세트에는 속성과 둘 사이의 관계를 빠르게 이해할 수 있도록 모든 매장과 제품에 대한 특정 속성이 있습니다.

이 프로젝트에서 배울 내용:

이 프로젝트에서 작업하면 회귀 모델 및 예측 분석에 익숙해질 것입니다. 또한 소매 부문에서 기계 학습의 응용 프로그램에 대해서도 배우게 됩니다.

기계 학습 및 Python에 대해 자세히 알아보기

이 Python의 기계 학습 프로젝트 목록이 유용했기를 바랍니다. 질문이나 생각이 있으면 댓글 섹션을 통해 알려주십시오. 귀하의 질문에 답변해 드리겠습니다.

세계 최고의 대학에서 데이터 과학 과정배우십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.

다음은 기계 학습 및 Python을 연구하기 위한 몇 가지 추가 리소스입니다.

  • 파이썬 튜토리얼
  • 머신 러닝 대 딥러닝
  • 머신 러닝 애플리케이션

반면에 보다 개인화된 학습 경험을 원한다면 AI 및 ML 과정을 수강할 수 있습니다. 비디오, 과제 및 프로젝트를 통해 업계 전문가로부터 배우게 됩니다.

머신 러닝이 좋은 직업 선택입니까?

새로운 기술과 관련 뉴스에 관심이 많다면 머신러닝 기술이 가져온 4차 산업혁명에 대해 이미 들어봤을 것입니다. 보고서에 따르면 기계 학습을 위한 세계 시장은 2023년까지 INR 5,430억 INR에 도달할 것으로 예상됩니다. 그러나 숙련된 기계 학습 전문가의 수요와 공급 격차는 거의 125%까지 증가했습니다. 이는 적절한 기술 조합을 갖춘 머신 러닝 전문가에게 취업 시장이 많은 가능성을 제시한다는 것을 의미합니다. 머신 러닝 엔지니어, 연구 엔지니어 또는 연구 과학자가 되기를 열망하든 이는 의심할 여지 없이 풍부한 경력이 될 것입니다.

새 가방이 기계 학습 작업을 수행할 수 있습니까?

오늘날 대부분의 기계 학습 작업에는 숙련된 전문가가 필요하지만 시장의 엄청난 수요로 인해 신입생을 위한 옵션도 증가하고 있습니다. 초보자에게는 어려울 수 있지만 기계 학습 직업을 얻는 것이 확실히 불가능한 것은 아닙니다. 필요한 기술을 마스터하고 잘 수행하는 방법에 대한 계획을 세우고 현장의 경험 많은 선수들로부터 빠르게 배울 수 있다면 꿈의 직업도 얻을 수 있습니다. 더 많은 가치를 추가하기 위해 관련 인증을 취득하고, 신뢰할 수 있는 플랫폼에서 기계 학습 과정에 등록하고, 몇 가지 실습 프로젝트를 시도하고, 최신 기술 뉴스 및 트렌드를 따르고, 온라인 커뮤니티에 가입하는 것과 같은 옵션을 고려할 수 있습니다.

기계 학습 엔지니어는 얼마를 벌까요?

glassdoor.in의 데이터에 따르면 인도의 기계 학습 엔지니어가 받는 평균 급여는 연간 약 INR 8.2 lakhs입니다. 이제 평균 수입은 기술, 인증, 경험, 위치 등과 같은 여러 요인에 따라 달라집니다. 그러나 더 많은 업무 경험을 통해 수입을 늘릴 수 있습니다. 예를 들어, 수석 기계 학습 엔지니어는 평균 INR 13~15 lakhs 범위에서 벌 수 있습니다.