Apr-27-2024, 06:57 AM
Hi
I am trying to make a program to calculate build time with old data from previous build.
But its not working as intended.
When i put in lesser values i get higher build time results.
And when i put in higher values i get lower build times.
I cant really understand why.
Can anyone help me with this?
The code so far
I am trying to make a program to calculate build time with old data from previous build.
But its not working as intended.
When i put in lesser values i get higher build time results.
And when i put in higher values i get lower build times.
I cant really understand why.
Can anyone help me with this?
The code so far
import pandas as pd from sklearn.linear_model import LinearRegression from sklearn.preprocessing import StandardScaler import os import math os.system(f'mode con: cols={119} lines={20}') # Läs in historisk data från CSV-filen (ersätt med din faktiska filväg) historical_data = pd.read_csv("historical_switch_gear_data.csv") def main(): # Extrahera relevanta kolumner X = historical_data[["Length", "Height", "CopperLength", "Breakers", "EarthBreakers", "elniva"]] y = historical_data["BuildTimeHours"] # Skala datan (valfritt, men rekommenderas för regression) scaler = StandardScaler() X_scaled = scaler.fit_transform(X) # Skapa en linjär regressionsmodell model = LinearRegression() model.fit(X_scaled, y) #El nivå print("Nivå på el:") print("1 - Utplintning av Huvudbrytare brytare") print("2 - ljusbågsvakt och utplintning av brytare") print("3 - ljusbågsvakt, utlösnings kretsar, utplintning") print("4 - ljusbågsvakt, utlösnings kretsar, utplintning, mätning och kommunikation") print("5 - ljusbågsvakt, utlösnings kretsar, utplintning, kommunikation och strömmätning med trafo") print("6 - ljusbågsvakt, utlösnings kretsar, till kretsar på HB, utplintning, mätning och kommunikation") print("7 - ljusbågsvakt, utlösnings kretsar, till kretsar på HB och utmatning, utplintning, mätning och kommunikation") print("8 - ljusbågsvakt, utlösnings kretsar, jorfelsmätning, utplintning, mätning och kommunikation") print("9 - ljusbågsvakt, utlösnings kretsar, jorfelsmätning, utplintning, mätning, kommunikation och larmtablå") print("10 - ljusbågsvakt, utlösnings kretsar, till kretsar på HB och utmatning, utplintning, kommunikation och jordfelsmätning") print("11 - Special") print("") # Användarinmatning för det nya ställverket new_data = pd.DataFrame({ "Length": [float(input("Ange längd (modul): "))], "Height": [float(input("Ange höjd (modul): "))], "CopperLength": [float(input("Ange kopparlängd (meter): "))], "Breakers": [int(input("Ange antal brytare: "))], "EarthBreakers": [int(input("Ange antal jordomkopplare: "))], "elniva": [int(input("Ange nivån på el/utrustning: "))] }) # Skala den nya datan new_data_scaled = scaler.transform(new_data) # Förutsäg byggtiden för det nya ställverket predicted_build_time = model.predict(new_data_scaled) print(f"Förväntad byggtid för det nya ställverket: {math.ceil(predicted_build_time[0])} timmar") main()The csv file data
Length,Height,CopperLength,Breakers,EarthBreakers,BuildTimeHours,elniva 50,12,380,22,2,820,4 21,12,300,22,0,123,3 40,12,280,34,2,490,4 25,12,140,22,2,445,4 13,11,102,7,0,160,3 25,12,380,20,2,497,4 73,30,540,26,4,1800,11 54,22,450,70,4,670,4 63,31,516,41,2,568,11