#Library
#PHP
#SQL
#Database System
#MYSQLi
#Management Systems
이 프로젝트는 단순 도서관 관리 시스템의 프로토타입입니다. 사서는 웹페이지를 통해 ISBN 번호, 도서 제목, 저자 이름, 판 및 출판 세부정보와 같은 도서 세부정보를 추가할 수 있는 규정을 갖추고 있습니다. 이 외에도 사서 또는 모든 사용자는 도서 이름으로 도서관에서 사용 가능한 도서를 검색할 수 있는 규정을 가지고 있습니다. 데이터베이스에 도서 세부정보가 있으면 검색 세부정보가 웹페이지에 표시됩니다.
텍스트 분류 또는 텍스트 분류는 관련 사전 정의된 카테고리를 사용하여 자연어 텍스트에 레이블을 지정하는 활동입니다. 아이디어는 다양한 클래스에서 텍스트를 자동으로 구성하는 것입니다. 문서나 텍스트를 통한 검색을 대폭 단순화하고 속도를 높일 수 있습니다!
Database-Management-System-for-Library
코드의 3가지 주요 단계:
모델을 훈련하고 구축하는 동안 첫 번째 모델이 결코 최고의 모델이 될 수 없으므로 모범 사례는 '시행 착오' 방법이라는 점을 명심하세요. 해당 프로세스를 더 간단하게 만들려면 훈련용 함수를 생성하고 시도할 때마다 결과와 정확도를 저장해야 합니다.
저는 EDA 프로세스를 두 가지 범주로 분류하기로 결정했습니다. 하나는 모든 벡터화 도구와 모델에 공통적으로 적용되는 일반적인 전처리 단계이고, 다른 하나는 이를 포함하거나 포함하지 않고 모델 성능을 측정하기 위한 옵션으로 넣은 특정 전처리 단계입니다.
정확도가 높을수록 테스트 데이터에 대한 모델 성능이 향상되므로 정확도는 모델 간의 비교 척도로 선택되었습니다.
우선 Bag of Words 파일을 만들었습니다. 이 파일 clean_data.R
에는 BOW(Bag of Words)를 전처리하고 생성하는 모든 방법이 포함되어 있습니다. 우리는 전처리를 처리하고 Bag of Words를 생성하기 위해 Corpus
라이브러리를 사용합니다.
모델에 입력되는 모든 문서는 특정 형식이어야 하므로 다음과 같은 일반적인 전처리 단계가 수행되었습니다.
소문자로 변환
불용어 제거
영숫자 문자 제거
구두점 제거
벡터화: TfVectorizer가 사용되었습니다. 모델 정확도는 TfIDFVectorizer를 사용한 모델 정확도와 비교되었습니다. 모든 경우에 TfVectorizer를 사용하면 더 나은 결과를 얻을 수 있으므로 기본 Vectorizer로 선택되었습니다.
다음 단계는 선택 사항으로 사전 처리 단계에 추가되어 이러한 단계가 있을 때와 없을 때 모델 성능이 어떻게 바뀌는지 확인합니다. 1. Stemming
2. Lemmatization
3. Using Unigrams/Bigrams
clean_data.r
사용하여 생성된 Bag of Words를 사용하는 서포트 벡터 머신용 혼동 행렬
> 혼란 매트릭스(table(predsvm,data.test$folder_class))혼란 매트릭스 및 통계 predsvm 1 2 3 4 1 31 0 0 0 2 0 29 6 0 3 0 3 28 0 4 0 0 0 23전체 통계 정확도 : 0.925 95% CI : (0.8624, 0.9651) 정보 없음 비율 : 0.2833 P-값 [Acc > NIR] : < 2.2e-16 카파 : 0.8994 Mcnemar의 검정 P-값 : NA 클래스별 통계: 클래스: 1 클래스: 2 클래스: 3 클래스: 4
-가장 흥미로운 추론은 뉴스 그룹 주제가 구체적일수록 Naïve Bayes 분류자가 문서가 속한 뉴스 그룹을 더 정확하게 결정할 수 있다는 것입니다. 뉴스 그룹이 덜 구체적일수록 정확도가 급락합니다.
-기타가 아닌 모든 뉴스 그룹은 항상 최소 50%의 정확도를 갖는 정확도에서 이를 확인할 수 있습니다. 정확도 조건에 대한 하단 뉴스 그룹은 모두 talk.politics.misc에 대한 0.25% 정확도를 포함하는 기타입니다.
-그 이유는 기타 뉴스그룹에 작성된 게시물이 뉴스그룹의 실제 루트와 거의 관련이 없기 때문입니다. 기타 섹션은 "루트 뉴스 그룹" 이외의 다른 토론 주제를 수용합니다. 즉 , 분류자가 기타 뉴스 그룹의 문서를 다른 뉴스 그룹과 혼동하기가 훨씬 쉽고 분류자가 루트 뉴스 그룹을 고려하는 것조차 훨씬 어렵습니다. 대신 거기에 게시된 루트 뉴스 그룹에 관해.
-예를 들어, talk.religion.misc에 게시된 총기에 관한 게시물은 talk.politics.guns에 있는 게시물에 있는 유사한 단어를 사용해야 하기 때문에 talk.politics.guns로 쉽게 분류될 수 있습니다 . 마찬가지로 talk.politics.misc의 정치에 관한 게시물은 talk.politics.guns에 게시할 가능성이 높기 때문에 가능성이 낮습니다(여기서 와일드카드는 논의할 정치 유형에 대한 관련 섹션입니다).
pip 명령을 사용하여 randomForest를 설치하십시오: install.packages("randomForest")
pip 명령을 사용하여 캐럿 설치: install.packages("caret")
pip 명령을 사용하여 mlr 설치: install.packages("mlr")
pip 명령을 사용하여 MASS 설치: install.packages("MASS")
보고서를 다운로드하세요.
텍스트 분류에서 용어 빈도가 TF-IDF보다 나은 이유
20개 뉴스 그룹 데이터 세트에 대한 Naive Bayes 분류
단어 및 문서 빈도 분석: tf-idf
자연어 처리
K R의 가장 가까운 이웃
MLR 패키지
텍스트 마이닝 분석기 - 분석에 대한 자세한 보고서
다음 저장소를 복제하세요.
자식 클론 https://github.com/iamsivab/Database-Management-System-for-Library.git
여기에서 문제를 확인하세요.
변경하고 Pull Request를 보내세요.
편하게 연락주세요 @ [email protected]
MIT © 시바수브라마니안