0

이것은 내가 가지고있는 데이터의 예입니다. df의 길이는 1778360입니다. 검색 용어는 사람들이 검색 엔진에 입력 한 쿼리입니다. CR (전환율)은 연속적인 숫자입니다. 0에서 제한 없음으로 시작합니다.케라에서 계속 목표 값을 예측할 수 있습니까?

Search term       CR 
0 asos french connection lined mac 100 
1 hugo boss polo black    50 
2 women's pale grey trousers uk  47 
3 military jacket      8 
4 girls adidas red tracksuit top  0 

내가 원하는 것은 텍스트를 입력란으로 사용하여 CR을 예측하는 것입니다.

texts = df['Search term'] 
tags = df['CR'] 
num_max = 1000 

# preprocess 
le = LabelEncoder() 
tags = le.fit_transform(tags) 
token = Tokenizer(num_words=num_max) 
token.fit_on_texts(texts) 
mat_texts = token.texts_to_matrix(texts, mode='freq') 
print(tags[:5]) 
print(mat_texts[:5]) 
print(tags.shape, mat_texts.shape) 

# split data to train and test 
X_train, X_test, y_train, y_test = train_test_split(mat_texts, tags, train_size=0.8, random_state=1) 

# create model 
model = Sequential() 
model.add(Dense(512, input_dim=num_max, kernel_initializer='normal', activation='relu')) 
model.add(Dropout(0.5)) 
model.add(Dense(100, kernel_initializer='normal', activation='softmax')) 

# compile model 
model.compile(loss='sparse_categorical_crossentropy', optimizer='sgd', metrics=['accuracy']) 

# fit the model 
model.fit(X_train, y_train, epochs=10, batch_size=32, verbose=0, validation_data=(X_test, y_test)) 

# evaluate the model 
train_scores = model.evaluate(X_train, y_train, verbose=0) 
print("Train %s: %.2f%%" % (model.metrics_names[1], train_scores[1]*100)) 
test_scores = model.evaluate(X_test, y_test, verbose=0) 
print("Test %s: %.2f%%" % (model.metrics_names[1], test_scores[1]*100)) 

나는 결과로이있어 : 기차 작성일 : 82.53 % 테스트 작성일 : 82.48 %

내가 마지막 밀도 및 손실 함수가 맞는지 확실하지 않다. 이것은 선형 회귀와 비슷하지만 선형 회귀에 적합한 keras 모델을 찾을 수 없습니다.

누군가 도와 줄 수 있습니까? 감사.

p.s. 나는 아주 새로운 학습과 신경 네트워크입니다.

+0

[소프트웨어 개발보다는 기계 학습에 관한 내용] (https://meta.stackoverflow.com/q/291009/1233251)으로 인해이 질문을 주제와 관련이없는 것으로 보겠다. [Cross Validated] (// stats.stackexchange.com) 또는 [DataScience.SE] (// datascience.stackexchange.com)에서이 질문을 할 수 있습니다. –

답변

-1

회귀 문제의 경우 최종 밀도 층의 활성화는 'linear' 또는 'sigmoid'이어야하며 손실은 'mean_squared_error'이어야합니다.