Özeti : Belirli Bir Amaca Hizmet Eden Yapay Zeka Nasıl Yapılır Örnek Olarak Matematik Problemleri Çözen Yapay Zeka ort.1 mili saniye'de (4adet) problem çözer
Projenin amacı, matematik sorunlarını çözecek bir AI matematik profesörü ortaya koymak.
Matematik ve yazılım dünyalarını bir araya getirmek'de cabası.
Umarım sizlere benzer projeler yapma konusunda ilham verir.
Yapay zeka avantajları:
öncelikle verimizi oluşturalım.
Veri üretme açıklaması (def generate(unique_data):
50.000 veriyi bu kod ile kontrol ettim sağlama için hepsi başarılı !
veri seti ekde 3MB zip
Sırada 4 işlem var ;
Basit veri seti başarıyla kaydedildi: simple_dataset.csv
Kontrol edelim.
Veri seti doğru.
fakat ikinci sutunda ondalık sayılar vardı silelim
bu kod result sutunundaki (.) ve . dan sonraki sayıları siler
Projenin amacı, matematik sorunlarını çözecek bir AI matematik profesörü ortaya koymak.
Matematik ve yazılım dünyalarını bir araya getirmek'de cabası.
Umarım sizlere benzer projeler yapma konusunda ilham verir.
Yapay zeka avantajları:
- Sonsuz ömür
- Cinsiyet ve ırk ayrımcılığı yapmaz
- Ego eksikliği
- Sürekli öğrenme
- Hızlı hesaplamalar
- Duygusal zeka eksikliği
- Yaratıcılık sınırlamaları
- Ahlaki kararlar
- Teknoloji bağımlılığı
- İnsan etkileşimi zorlukları
bir matematik profesörü temel olarak hangi hesapları yapar?
Selam! Yapay zeka eğitiyorum Temel matematik hesaplarını öğretip Qlearning (devamlı öğrenme) ile eğitimine devam edip. Açıkta olan problemleri örnek Reinmann hipotezi gibi bunları çözdürmeyi amaçlıyorum Şimdilik eklediklerim bunlar aklınızda farklı bir işlem varmı ekliyebileceğim? Toplama...
mekatronik.org
öncelikle verimizi oluşturalım.
Kod:
import numpy as np
import sympy
import random
import pandas as pd
import time
def generate(unique_data):
x, y, z = sympy.symbols('x y z')
expression = sympy.sympify(random.choice([
random.randint(1, 10) * x + random.randint(1, 10) * y - random.randint(1, 10) * z,
sympy.sin(random.uniform(1, 10) * x) * sympy.cos(random.uniform(1, 10) * y),
sympy.exp(random.uniform(1, 10) * x) + sympy.log(random.uniform(1, 10) * y),
sympy.sqrt(random.uniform(1, 10) * x) * sympy.cosh(random.uniform(1, 10) * y),
random.uniform(1, 10) * sympy.atan(random.uniform(1, 10) * x) + sympy.acos(random.uniform(1, 10) * y),
sympy.tan(random.uniform(1, 10) * x) / sympy.cot(random.uniform(1, 10) * y),
sympy.E * sympy.log(random.uniform(1, 10) * x),
sympy.gamma(random.uniform(1, 10) * x) - sympy.sin(y),
sympy.atan(random.uniform(1, 10) * x) + sympy.acos(random.uniform(1, 10) * y),
sympy.sin(random.uniform(1, 10) * x) * sympy.cos(random.uniform(1, 10) * y),
sympy.log(random.uniform(1, 10) * x) + sympy.exp(random.uniform(1, 10) * y),
sympy.sqrt(random.uniform(1, 10) * x) * sympy.cosh(random.uniform(1, 10) * y),
sympy.cos(random.uniform(1, 10) * x) / sympy.tan(random.uniform(1, 10) * y),
sympy.E * sympy.log(random.uniform(1, 10) * x) + sympy.sqrt(random.uniform(1, 10) * y),
sympy.atan(random.uniform(1, 10) * x) * sympy.acos(random.uniform(1, 10) * y),
sympy.sin(random.uniform(1, 10) * x) * sympy.exp(random.uniform(1, 10) * y),
sympy.log(random.uniform(1, 10) * x) + sympy.sqrt(random.uniform(1, 10) * y),
sympy.cos(random.uniform(1, 10) * x) * sympy.atan(random.uniform(1, 10) * y),
sympy.gamma(random.uniform(1, 10) * x) + sympy.log(random.uniform(1, 10) * y),
]))
extra = [random.uniform(1, 10), random.uniform(1, 10), random.uniform(1, 10)]
expression += extra[0] * sympy.sin(extra[1] * x) + extra[2] * sympy.cos(extra[1] * y)
result = expression.evalf(subs={x: random.uniform(1, 10), y: random.uniform(1, 10), z: random.uniform(1, 10)})
while not sympy.im(result) == 0 or str(expression) in unique_data:
expression, result = generate(unique_data)
return expression, float(result)
def create_and_save_dataset(num_samples, filename, sleep_interval=10000, sleep_duration=1):
X = []
y = []
unique_data = set()
print("Veri seti oluşturuluyor...")
for i in range(num_samples):
expression, result = generate(unique_data)
X.append(str(expression))
y.append(result)
unique_data.add(str(expression))
if (i + 1) % sleep_interval == 0 and i > 0:
print(f"{i + 1} örnek oluşturuldu. {sleep_duration} saniye bekleniyor...")
time.sleep(sleep_duration)
dataset = pd.DataFrame({'Expression': X, 'Result': y})
dataset.to_csv(filename, index=False)
print(f"Veri seti başarıyla kaydedildi: {filename}")
num_samples = 500000
dataset_filename = "dataset.csv"
create_and_save_dataset(num_samples, dataset_filename)
Veri üretme açıklaması (def generate(unique_data):
- sympy.symbols('x y z'): Bu satırda, sembolik matematik işlemleri için x, y, ve z sembollerini oluşturuyoruz.
- random.choice([...]): Bu satır, rastgele bir matematik ifadesi seçmek için kullanılır. İfadenin içinde çeşitli matematiksel ifadeler bulunmaktadır, örneğin, birinci dereceden denklemler, trigonometrik fonksiyonlar, logaritma, üstel fonksiyonlar ve daha fazlası.
- extra = [random.uniform(1, 10), random.uniform(1, 10), random.uniform(1, 10)]: Bu satırda, ek bir üçlü rasgele sayı oluşturulur.
- expression += extra[0] * sympy.sin(extra[1] * x) + extra[2] * sympy.cos(extra[1] * y): Bu satırda, seçilen matematik ifadesine ek bir terim eklenir. Bu terim, sinüs ve kosinüs fonksiyonlarını içerir ve rasgele seçilen sayılarla çarpılır.
- result = expression.evalf(subs={x: random.uniform(1, 10), y: random.uniform(1, 10), z: random.uniform(1, 10)}): Bu satırda, oluşturulan matematik ifadesinin sonucu hesaplanır. subs parametresi, sembollerin yerine konacak rasgele sayıları içerir.
- while not sympy.im(result) == 0 or str(expression) in unique_data:: Bu satırda, ifadenin sonucunun gerçek sayı olup olmadığını kontrol eder ve daha önce benzer bir ifade oluşturulmuşsa tekrar oluşturmayı sağlar. Bu, benzersiz ifadelerin veri setinde bulunmasını sağlar.
- return expression, float(result): Son olarak, oluşturulan matematik ifadesi ve hesaplanan sonuç bir demet (tuple) olarak döndürülür. Matematik ifadesi sembolik olarak tutulurken, sonuç ise gerçek sayı olarak döndürülür.
50.000 veriyi bu kod ile kontrol ettim sağlama için hepsi başarılı !
veri seti ekde 3MB zip
Kod:
import sympy as sp
import pandas as pd
import numpy as np
x, y, z = sp.symbols('x y z')
dataset_filename = "/home/dataset.csv"
data = pd.read_csv(dataset_filename)
for index, row in data.iterrows():
expression_str = row['Expression']
result = row['Result']
expression = sp.sympify(expression_str)
evaluated_result = expression.evalf(subs={x: 1, y: 1, z: 1})
if np.abs(evaluated_result - result):
print(f"Doğrulama başarılı - İfade: {expression_str}, Beklenen Sonuç: {result}")
else:
print(f"Doğrulama başarısız - İfade: {expression_str}, Beklenen: {result}, Bulunan: {evaluated_result}")
Kod:
Doğrulama başarılı - İfade: 2.52404616812385*sqrt(y) + log(9.96922031281935*x) + 8.64648368313276*sin(1.34531429819818*x) + 5.58703871590028*cos(1.34531429819818*y), Beklenen Sonuç: 2.481050223672282
Doğrulama başarılı - İfade: log(4.42283006142973*y) + 8.31525699947379*sin(7.27010471326425*x) + 7.89117106932566*cos(7.27010471326425*y) + gamma(2.45783148635771*x), Beklenen Sonuç: 134213369646118.62
Doğrulama başarılı - İfade: 3.57558319505287*sin(1.42146658213888*x) + 8.21048523312551*cos(1.42146658213888*y) + tan(5.52499697038934*x)/cot(7.28305111136602*y), Beklenen Sonuç: 34.46358278596026
Doğrulama başarılı - İfade: 1.74194365337381*sqrt(y) + log(6.42774842621216*x) + 4.69977077162416*sin(4.21431183280389*x) + 3.45239214182728*cos(4.21431183280389*y), Beklenen Sonuç: 8.344045478229589
Doğrulama başarılı - İfade: 2.78789285565436*sqrt(y) + E*log(2.55043324359058*x) + 9.90935460146011*sin(6.8131569501926*x) + 7.40033404938802*cos(6.8131569501926*y), Beklenen Sonuç: 15.050009366174724
Doğrulama başarılı - İfade: 2.24911811054327*sqrt(x)*cosh(5.34953021174387*y) + 5.60108960650137*sin(2.69059382244473*x) + 7.21150188761519*cos(2.69059382244473*y), Beklenen Sonuç: 458153459524752.0
Doğrulama başarılı - İfade: 2.95473126768226*sqrt(y) + log(8.25728758433509*x) + 8.26907278726079*sin(7.74593238504447*x) + 4.38293302701512*cos(7.74593238504447*y), Beklenen Sonuç: 19.54722739023992
Doğrulama başarılı - İfade: 6*x + 2*y - 10*z + 3.21688945339719*sin(7.96203740220652*x) + 8.45498995588598*cos(7.96203740220652*y), Beklenen Sonuç: -35.136305725894736
Doğrulama başarılı - İfade: 6.94388125333111*sin(1.75552679303292*x) - sin(y) + 4.99808363800414*cos(1.75552679303292*y) + gamma(3.58791300972353*x), Beklenen Sonuç: 17505120201137.436
Doğrulama başarılı - İfade: 9.03184964685197*sin(3.69415114185243*x) + sin(4.27578613891931*x)*cos(8.75062504867735*y) + 4.02803977379167*cos(3.69415114185243*y), Beklenen Sonuç: -1.0972016782134852
Doğrulama başarılı - İfade: 3.88371567120339*sin(8.7117606790956*x) + cos(1.07728413086456*x)/tan(8.09945034606955*y) + 4.00592346115142*cos(8.7117606790956*y), Beklenen Sonuç: -0.0569176602236078
Doğrulama başarılı - İfade: exp(1.82299893105334*x) + log(6.19954897889521*y) + 6.06479785213099*sin(2.71540154110926*x) + 8.4589440148395*cos(2.71540154110926*y), Beklenen Sonuç: 8215006.481001534
Doğrulama başarılı - İfade: 1.03571157418655*sin(1.16654273755849*x) + cos(6.34673191485754*x)/tan(3.32645263023267*y) + 1.35038267672914*cos(1.16654273755849*y), Beklenen Sonuç: 1.4117770879907392
Doğrulama başarılı - İfade: 9.96920181169008*sin(3.4463151598404*x) - sin(y) + 1.5312234414003*cos(3.4463151598404*y) + gamma(4.39153292080666*x), Beklenen Sonuç: 21530.131574956373
Doğrulama başarılı - İfade: exp(1.88983817140892*x) + log(6.80644243673798*y) + 3.77918260719574*sin(5.71189247311418*x) + 5.27706308271306*cos(5.71189247311418*y), Beklenen Sonuç: 435234.96916383086
Doğrulama başarılı - İfade: 1.78134094970861*sin(7.94656092136622*x) + 9.09888782910425*cos(7.94656092136622*y) + tan(4.92914092017879*x)/cot(8.81697085196938*y), Beklenen Sonuç: 3.705176652764586
Doğrulama başarılı - İfade: E*log(9.57875209816391*x) + 6.44403856064288*sin(9.68091713791445*x) + 3.09608465566621*cos(9.68091713791445*y), Beklenen Sonuç: 17.426002050737292
Doğrulama başarılı - İfade: 3.03970076433484*sqrt(y) + log(3.81282094606658*x) + 7.9734945800946*sin(9.67988882045495*x) + 7.68523390598574*cos(9.67988882045495*y), Beklenen Sonuç: -0.1662358172464312
Doğrulama başarılı - İfade: 9.28348919152499*sin(4.91792253180636*x) + cos(1.93873846300417*x)/tan(5.79507945149786*y) + 1.09635151447802*cos(4.91792253180636*y), Beklenen Sonuç: 4.8161152900921484
Doğrulama başarılı - İfade: 1.92345013758476*sin(4.31401584477569*x) + cos(2.34006864734008*x)*atan(5.4187414218512*y) + 6.25555776981864*cos(4.31401584477569*y), Beklenen Sonuç: -6.651100258103658
Doğrulama başarılı - İfade: log(5.39681421292659*y) + 9.91684550738381*sin(8.95283759062772*x) + 7.31508904388251*cos(8.95283759062772*y) + gamma(3.05976153685722*x), Beklenen Sonuç: 1.4115906200301693e+21
Doğrulama başarılı - İfade: 9.84622525051131*sin(8.13652106738263*x) + cos(7.46965505522918*x)/tan(1.40615565584627*y) + 8.2458579632807*cos(8.13652106738263*y), Beklenen Sonuç: -11.107152099199997
Doğrulama başarılı - İfade: 1.82481381070141*sin(6.83713511438701*x) + cos(5.37555717435358*x)*atan(9.97193349788715*y) + 5.61438195166521*cos(6.83713511438701*y), Beklenen Sonuç: 3.1344973317901577
Doğrulama başarılı - İfade: exp(3.23888635447341*x) + log(7.33797857791514*y) + 9.68036606419704*sin(3.09410005820736*x) + 9.49807088125939*cos(3.09410005820736*y), Beklenen Sonuç: 1764460.5439077206
Doğrulama başarılı - İfade: 9.8963470022122*sin(6.28915500919939*x) + 9.82928339473171*cos(6.28915500919939*y) + tan(2.3225011877187*x)/cot(2.84564659805956*y), Beklenen Sonuç: 6.378506548787991
Doğrulama başarılı - İfade: 2.59264012891664*sqrt(y) + E*log(7.7055522676841*x) + 3.18612743973089*sin(7.57192336465094*x) + 9.23093909510929*cos(7.57192336465094*y), Beklenen Sonuç: 18.22357974726313
Doğrulama başarılı - İfade: 5.33813531580038*sin(8.02852701091304*x) + cos(8.08305134046327*x)*atan(7.49577113384517*y) + 2.63803175885213*cos(8.02852701091304*y), Beklenen Sonuç: 5.959822057957885
Doğrulama başarılı - İfade: 5.94224215029485*sin(2.54572640463055*x) + sin(2.92687125643057*x)*cos(6.6606648946775*y) + 2.76115355282919*cos(2.54572640463055*y), Beklenen Sonuç: 0.5477638510006755
Doğrulama başarılı - İfade: log(2.00802413892092*y) + 3.67572041706068*sin(4.35811301931773*x) + 1.02028820520956*cos(4.35811301931773*y) + gamma(7.11165355732342*x), Beklenen Sonuç: 7.509260638167253e+23
Doğrulama başarılı - İfade: exp(5.41114171504132*x) + log(1.65476523597532*y) + 4.78831876928993*sin(1.58159259554387*x) + 5.07879286868925*cos(1.58159259554387*y), Beklenen Sonuç: 40455.14645086288
Doğrulama başarılı - İfade: 2.46658989019858*sqrt(y) + log(1.42843886710613*x) + 1.99366843606006*sin(7.09121145160865*x) + 2.43589350858104*cos(7.09121145160865*y), Beklenen Sonuç: 4.777183724914667
Doğrulama başarılı - İfade: 2.45360393036515*sqrt(y) + E*log(3.67950334162133*x) + 3.24192608276729*sin(2.98074442609342*x) + 2.33589139306042*cos(2.98074442609342*y), Beklenen Sonuç: 14.992438567344236
Doğrulama başarılı - İfade: sin(4.5586616342621*x)*cos(3.15347299707803*y) + 2.96713305624799*sin(6.20692978411449*x) + 5.83448243872268*cos(6.20692978411449*y), Beklenen Sonuç: 3.916154625813392
Doğrulama başarılı - İfade: 2.69787230845618*sqrt(y) + E*log(5.26025883101791*x) + 9.78604547715001*sin(6.71115850620827*x) + 1.1729511225769*cos(6.71115850620827*y), Beklenen Sonuç: 10.444623016968997
Doğrulama başarılı - İfade: log(7.63716024388825*y) + 6.98321995941112*sin(3.13448165395864*x) + 4.19140253092628*cos(3.13448165395864*y) + gamma(7.73020373634304*x), Beklenen Sonuç: 5560923.228514314
Doğrulama başarılı - İfade: exp(2.45085739389658*y) + log(8.1063182905617*x) + 8.36094510429365*sin(5.53736754868559*x) + 8.3192381470137*cos(5.53736754868559*y), Beklenen Sonuç: 480944083.1028671
Doğrulama başarılı - İfade: 8*x + 10*y - 4*z + 5.02377216188264*sin(8.99133655442727*x) + 1.26070159515586*cos(8.99133655442727*y), Beklenen Sonuç: 43.985100151224565
Doğrulama başarılı - İfade: 3.0626429965122*sin(9.54833675144601*x) - sin(y) + 4.14291196680567*cos(9.54833675144601*y) + gamma(6.19594638814325*x), Beklenen Sonuç: 4.120638868599068e+19
Doğrulama başarılı - İfade: exp(1.60877196697208*x) + log(5.6445747774538*y) + 4.1439539593869*sin(9.62647521966884*x) + 3.2455246140211*cos(9.62647521966884*y), Beklenen Sonuç: 2314754.3560518567
Doğrulama başarılı - İfade: 1.58499028316132*sqrt(y) + log(6.32228205847774*x) + 4.66607416914116*sin(2.59420954773615*x) + 7.14197719607574*cos(2.59420954773615*y), Beklenen Sonuç: 8.145990936562821
Doğrulama başarılı - İfade: exp(1.21515774468339*x) + log(2.22219944195985*y) + 9.51875070046461*sin(8.86714636282082*x) + 5.83297888552406*cos(8.86714636282082*y), Beklenen Sonuç: 109159.96102773568
Doğrulama başarılı - İfade: 7.79441895683641*sin(3.36593252221708*x) + sin(9.81827194004036*x)*cos(8.51274029362472*y) + 7.49204552156701*cos(3.36593252221708*y), Beklenen Sonuç: 2.770611336963442
Doğrulama başarılı - İfade: 2.57703837112698*sqrt(y) + log(3.64154930583048*x) + 3.49619991321285*sin(4.10895410390592*x) + 2.427887880973*cos(4.10895410390592*y), Beklenen Sonuç: 5.542215112166699
Doğrulama başarılı - İfade: 2.60320356657738*sqrt(x)*cosh(2.90264806852753*y) + 6.88656813368873*sin(1.30496278852658*x) + 8.29181059442178*cos(1.30496278852658*y), Beklenen Sonuç: 11009.551380034434
Doğrulama başarılı - İfade: 3.39053395253419*sin(9.67262438900904*x) + cos(2.29391081732101*x)/tan(4.09190113676802*y) + 8.03476808656744*cos(9.67262438900904*y), Beklenen Sonuç: 9.54972723157572
Doğrulama başarılı - İfade: sin(3.12921179463812*x)*cos(6.32872643233547*y) + 2.20598933317486*sin(9.22339103953859*x) + 7.53232334474996*cos(9.22339103953859*y), Beklenen Sonuç: -4.615332466931509
Doğrulama başarılı - İfade: 2.94533093253504*sqrt(x)*cosh(3.96077254203936*y) + 6.58651400524476*sin(8.05367247749767*x) + 8.75456189713007*cos(8.05367247749767*y), Beklenen Sonuç: 116427316.3770971
Doğrulama başarılı - İfade: 4.14703096552612*sin(2.91192776735945*x) + cos(8.54394216181723*x)/tan(2.82889250921148*y) + 3.87384543942097*cos(2.91192776735945*y), Beklenen Sonuç: -1.840768363617432
Doğrulama başarılı - İfade: 7.75062748096267*sin(7.11363458848304*x) + cos(1.97006003598515*x)*atan(1.6463005915579*y) + 6.75234239536238*cos(7.11363458848304*y), Beklenen Sonuç: -0.6218407592905421
Doğrulama başarılı - İfade: E*log(8.62163134613869*x) + 8.0407081652883*sin(7.00745954938615*x) + 1.06466582015032*cos(7.00745954938615*y), Beklenen Sonuç: 11.200412353785069
Doğrulama başarılı - İfade: 2.87329790355996*sqrt(y) + log(1.9622761201167*x) + 5.04931455973823*sin(5.51407358465103*x) + 5.59171544774257*cos(5.51407358465103*y), Beklenen Sonuç: 13.313402749219303
Doğrulama başarılı - İfade: 3.84169405198284*sin(1.90912341324156*x) + 4.90971275884397*cos(1.90912341324156*y) + tan(7.16028731655945*x)/cot(6.85386148997409*y), Beklenen Sonuç: 4.381265696146642
Doğrulama başarılı - İfade: 2.814263374739*sqrt(x)*cosh(9.97181855012996*y) + 2.19102966611904*sin(8.25956552391331*x) + 2.26077908530304*cos(8.25956552391331*y), Beklenen Sonuç: 2.651898722234715e+17
Doğrulama başarılı - İfade: exp(9.11891539483909*x) + log(5.27348205152008*y) + 9.57363795251695*sin(9.2079303352277*x) + 5.73739769746616*cos(9.2079303352277*y), Beklenen Sonuç: 4.695053743436198e+25
Doğrulama başarılı - İfade: 2.31791406856277*sqrt(x)*cosh(2.87282150708626*y) + 7.83399720834767*sin(5.67658518855625*x) + 3.05117297405707*cos(5.67658518855625*y), Beklenen Sonuç: 4360.4470090193845
Doğrulama başarılı - İfade: 2.06912664346749*sin(1.17068161276669*x) + 8.98240554617749*cos(1.17068161276669*y) + tan(7.70047371393127*x)/cot(4.61308159802589*y), Beklenen Sonuç: -0.42381217884446
Doğrulama başarılı - İfade: 6.87707306270927*sin(5.03515606139213*x) + cos(3.68222127490352*x)*atan(8.72786908706491*y) + 3.89591986765555*cos(5.03515606139213*y), Beklenen Sonuç: -2.26366665478757
Doğrulama başarılı - İfade: 4*x + 7*y - 8*z + 2.40862410209493*sin(7.3208639960401*x) + 9.23422009669715*cos(7.3208639960401*y), Beklenen Sonuç: 61.06611829025186
Doğrulama başarılı - İfade: 1.62021450888568*sqrt(y) + log(7.09493815765448*x) + 8.81669289695706*sin(4.47746281856813*x) + 9.64345623618247*cos(4.47746281856813*y), Beklenen Sonuç: -8.250537749439703
Doğrulama başarılı - İfade: 2.38980886976411*sqrt(y) + E*log(2.50148420202695*x) + 1.77115603391584*sin(9.92294078960212*x) + 2.90845701552092*cos(9.92294078960212*y), Beklenen Sonuç: 6.61832882333386
Doğrulama başarılı - İfade: exp(5.7583852707892*y) + log(9.82971179265181*x) + 4.41514579584731*sin(4.77284368125755*x) + 4.7109935876098*cos(4.77284368125755*y), Beklenen Sonuç: 55043900.29340709
Doğrulama başarılı - İfade: exp(3.75988798143153*y)*sin(2.16091874574934*x) + 9.28813195857646*sin(4.05845077298158*x) + 4.96096662296255*cos(4.05845077298158*y), Beklenen Sonuç: -50884688797.85669
Doğrulama başarılı - İfade: exp(6.61498495048627*y)*sin(8.89638434327955*x) + 4.50634952971394*sin(2.3732306522693*x) + 7.72718795545459*cos(2.3732306522693*y), Beklenen Sonuç: 1.701741662860942e+19
Doğrulama başarılı - İfade: exp(4.8699242518088*y) + log(8.94995953078072*x) + 3.07230710844934*sin(7.40891288271358*x) + 4.55455272462228*cos(7.40891288271358*y), Beklenen Sonuç: 20402594075852.164
Doğrulama başarılı - İfade: E*log(5.51846733854974*x) + 2.74812301432418*sin(3.64797613829689*x) + 6.13785411316134*cos(3.64797613829689*y), Beklenen Sonuç: 10.529551748602056
Doğrulama başarılı - İfade: log(8.04543048581745*y) + 9.00916134969576*sin(2.15668931745494*x) + 5.4221765904071*cos(2.15668931745494*y) + gamma(2.35806387931298*x), Beklenen Sonuç: 148322.7918394545
Doğrulama başarılı - İfade: 4.42788349440058*sin(5.8974948240161*x) + 9.88259429824573*cos(5.8974948240161*y) + tan(3.09357882685403*x)/cot(1.91164010644234*y), Beklenen Sonuç: -4.51712902367509
Doğrulama başarılı - İfade: 2.87866513229574*sqrt(x)*cosh(3.75796206186864*y) + 2.47680215751029*sin(9.19217743692683*x) + 8.87092427548388*cos(9.19217743692683*y), Beklenen Sonuç: 6185.424360049077
Doğrulama başarılı - İfade: exp(3.91602655230338*y) + log(8.66676529109222*x) + 7.86578643962901*sin(8.43243613434869*x) + 6.98486106923086*cos(8.43243613434869*y), Beklenen Sonuç: 15312639.376415832
Doğrulama başarılı - İfade: 2.02952214000267*sin(9.00670004794017*x) + cos(1.46613748799461*x)*atan(9.83505661739209*y) + 7.72073421094514*cos(9.00670004794017*y), Beklenen Sonuç: 8.091824659211095
Doğrulama başarılı - İfade: 2.80305318225653*sqrt(y) + E*log(5.67847270344613*x) + 4.35617434087466*sin(3.38410386263459*x) + 5.06451022596128*cos(3.38410386263459*y), Beklenen Sonuç: 15.194867679414502
Doğrulama başarılı - İfade: 8.45371546971132*sin(6.38362923611694*x) + 5.25744395199337*cos(6.38362923611694*y) + tan(8.7109799040229*x)/cot(4.65129068363776*y), Beklenen Sonuç: -2.192799339294349
Doğrulama başarılı - İfade: 2.48205523385537*sin(7.03114612770205*x) + sin(9.77832010119406*x)*cos(9.73435833511016*y) + 7.70486902973011*cos(7.03114612770205*y), Beklenen Sonuç: -6.193375714636935
Doğrulama başarılı - İfade: 2.42233847674892*sqrt(x)*cosh(6.86232631313724*y) + 9.66496924342263*sin(4.18235243900385*x) + 5.6109219735979*cos(4.18235243900385*y), Beklenen Sonuç: 142713716265522.2
Doğrulama başarılı - İfade: log(7.17907676399703*y) + 4.07763522549489*sin(7.38708505451754*x) + 3.34054045050847*cos(7.38708505451754*y) + gamma(1.39574485500962*x), Beklenen Sonuç: 5955796.868411529
Doğrulama başarılı - İfade: 1.77038868636899*sqrt(y) + E*log(2.52192485744359*x) + 4.68155925981237*sin(8.00249255748836*x) + 3.49831374577129*cos(8.00249255748836*y), Beklenen Sonuç: 15.102560308786316
Doğrulama başarılı - İfade: 3.52217087559082*sin(2.70664153295618*x) + 4.47431195326776*cos(2.70664153295618*y) + tan(3.57226756613214*x)/cot(3.34859260274289*y), Beklenen Sonuç: -6.525638662786816
Doğrulama başarılı - İfade: 7*x + 7*y - 8*z + 2.95660952376594*sin(8.11956522875895*x) + 1.5899990673213*cos(8.11956522875895*y), Beklenen Sonuç: 74.37270457133592
Doğrulama başarılı - İfade: 2.52341599971417*sin(4.52806594328053*x) + sin(9.67631566722068*x)*cos(9.44621840569057*y) + 9.90005856056054*cos(4.52806594328053*y), Beklenen Sonuç: -9.935120448385009
Doğrulama başarılı - İfade: 7.85915757438151*sin(2.72052846729949*x) + cos(2.49036650634772*x)/tan(6.67850108423883*y) + 5.60990414809476*cos(2.72052846729949*y), Beklenen Sonuç: 6.8226298580899725
Doğrulama başarılı - İfade: 2.92624657279947*sqrt(y) + log(9.58182585845433*x) + 4.87104317950192*sin(3.98172791126163*x) + 5.4145998115944*cos(3.98172791126163*y), Beklenen Sonuç: 2.789308629387403
Doğrulama başarılı - İfade: x + y - z + 7.25408789615868*sin(9.39132690534117*x) + 6.85444261076373*cos(9.39132690534117*y), Beklenen Sonuç: -2.3826420172785627
Doğrulama başarılı - İfade: 6.94000299560468*sin(8.17548257784*x) - sin(y) + 6.88032444199195*cos(8.17548257784*y) + gamma(9.59706168231799*x), Beklenen Sonuç: 1.1953865398075857e+24
Doğrulama başarılı - İfade: 6.44286325476491*sin(7.01937726446972*x) - sin(y) + 7.22947550520126*cos(7.01937726446972*y) + gamma(8.2249691086856*x), Beklenen Sonuç: 818835.6678111912
Doğrulama başarılı - İfade: 2.42841254332522*sqrt(y) + log(7.45356928503367*x) + 9.20578085349286*sin(8.50146556907309*x) + 6.19622627783376*cos(8.50146556907309*y), Beklenen Sonuç: 7.020519389762562
Doğrulama başarılı - İfade: 3.04354126154525*sqrt(x)*cosh(6.53295788898143*y) + 9.67796332692166*sin(6.44215667224969*x) + 3.22264668815384*cos(6.44215667224969*y), Beklenen Sonuç: 3.730199213032192e+20
Doğrulama başarılı - İfade: 1.44726098365819*sqrt(y) + log(2.24796596266848*x) + 7.40809987591602*sin(9.8847292633639*x) + 6.34163530218609*cos(9.8847292633639*y), Beklenen Sonuç: 10.363155145875124
Doğrulama başarılı - İfade: 2.21137619898923*sqrt(y) + log(8.30019489328127*x) + 2.84671624938809*sin(7.33316110576805*x) + 8.37764825004006*cos(7.33316110576805*y), Beklenen Sonuç: 13.615688010046185
Doğrulama başarılı - İfade: exp(7.18649683168982*y)*sin(8.29734050343891*x) + 5.89176152005974*sin(6.03031823083412*x) + 9.52138291755185*cos(6.03031823083412*y), Beklenen Sonuç: 1.8453217228727712e+17
Doğrulama başarılı - İfade: 2.63446779228279*sqrt(y) + log(5.98361327496527*x) + 3.15537289587272*sin(6.94668885204131*x) + 3.84926194811753*cos(6.94668885204131*y), Beklenen Sonuç: 13.00461155637386
Doğrulama başarılı - İfade: 6*x + 6*y - 4*z + 2.62768002945765*sin(6.74853836988694*x) + 4.792173106692*cos(6.74853836988694*y), Beklenen Sonuç: 72.74847238355149
Doğrulama başarılı - İfade: 2.73263999212469*sqrt(x)*cosh(6.89044672701144*y) + 5.78823398885318*sin(3.98386747248112*x) + 4.24693193981742*cos(3.98386747248112*y), Beklenen Sonuç: 1.825172810955448e+28
Doğrulama başarılı - İfade: exp(7.47828176309763*y)*sin(8.50562858489639*x) + 6.7687068282844*sin(6.967859433157*x) + 6.68520347719983*cos(6.967859433157*y), Beklenen Sonuç: -1764567038595.095
Doğrulama başarılı - İfade: 1.63385687580733*sqrt(x)*cosh(5.22418758479109*y) + 7.78711447252596*sin(5.83221896965469*x) + 4.13748175460793*cos(5.83221896965469*y), Beklenen Sonuç: 11713095.478445854
Doğrulama başarılı - İfade: 3.07023616355065*sqrt(x)*cosh(1.37415946289714*y) + 4.89470484588646*sin(5.64574573458514*x) + 7.82867910962031*cos(5.64574573458514*y), Beklenen Sonuç: 74.24811553992619
Doğrulama başarılı - İfade: 6*x + 4*y - z + 9.69942953760632*sin(5.31388128675083*x) + 8.36606423402404*cos(5.31388128675083*y), Beklenen Sonuç: 30.61860915664875
Doğrulama başarılı - İfade: 4.54083146528902*sin(7.23581052912569*x) + 1.44852590780804*cos(7.23581052912569*y) + tan(5.79620157908339*x)/cot(3.02294503043163*y), Beklenen Sonuç: 2.976575201719976
Doğrulama başarılı - İfade: exp(1.48300292269405*y)*sin(3.96101259707921*x) + 8.98562325137532*sin(9.11515694510631*x) + 5.75033105584608*cos(9.11515694510631*y), Beklenen Sonuç: -34255.880063488585
Doğrulama başarılı - İfade: 3.78955503305879*sin(5.60203886795261*x) + 8.11135053069878*cos(5.60203886795261*y) + tan(7.80006681951*x)/cot(7.31800588014632*y), Beklenen Sonuç: 10.156176158071048
Doğrulama başarılı - İfade: E*log(4.88259431909288*x) + 4.46618747114967*sin(9.0857649742924*x) + 4.96729019293182*cos(9.0857649742924*y), Beklenen Sonuç: 4.816019968847367
Doğrulama başarılı - İfade: 9.6365843525853*sin(4.37913132020831*x) - sin(y) + 5.05657607003384*cos(4.37913132020831*y) + gamma(6.13270829898442*x), Beklenen Sonuç: 2.7085596699534084e+78
Doğrulama başarılı - İfade: exp(3.4926790732071*y)*sin(1.68167635311257*x) + 6.86216535368965*sin(2.86053687513667*x) + 9.92343474659459*cos(2.86053687513667*y), Beklenen Sonuç: 28055.19875393568
Doğrulama başarılı - İfade: 1.70084927398739*sqrt(x)*cosh(9.30089488315484*y) + 4.97422287277255*sin(3.55762933976613*x) + 6.11808308661882*cos(3.55762933976613*y), Beklenen Sonuç: 1.6308378095141038e+31
Doğrulama başarılı - İfade: exp(8.58667872380039*x) + log(8.06631522429496*y) + 9.85218060152354*sin(6.554942457451*x) + 6.23507635096676*cos(6.554942457451*y), Beklenen Sonuç: 11608128851607.775
Doğrulama başarılı - İfade: E*log(1.82605915700969*x) + 3.01001261826879*sin(4.02000391792111*x) + 6.71458446794625*cos(4.02000391792111*y), Beklenen Sonuç: -2.3926954540693925
Doğrulama başarılı - İfade: 1.0394576669872*sin(2.88187968618098*x) + sin(5.03184571290834*x)*cos(8.93804066676269*y) + 7.57834001313348*cos(2.88187968618098*y), Beklenen Sonuç: -5.019177463383341
Doğrulama başarılı - İfade: exp(7.56154409013626*y)*sin(4.61377972132251*x) + 3.09795643648884*sin(1.40074633929231*x) + 4.26321872120269*cos(1.40074633929231*y), Beklenen Sonuç: -517393534666.1054
Doğrulama başarılı - İfade: exp(1.18042091564612*y)*sin(6.80990285855806*x) + 2.93561690343854*sin(6.19258979961239*x) + 9.14364958532737*cos(6.19258979961239*y), Beklenen Sonuç: 1058.9387132659408
Doğrulama başarılı - İfade: 8.90641012349551*sin(9.16958618608532*x) - sin(y) + 6.28629911851857*cos(9.16958618608532*y) + gamma(7.31026762891098*x), Beklenen Sonuç: 3.075772355583265e+58
Doğrulama başarılı - İfade: exp(2.91693524196545*x) + log(1.16306566232528*y) + 3.95530908817138*sin(7.02330796052027*x) + 2.62226033951646*cos(7.02330796052027*y), Beklenen Sonuç: 13329048.378391284
Doğrulama başarılı - İfade: E*log(8.22481996954809*x) + 8.31009140180735*sin(1.86572332216174*x) + 2.34219199456793*cos(1.86572332216174*y), Beklenen Sonuç: 20.40529185324065
Doğrulama başarılı
Sırada 4 işlem var ;
Kod:
import random
import pandas as pd
import time
def generate4islem(unique_data):
operators = ['+', '-', '*', '/']
num1 = random.randint(1, 100)
num2 = random.randint(1, 100)
operator = random.choice(operators)
if operator == '/' and num1 % num2 != 0:
return generate4islem(unique_data)
expression = f"{num1} {operator} {num2}"
result = eval(expression)
while expression in unique_data or result < 0 or result % 1 != 0:
num1 = random.randint(1, 100)
num2 = random.randint(1, 100)
operator = random.choice(operators)
if operator == '/' and num1 % num2 != 0:
continue
expression = f"{num1} {operator} {num2}"
result = eval(expression)
return expression, result
def create_and_save_simple_dataset(num_samples, filename, sleep_interval=100, sleep_duration=1):
X = []
y = []
unique_data = set()
print("Basit veri seti oluşturuluyor...")
for i in range(num_samples):
expression, result = generate4islem(unique_data)
X.append(expression)
y.append(result)
unique_data.add(expression)
if (i + 1) % sleep_interval == 0 and i > 0:
print(f"{i + 1} örnek oluşturuldu. {sleep_duration} saniye bekleniyor...")
time.sleep(sleep_duration)
dataset = pd.DataFrame({'Expression': X, 'Result': y})
dataset.to_csv(filename, index=False)
print(f"Basit veri seti başarıyla kaydedildi: {filename}")
num_samples_simple = 1000
simple_dataset_filename = "simple_dataset.csv"
create_and_save_simple_dataset(num_samples_simple, simple_dataset_filename)
Basit veri seti başarıyla kaydedildi: simple_dataset.csv
Kontrol edelim.
Kod:
import pandas as pd
def check_dataset(filename):
df = pd.read_csv(filename)
errors = 0
for index, row in df.iterrows():
expression = row['Expression']
result = row['Result']
try:
if eval(expression) != result:
print(f"Hata: İfade: {expression}, Beklenen Sonuç: {result}, Gerçek Sonuç: {eval(expression)}")
errors += 1
except Exception as e:
print(f"Hata: İfade: {expression}, Hata Mesajı: {str(e)}")
errors += 1
if errors == 0:
print("Veri seti doğru.")
else:
print(f"{errors} hata bulundu.")
dataset_filename = "simple_dataset.csv"
check_dataset(dataset_filename)
Veri seti doğru.
fakat ikinci sutunda ondalık sayılar vardı silelim
bu kod result sutunundaki (.) ve . dan sonraki sayıları siler
Kod:
import pandas as pd
def removezerosdot(filename):
df = pd.read_csv(filename)
df['Result'] = df['Result'].apply(lambda x: int(x) if x.is_integer() else x)
df.to_csv(filename, index=False)
print(f"Dosya güncellendi: {filename}")
dataset_filename = "simple_dataset.csv"
removezerosdot(dataset_filename)
Ekler
Son düzenleme: