===========================================================================================================================
Энэхүү программ нь Python-ы Tensorflow , Keras зэрэг сангуудыг ашиглан машин сургалтын аргаар (хиймэл оюун) ажилд орохыг
хүссэн өргөдлүүдийг хиймэл оюуны тусламжтайгаар шийдвэр гаргах юм.
Өргөдлийн өгөгдлүүд:
- Ажлын туршлага , жилээр
- Ажлын туршлагын оноо (0-100)
- Ярианы чадвар
- Боловсролын түвшин
Шийдвэр:
0 - ажилд авахгүй
1- ажилд авна
==========================================================================================================================
import numpy a
import tensorflow as tf
from tensorflow import keras
import matplotlib.pyplot as plt
# 1. ӨГӨГДӨЛ БЭЛДЭХ
# Оролтын өгөгдөл: [туршлага(жил), оноо(100-аас), ярианы чадвар(0-1), боловсролын түвшин(0-2)]
# Гаралт: 0 - ажилд авахгүй, 1 - ажилд авна
# Сургалтын өгөгдөл
X_train = np.array([
[2, 65, 0.3, 1], # анхны өргөдөл
[5, 80, 0.7, 2], # хоёр дахь өргөдөл
[1, 45, 0.2, 0], # гэх мэт...
[8, 90, 0.9, 2],
[3, 70, 0.5, 1],
[0, 35, 0.1, 0],
[10, 95, 0.95, 2],
[4, 75, 0.6, 1]
])
# Харгалзах хариу (мэргэжилтний шийдвэр)
y_train = np.array([0, 1, 0, 1, 1, 0, 1, 1])
# 2. НЕЙРОН СҮЛЖЭЭГ БҮТЭЭХ
model = keras.Sequential([
keras.layers.Dense(8, activation='relu', input_shape=(4,)), # Далд давхарга
keras.layers.Dense(4, activation='relu'), # Давхарга нэмэх
keras.layers.Dense(1, activation='sigmoid') # Гаралтын давхарга
])
# 3. СҮЛЖЭЭГ ТОХИРУУЛАХ
model.compile(
optimizer='adam',
loss='binary_crossentropy',
metrics=['accuracy']
)
# 4. СУРГАЛТ ХИЙХ
print("Сургалт эхлэж байна...")
history = model.fit(
X_train,
y_train,
epochs=100,
batch_size=2,
verbose=0 # Дэлгэцэд хэт олон мэдээлэл харуулахгүй
)
# 5. ШИНЭ ӨГӨГДӨЛ ДЭЭР ТААМАГЛАЛ ХИЙХ
# Шинэ өргөдөл: [туршлага, оноо, ярианы чадвар, боловсрол]
new_applicants = np.array([
[3, 72, 0.6, 1], # 1-р өргөдөл
[6, 85, 0.8, 2], # 2-р өргөдөл
[1, 40, 0.1, 0] # 3-р өргөдөл
])
predictions = model.predict(new_applicants)
# 6. ҮР ДҮНГ ХАРУУЛАХ
print("\n" + "="*50)
print("ШИНЭ ӨРГӨДӨЛҮҮДИЙН ШИЙДВЭР:")
print("="*50)
for i, (applicant, pred) in enumerate(zip(new_applicants, predictions)):
probability = pred[0]
decision = "АЖИЛД АВАХ" if probability > 0.5 else "АЖИЛД АВАХГҮЙ"
print(f"\n{i+1}-р өргөдөл:")
print(f" Туршлага: {applicant[0]} жил")
print(f" Оноо: {applicant[1]}/100")
print(f" Ярианы чадвар: {applicant[2]:.1%}")
print(f" Боловсрол: {['Бага', 'Дунд', 'Дээд'][int(applicant[3])]}")
print(f" Магадлал: {probability:.2%}")
print(f" ШИЙДВЭР: {decision}")
# 7. СУРГАЛТЫН ТҮҮХИЙГ ХАРУУЛАХ
plt.figure(figsize=(12, 4))
plt.subplot(1, 2, 1)
plt.plot(history.history['loss'])
plt.title('Сургалтын алдаа')
plt.xlabel('Эпох')
plt.ylabel('Алдаа')
plt.subplot(1, 2, 2)
plt.plot(history.history['accuracy'])
plt.title('Сургалтын нарийвчлал')
plt.xlabel('Эпох')
plt.ylabel('Нарийвчлал')
plt.tight_layout()
plt.show()
# 8. ЗАГВАРЫН ДЭЛГЭРЭНГҮЙ МЭДЭЭЛЭЛ
print("\n" + "="*50)
print("ЗАГВАРЫН ДЭЛГЭРЭНГҮЙ МЭДЭЭЛЭЛ:")
print("="*50)
model.summary()
Monday, November 10, 2025
МАШИН СУРГАЛТЫН (ХИЙМЭЛ ОЮУНЫ) ЭНГИЙН PYTHON ПРОГРАММ
Subscribe to:
Post Comments (Atom)

![[Most Recent Quotes from www.kitco.com]](http://www.kitconet.com/charts/metals/gold/t24_au_en_usoz_2.gif)
No comments:
Post a Comment