===========================================================================================================================
Энэхүү программ нь 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)

No comments:
Post a Comment